|
|
|
|
@ -21,6 +21,7 @@ namespace Debugger.AddIn.TreeModel
@@ -21,6 +21,7 @@ namespace Debugger.AddIn.TreeModel
|
|
|
|
|
public class ValueNode: AbstractNode, ISetText, IContextMenu |
|
|
|
|
{ |
|
|
|
|
Expression expression; |
|
|
|
|
bool canSetText; |
|
|
|
|
|
|
|
|
|
public Expression Expression { |
|
|
|
|
get { return expression; } |
|
|
|
|
@ -30,6 +31,15 @@ namespace Debugger.AddIn.TreeModel
@@ -30,6 +31,15 @@ namespace Debugger.AddIn.TreeModel
|
|
|
|
|
{ |
|
|
|
|
this.expression = val.Expression; |
|
|
|
|
|
|
|
|
|
canSetText = false; |
|
|
|
|
if (val.IsPrimitive) { |
|
|
|
|
canSetText = |
|
|
|
|
(val.Expression is LocalVariableIdentifierExpression) || |
|
|
|
|
(val.Expression is ParameterIdentifierExpression) || |
|
|
|
|
(val.Expression is ArrayIndexerExpression) || |
|
|
|
|
(val.Expression is MemberReferenceExpression && ((MemberReferenceExpression)val.Expression).MemberInfo is FieldInfo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (val.IsObject) { |
|
|
|
|
this.Image = DebuggerIcons.ImageList.Images[0]; // Class
|
|
|
|
|
} else { |
|
|
|
|
@ -60,6 +70,12 @@ namespace Debugger.AddIn.TreeModel
@@ -60,6 +70,12 @@ namespace Debugger.AddIn.TreeModel
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool CanSetText { |
|
|
|
|
get { |
|
|
|
|
return canSetText; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public bool SetText(string newText) |
|
|
|
|
{ |
|
|
|
|
Value val = null; |
|
|
|
|
|