Browse Source

The console is able to box values;

Added Value.IsReference property

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3237 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 18 years ago
parent
commit
9218a36d0b
  1. 3
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs
  2. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ConsolePad.cs
  3. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs
  4. 5
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs
  5. 4
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Primitive.cs
  6. 62
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs
  7. 7
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ArrayValue.cs
  8. 34
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugTypes.cs
  9. 12
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs
  10. 14
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.cs
  11. 5
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.cs
  12. 20
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionVariablesLifetime.cs
  13. 18
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs
  14. 4
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/PrimitiveValue.cs
  15. 1
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueType.cs

3
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs

@ -28,6 +28,9 @@ namespace Debugger.AddIn
// Calculate right first so that left does not get invalidated by its calculation // Calculate right first so that left does not get invalidated by its calculation
Value right = ((Value)assignmentExpression.Right.AcceptVisitor(this, null)).GetPermanentReference(); Value right = ((Value)assignmentExpression.Right.AcceptVisitor(this, null)).GetPermanentReference();
Value left = (Value)assignmentExpression.Left.AcceptVisitor(this, null); Value left = (Value)assignmentExpression.Left.AcceptVisitor(this, null);
if (!left.IsReference && left.Type.FullName != right.Type.FullName) {
throw new GetValueException(string.Format("Type {0} expected, {1} seen", left.Type.FullName, right.Type.FullName));
}
left.SetValue(right); left.SetValue(right);
return right; return right;
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/ConsolePad.cs

@ -80,7 +80,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
try { try {
Value val = AstEvaluator.Evaluate(code, SupportedLanguage.CSharp, process.SelectedStackFrame); Value val = AstEvaluator.Evaluate(code, SupportedLanguage.CSharp, process.SelectedStackFrame);
if (val != null) { if (val != null) {
return string.Format("{0} ({1})", val.AsString, val.Type.FullName); return val.InvokeToString();
} else { } else {
return string.Empty; return string.Empty;
} }

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs

@ -24,7 +24,7 @@ namespace Debugger
if (IsNull) throw new GetValueException("Value is null"); if (IsNull) throw new GetValueException("Value is null");
if (!this.Type.IsArray) throw new DebuggerException("Value is not an array"); if (!this.Type.IsArray) throw new DebuggerException("Value is not an array");
return this.CorValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugArrayValue>(); return this.CorReferenceValue.Dereference().CastTo<ICorDebugArrayValue>();
} }
} }

5
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs

@ -22,12 +22,12 @@ namespace Debugger
if (IsNull) throw new GetValueException("Value is null"); if (IsNull) throw new GetValueException("Value is null");
if (this.Type.IsClass) { if (this.Type.IsClass) {
return this.CorValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugObjectValue>(); return this.CorReferenceValue.Dereference().CastTo<ICorDebugObjectValue>();
} }
if (this.Type.IsValueType) { if (this.Type.IsValueType) {
if (this.CorValue.Is<ICorDebugReferenceValue>()) { if (this.CorValue.Is<ICorDebugReferenceValue>()) {
// Dereference and unbox // Dereference and unbox
return this.CorValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugBoxValue>().Object; return this.CorReferenceValue.Dereference().CastTo<ICorDebugBoxValue>().Object;
} else { } else {
return this.CorValue.CastTo<ICorDebugObjectValue>(); return this.CorValue.CastTo<ICorDebugObjectValue>();
} }
@ -240,6 +240,7 @@ namespace Debugger
public string InvokeToString() public string InvokeToString()
{ {
if (this.Type.IsPrimitive) return AsString; if (this.Type.IsPrimitive) return AsString;
if (this.Type.IsPointer) return "0x" + this.PointerAddress.ToString("X");
// if (!IsObject) // Can invoke on primitives // if (!IsObject) // Can invoke on primitives
return Eval.InvokeMethod(Process, this.Type.AppDomainID, typeof(object), "ToString", this, new Value[] {}).AsString; return Eval.InvokeMethod(Process, this.Type.AppDomainID, typeof(object), "ToString", this, new Value[] {}).AsString;
} }

4
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Primitive.cs

@ -21,7 +21,7 @@ namespace Debugger
// Dereference and unbox // Dereference and unbox
if (this.CorValue.Is<ICorDebugReferenceValue>()) { if (this.CorValue.Is<ICorDebugReferenceValue>()) {
return this.CorValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugBoxValue>().Object.CastTo<ICorDebugGenericValue>(); return this.CorReferenceValue.Dereference().CastTo<ICorDebugBoxValue>().Object.CastTo<ICorDebugGenericValue>();
} else { } else {
return this.CorValue.CastTo<ICorDebugGenericValue>(); return this.CorValue.CastTo<ICorDebugGenericValue>();
} }
@ -38,7 +38,7 @@ namespace Debugger
if (!this.Type.IsPrimitive) throw new DebuggerException("Value is not a primitive type"); if (!this.Type.IsPrimitive) throw new DebuggerException("Value is not a primitive type");
if (this.Type.IsString) { if (this.Type.IsString) {
if (this.IsNull) return null; if (this.IsNull) return null;
return this.CorValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugStringValue>().String; return this.CorReferenceValue.Dereference().CastTo<ICorDebugStringValue>().String;
} else { } else {
return CorGenericValue.Value; return CorGenericValue.Value;
} }

62
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs

@ -83,6 +83,42 @@ namespace Debugger
} }
} }
ICorDebugReferenceValue CorReferenceValue {
get {
if (!this.IsReference) throw new DebuggerException("Reference value expected");
return this.CorValue.CastTo<ICorDebugReferenceValue>();
}
}
/// <summary> Gets value indication whether the value is a reference </summary>
/// <remarks> Value types also return true if they are boxed </remarks>
public bool IsReference {
get {
return this.CorValue.Is<ICorDebugReferenceValue>();
}
}
Value Box()
{
byte[] rawValue = this.CorGenericValue.RawValue;
// Box the value type
ICorDebugValue corValue;
if (this.Type.IsPrimitive) {
// Get value type for the primive type
corValue = Eval.NewObjectNoConstructor(DebugType.Create(process, null, this.Type.FullName)).CorValue;
} else {
corValue = Eval.NewObjectNoConstructor(this.Type).CorValue;
}
// Make the reference to box permanent
corValue = corValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugHeapValue2>().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo<ICorDebugValue>();
// Create new value
Value newValue = new Value(process, expression, corValue);
// Copy the data inside the box
newValue.CorGenericValue.RawValue = rawValue;
return newValue;
}
public Value GetPermanentReference() public Value GetPermanentReference()
{ {
ICorDebugValue corValue = this.CorValue; ICorDebugValue corValue = this.CorValue;
@ -91,20 +127,7 @@ namespace Debugger
} }
if (this.Type.IsValueType || this.Type.IsPrimitive) { if (this.Type.IsValueType || this.Type.IsPrimitive) {
if (!corValue.Is<ICorDebugReferenceValue>()) { if (!corValue.Is<ICorDebugReferenceValue>()) {
// Box the value type return this.Box();
if (this.Type.IsPrimitive) {
// Get value type for the primive type
corValue = Eval.NewObjectNoConstructor(DebugType.Create(process, null, this.Type.FullName)).CorValue;
} else {
corValue = Eval.NewObjectNoConstructor(this.Type).CorValue;
}
// Make the reference to box permanent
corValue = corValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugHeapValue2>().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo<ICorDebugValue>();
// Create new value
Value newValue = new Value(process, expression, corValue);
// Copy the data inside the box
newValue.CorGenericValue.RawValue = this.CorGenericValue.RawValue;
return newValue;
} else { } else {
// Make the reference to box permanent // Make the reference to box permanent
corValue = corValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugHeapValue2>().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo<ICorDebugValue>(); corValue = corValue.CastTo<ICorDebugReferenceValue>().Dereference().CastTo<ICorDebugHeapValue2>().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo<ICorDebugValue>();
@ -167,18 +190,15 @@ namespace Debugger
/// <summary> Copy the acutal value from some other Value object </summary> /// <summary> Copy the acutal value from some other Value object </summary>
public void SetValue(Value newValue) public void SetValue(Value newValue)
{ {
ICorDebugValue corValue = this.CorValue;
ICorDebugValue newCorValue = newValue.CorValue; ICorDebugValue newCorValue = newValue.CorValue;
if (corValue.Is<ICorDebugReferenceValue>()) { if (this.IsReference) {
if (newCorValue.Is<ICorDebugObjectValue>()) { if (!newCorValue.Is<ICorDebugReferenceValue>()) {
ICorDebugValue box = Eval.NewObjectNoConstructor(newValue.Type).CorValue; newCorValue = newValue.Box().CorValue;
newCorValue = box;
} }
corValue.CastTo<ICorDebugReferenceValue>().SetValue(newCorValue.CastTo<ICorDebugReferenceValue>().Value); corValue.CastTo<ICorDebugReferenceValue>().SetValue(newCorValue.CastTo<ICorDebugReferenceValue>().Value);
} else { } else {
corValue.CastTo<ICorDebugGenericValue>().RawValue = corValue.CastTo<ICorDebugGenericValue>().RawValue = newValue.CorGenericValue.RawValue;
newCorValue.CastTo<ICorDebugGenericValue>().RawValue;
} }
} }

7
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ArrayValue.cs

@ -64,6 +64,7 @@ namespace Debugger.Tests {
Expression="array" Expression="array"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32[]" /> Type="System.Int32[]" />
</array> </array>
@ -77,6 +78,7 @@ namespace Debugger.Tests {
Expression="array[0]" Expression="array[0]"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -89,6 +91,7 @@ namespace Debugger.Tests {
Expression="array[1]" Expression="array[1]"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="1" PrimitiveValue="1"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -101,6 +104,7 @@ namespace Debugger.Tests {
Expression="array[2]" Expression="array[2]"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="2" PrimitiveValue="2"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -113,6 +117,7 @@ namespace Debugger.Tests {
Expression="array[3]" Expression="array[3]"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="3" PrimitiveValue="3"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -125,6 +130,7 @@ namespace Debugger.Tests {
Expression="array[4]" Expression="array[4]"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="4" PrimitiveValue="4"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -172,6 +178,7 @@ namespace Debugger.Tests {
Expression="array.Length" Expression="array.Length"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="5" PrimitiveValue="5"
Type="System.Int32" /> Type="System.Int32" />
</array.Length> </array.Length>

34
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugTypes.cs

@ -118,6 +118,7 @@ namespace Debugger.Tests {
Expression="nullMyClass" Expression="nullMyClass"
IsInvalid="False" IsInvalid="False"
IsNull="True" IsNull="True"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="MyClass"> Type="MyClass">
<Type> <Type>
@ -143,6 +144,7 @@ namespace Debugger.Tests {
Expression="nullObject" Expression="nullObject"
IsInvalid="False" IsInvalid="False"
IsNull="True" IsNull="True"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -168,6 +170,7 @@ namespace Debugger.Tests {
Expression="nullString" Expression="nullString"
IsInvalid="False" IsInvalid="False"
IsNull="True" IsNull="True"
IsReference="True"
PrimitiveValue="null" PrimitiveValue="null"
Type="System.String"> Type="System.String">
<Type> <Type>
@ -193,6 +196,7 @@ namespace Debugger.Tests {
Expression="obj" Expression="obj"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -218,6 +222,7 @@ namespace Debugger.Tests {
Expression="loc" Expression="loc"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="42" PrimitiveValue="42"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -243,6 +248,7 @@ namespace Debugger.Tests {
Expression="locByRef" Expression="locByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="43" PrimitiveValue="43"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -268,6 +274,7 @@ namespace Debugger.Tests {
Expression="locPtr" Expression="locPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32*"> Type="System.Int32*">
<Type> <Type>
@ -304,6 +311,7 @@ namespace Debugger.Tests {
Expression="locPtrByRef" Expression="locPtrByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32*"> Type="System.Int32*">
<Type> <Type>
@ -340,6 +348,7 @@ namespace Debugger.Tests {
Expression="locPtrPtr" Expression="locPtrPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32**"> Type="System.Int32**">
<Type> <Type>
@ -387,6 +396,7 @@ namespace Debugger.Tests {
Expression="locVoidPtr" Expression="locVoidPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Void*"> Type="System.Void*">
<Type> <Type>
@ -423,6 +433,7 @@ namespace Debugger.Tests {
Expression="locObj" Expression="locObj"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -448,6 +459,7 @@ namespace Debugger.Tests {
Expression="locObjByRef" Expression="locObjByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -473,6 +485,7 @@ namespace Debugger.Tests {
Expression="locSZArray" Expression="locSZArray"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Char[]"> Type="System.Char[]">
<Type> <Type>
@ -509,6 +522,7 @@ namespace Debugger.Tests {
Expression="locArray" Expression="locArray"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Char[,]"> Type="System.Char[,]">
<Type> <Type>
@ -545,6 +559,7 @@ namespace Debugger.Tests {
Expression="locStruct" Expression="locStruct"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Point"> Type="Point">
<Type> <Type>
@ -570,6 +585,7 @@ namespace Debugger.Tests {
Expression="locStructPtr" Expression="locStructPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Point*"> Type="Point*">
<Type> <Type>
@ -606,6 +622,7 @@ namespace Debugger.Tests {
Expression="box" Expression="box"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -631,6 +648,7 @@ namespace Debugger.Tests {
Expression="myInterfaceImpl" Expression="myInterfaceImpl"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="MyInterfaceImpl"> Type="MyInterfaceImpl">
<Type> <Type>
@ -656,6 +674,7 @@ namespace Debugger.Tests {
Expression="myInterface" Expression="myInterface"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="MyInterfaceImpl"> Type="MyInterfaceImpl">
<Type> <Type>
@ -686,6 +705,7 @@ namespace Debugger.Tests {
Expression="arg" Expression="arg"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="42" PrimitiveValue="42"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -711,6 +731,7 @@ namespace Debugger.Tests {
Expression="argByRef" Expression="argByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="43" PrimitiveValue="43"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -736,6 +757,7 @@ namespace Debugger.Tests {
Expression="argPtr" Expression="argPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32*"> Type="System.Int32*">
<Type> <Type>
@ -772,6 +794,7 @@ namespace Debugger.Tests {
Expression="argPtrByRef" Expression="argPtrByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32*"> Type="System.Int32*">
<Type> <Type>
@ -808,6 +831,7 @@ namespace Debugger.Tests {
Expression="argPtrPtr" Expression="argPtrPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32**"> Type="System.Int32**">
<Type> <Type>
@ -855,6 +879,7 @@ namespace Debugger.Tests {
Expression="argVoidPtr" Expression="argVoidPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Void*"> Type="System.Void*">
<Type> <Type>
@ -891,6 +916,7 @@ namespace Debugger.Tests {
Expression="argObj" Expression="argObj"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -916,6 +942,7 @@ namespace Debugger.Tests {
Expression="argObjByRef" Expression="argObjByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object"> Type="System.Object">
<Type> <Type>
@ -941,6 +968,7 @@ namespace Debugger.Tests {
Expression="argSZArray" Expression="argSZArray"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Char[]"> Type="System.Char[]">
<Type> <Type>
@ -977,6 +1005,7 @@ namespace Debugger.Tests {
Expression="argArray" Expression="argArray"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Char[,]"> Type="System.Char[,]">
<Type> <Type>
@ -1013,6 +1042,7 @@ namespace Debugger.Tests {
Expression="argStruct" Expression="argStruct"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Point"> Type="Point">
<Type> <Type>
@ -1038,6 +1068,7 @@ namespace Debugger.Tests {
Expression="argStructByRef" Expression="argStructByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Point"> Type="Point">
<Type> <Type>
@ -1063,6 +1094,7 @@ namespace Debugger.Tests {
Expression="argStructPtr" Expression="argStructPtr"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Point*"> Type="Point*">
<Type> <Type>
@ -1099,6 +1131,7 @@ namespace Debugger.Tests {
Expression="argBox" Expression="argBox"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -1124,6 +1157,7 @@ namespace Debugger.Tests {
Expression="argBoxByRef" Expression="argBoxByRef"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>

12
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs

@ -89,6 +89,7 @@ namespace Debugger.Tests {
Expression="arg" Expression="arg"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="argValue" PrimitiveValue="argValue"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -105,6 +106,7 @@ namespace Debugger.Tests {
Expression="i" Expression="i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -117,6 +119,7 @@ namespace Debugger.Tests {
Expression="array" Expression="array"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -129,6 +132,7 @@ namespace Debugger.Tests {
Expression="array2" Expression="array2"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[,]" /> Type="System.String[,]" />
</Item> </Item>
@ -143,6 +147,7 @@ namespace Debugger.Tests {
Expression="this.name" Expression="this.name"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="derived name" PrimitiveValue="derived name"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -155,6 +160,7 @@ namespace Debugger.Tests {
Expression="this.Value" Expression="this.Value"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="derived value" PrimitiveValue="derived value"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -167,6 +173,7 @@ namespace Debugger.Tests {
Expression="this.field" Expression="this.field"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="field value" PrimitiveValue="field value"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -179,6 +186,7 @@ namespace Debugger.Tests {
Expression="this.array" Expression="this.array"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -191,6 +199,7 @@ namespace Debugger.Tests {
Expression="this.Name" Expression="this.Name"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="derived name" PrimitiveValue="derived name"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -203,6 +212,7 @@ namespace Debugger.Tests {
Expression="this.name" Expression="this.name"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="base name" PrimitiveValue="base name"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -215,6 +225,7 @@ namespace Debugger.Tests {
Expression="this.Value" Expression="this.Value"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="base value" PrimitiveValue="base value"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -227,6 +238,7 @@ namespace Debugger.Tests {
Expression="this.Name" Expression="this.Name"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="base name" PrimitiveValue="base name"
Type="System.String" /> Type="System.String" />
</Item> </Item>

14
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.cs

@ -106,6 +106,7 @@ namespace Debugger.Tests {
Expression="i" Expression="i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="1" PrimitiveValue="1"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -118,6 +119,7 @@ namespace Debugger.Tests {
Expression="s" Expression="s"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="A" PrimitiveValue="A"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -130,6 +132,7 @@ namespace Debugger.Tests {
Expression="s_null" Expression="s_null"
IsInvalid="False" IsInvalid="False"
IsNull="True" IsNull="True"
IsReference="True"
PrimitiveValue="null" PrimitiveValue="null"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -142,6 +145,7 @@ namespace Debugger.Tests {
Expression="ref_i" Expression="ref_i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="2" PrimitiveValue="2"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -154,6 +158,7 @@ namespace Debugger.Tests {
Expression="out_i" Expression="out_i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="3" PrimitiveValue="3"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -166,6 +171,7 @@ namespace Debugger.Tests {
Expression="out_i2" Expression="out_i2"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -178,6 +184,7 @@ namespace Debugger.Tests {
Expression="ref_s" Expression="ref_s"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="B" PrimitiveValue="B"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -190,6 +197,7 @@ namespace Debugger.Tests {
Expression="iNull" Expression="iNull"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Nullable&lt;System.Int32&gt;" /> Type="System.Nullable&lt;System.Int32&gt;" />
</Item> </Item>
@ -202,6 +210,7 @@ namespace Debugger.Tests {
Expression="iNull_null" Expression="iNull_null"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Nullable&lt;System.Int32&gt;" /> Type="System.Nullable&lt;System.Int32&gt;" />
</Item> </Item>
@ -219,6 +228,7 @@ namespace Debugger.Tests {
Expression="args" Expression="args"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -236,6 +246,7 @@ namespace Debugger.Tests {
Expression="args" Expression="args"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -253,6 +264,7 @@ namespace Debugger.Tests {
Expression="args" Expression="args"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -270,6 +282,7 @@ namespace Debugger.Tests {
Expression="i" Expression="i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="1" PrimitiveValue="1"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -282,6 +295,7 @@ namespace Debugger.Tests {
Expression="s" Expression="s"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="A" PrimitiveValue="A"
Type="System.String" /> Type="System.String" />
</Item> </Item>

5
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.cs

@ -61,6 +61,7 @@ namespace Debugger.Tests {
Expression="i" Expression="i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -73,6 +74,7 @@ namespace Debugger.Tests {
Expression="s" Expression="s"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="S" PrimitiveValue="S"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -85,6 +87,7 @@ namespace Debugger.Tests {
Expression="args" Expression="args"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.String[]" /> Type="System.String[]" />
</Item> </Item>
@ -97,6 +100,7 @@ namespace Debugger.Tests {
Expression="n" Expression="n"
IsInvalid="False" IsInvalid="False"
IsNull="True" IsNull="True"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object" /> Type="System.Object" />
</Item> </Item>
@ -109,6 +113,7 @@ namespace Debugger.Tests {
Expression="o" Expression="o"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="System.Object" /> Type="System.Object" />
</Item> </Item>

20
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionVariablesLifetime.cs

@ -108,6 +108,7 @@ namespace Debugger.Tests {
Expression="argument" Expression="argument"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="1" PrimitiveValue="1"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
@ -120,6 +121,7 @@ namespace Debugger.Tests {
Expression="local" Expression="local"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="2" PrimitiveValue="2"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
@ -132,6 +134,7 @@ namespace Debugger.Tests {
Expression="this.class" Expression="this.class"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="3" PrimitiveValue="3"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
@ -145,6 +148,7 @@ namespace Debugger.Tests {
Expression="argument" Expression="argument"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
@ -157,6 +161,7 @@ namespace Debugger.Tests {
Expression="local" Expression="local"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
@ -169,6 +174,7 @@ namespace Debugger.Tests {
Expression="this.class" Expression="this.class"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
@ -181,6 +187,7 @@ namespace Debugger.Tests {
Expression="localInSubFunction" Expression="localInSubFunction"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="4" PrimitiveValue="4"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
@ -194,6 +201,7 @@ namespace Debugger.Tests {
Expression="argument" Expression="argument"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
@ -206,6 +214,7 @@ namespace Debugger.Tests {
Expression="local" Expression="local"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
@ -218,6 +227,7 @@ namespace Debugger.Tests {
Expression="this.class" Expression="this.class"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
@ -230,6 +240,7 @@ namespace Debugger.Tests {
Expression="localInSubFunction" Expression="localInSubFunction"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
@ -243,6 +254,7 @@ namespace Debugger.Tests {
Expression="argument" Expression="argument"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
@ -255,6 +267,7 @@ namespace Debugger.Tests {
Expression="local" Expression="local"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
@ -267,6 +280,7 @@ namespace Debugger.Tests {
Expression="this.class" Expression="this.class"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
@ -279,6 +293,7 @@ namespace Debugger.Tests {
Expression="localInSubFunction" Expression="localInSubFunction"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
@ -291,6 +306,7 @@ namespace Debugger.Tests {
Expression="localInSubFunction" Expression="localInSubFunction"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="4" PrimitiveValue="4"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction_x0028_new_x0029_> </localInSubFunction_x0028_new_x0029_>
@ -304,6 +320,7 @@ namespace Debugger.Tests {
Expression="argument" Expression="argument"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
@ -316,6 +333,7 @@ namespace Debugger.Tests {
Expression="local" Expression="local"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
@ -328,6 +346,7 @@ namespace Debugger.Tests {
Expression="this.class" Expression="this.class"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
@ -340,6 +359,7 @@ namespace Debugger.Tests {
Expression="localInSubFunction" Expression="localInSubFunction"
IsInvalid="True" IsInvalid="True"
IsNull="{Exception: Value is no longer valid}" IsNull="{Exception: Value is no longer valid}"
IsReference="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value is no longer valid}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>

18
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs

@ -180,6 +180,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="1" PrimitiveValue="1"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -192,6 +193,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="1!" PrimitiveValue="1!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -245,6 +247,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="2" PrimitiveValue="2"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -257,6 +260,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="2!" PrimitiveValue="2!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -310,6 +314,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="3" PrimitiveValue="3"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -322,6 +327,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="3!" PrimitiveValue="3!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -375,6 +381,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="4" PrimitiveValue="4"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -387,6 +394,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="4!" PrimitiveValue="4!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -440,6 +448,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="5" PrimitiveValue="5"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -452,6 +461,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="5!" PrimitiveValue="5!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -505,6 +515,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="6" PrimitiveValue="6"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -517,6 +528,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="6!" PrimitiveValue="6!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -570,6 +582,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="7" PrimitiveValue="7"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -582,6 +595,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="7!" PrimitiveValue="7!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -635,6 +649,7 @@ namespace Debugger.Tests {
Expression="v" Expression="v"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="8" PrimitiveValue="8"
Type="System.Int32" /> Type="System.Int32" />
</Item> </Item>
@ -647,6 +662,7 @@ namespace Debugger.Tests {
Expression="k" Expression="k"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="8!" PrimitiveValue="8!"
Type="System.String" /> Type="System.String" />
</Item> </Item>
@ -661,6 +677,7 @@ namespace Debugger.Tests {
Expression="gClass.Prop" Expression="gClass.Prop"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</Prop> </Prop>
@ -673,6 +690,7 @@ namespace Debugger.Tests {
Expression="Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;.StaticProp" Expression="Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;.StaticProp"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="0" PrimitiveValue="0"
Type="System.Int32" /> Type="System.Int32" />
</StaticProp> </StaticProp>

4
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/PrimitiveValue.cs

@ -68,6 +68,7 @@ namespace Debugger.Tests {
Expression="b" Expression="b"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="True" PrimitiveValue="True"
Type="System.Boolean"> Type="System.Boolean">
<Type> <Type>
@ -104,6 +105,7 @@ namespace Debugger.Tests {
Expression="i" Expression="i"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="5" PrimitiveValue="5"
Type="System.Int32"> Type="System.Int32">
<Type> <Type>
@ -140,6 +142,7 @@ namespace Debugger.Tests {
Expression="s" Expression="s"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="True"
PrimitiveValue="five" PrimitiveValue="five"
Type="System.String"> Type="System.String">
<Type> <Type>
@ -176,6 +179,7 @@ namespace Debugger.Tests {
Expression="d" Expression="d"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="5.5" PrimitiveValue="5.5"
Type="System.Double"> Type="System.Double">
<Type> <Type>

1
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueType.cs

@ -62,6 +62,7 @@ namespace Debugger.Tests {
Expression="this" Expression="this"
IsInvalid="False" IsInvalid="False"
IsNull="False" IsNull="False"
IsReference="False"
PrimitiveValue="{Exception: Value is not a primitive type}" PrimitiveValue="{Exception: Value is not a primitive type}"
Type="Debugger.Tests.ValueType"> Type="Debugger.Tests.ValueType">
<Type> <Type>

Loading…
Cancel
Save