diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs index 36992cad6a..bf5b37d270 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Eval.cs @@ -36,7 +36,6 @@ namespace Debugger ICorDebugEval corEval; Value result; EvalState state; - Expression expression; [Debugger.Tests.Ignore] public AppDomain AppDomain { @@ -52,10 +51,6 @@ namespace Debugger get { return description; } } - public Expression Expression { - get { return expression; } - } - ICorDebugEval CorEval { get { return corEval; } } @@ -87,12 +82,11 @@ namespace Debugger } } - Eval(AppDomain appDomain, string description, Expression expression, EvalStarter evalStarter) + Eval(AppDomain appDomain, string description, EvalStarter evalStarter) { this.appDomain = appDomain; this.process = appDomain.Process; this.description = description; - this.expression = expression; this.state = EvalState.Evaluating; this.corEval = CreateCorEval(appDomain); @@ -192,7 +186,7 @@ namespace Debugger } else { state = EvalState.EvaluatedException; } - result = new Value(AppDomain, expression, corEval.Result); + result = new Value(AppDomain, corEval.Result); } } @@ -218,15 +212,9 @@ namespace Debugger public static Eval AsyncInvokeMethod(MethodInfo method, Value thisValue, Value[] args) { - List argExprs = new List(); - foreach(Value arg in args) { - argExprs.Add(arg.ExpressionTree); - } - return new Eval( method.AppDomain, "Function call: " + method.FullName, - ExpressionExtensionMethods.AppendMemberReference(method.IsStatic ? null : thisValue.ExpressionTree, method, argExprs.ToArray()), delegate(Eval eval) { MethodInvokeStarter(eval, method, thisValue, args); } @@ -275,14 +263,13 @@ namespace Debugger ICorDebugClass corClass = DebugType.CreateFromType(appDomain, typeof(object)).CorType.Class; ICorDebugEval corEval = CreateCorEval(appDomain); ICorDebugValue corValue = corEval.CreateValue((uint)CorElementType.CLASS, corClass); - return new Value(appDomain, new PrimitiveExpression(value), corValue); + return new Value(appDomain, corValue); } else if (value is string) { return Eval.NewString(appDomain, (string)value); } else { // TODO: Check if it is primitive type Value val = Eval.NewObjectNoConstructor(DebugType.CreateFromType(appDomain, value.GetType())); val.PrimitiveValue = value; - val.ExpressionTree = new PrimitiveExpression(value); return val; } } @@ -327,7 +314,6 @@ namespace Debugger return new Eval( appDomain, "New string: " + textToCreate, - new PrimitiveExpression(textToCreate), delegate(Eval eval) { eval.CorEval.CastTo().NewStringWithLength(textToCreate, (uint)textToCreate.Length); } @@ -350,7 +336,6 @@ namespace Debugger public static Eval AsyncNewObject(DebugType debugType, Value[] constructorArguments, DebugType[] constructorArgumentsTypes) { - List constructorArgumentsExpressions = SelectExpressions(constructorArguments); ICorDebugValue[] constructorArgsCorDebug = ValuesAsCorDebug(constructorArguments); MethodInfo constructor = debugType.GetMethod(".ctor", constructorArgumentsTypes); if (constructor == null) { @@ -359,7 +344,6 @@ namespace Debugger return new Eval( debugType.AppDomain, "New object: " + debugType.FullName, - new ObjectCreateExpression(new TypeReference(debugType.FullName), constructorArgumentsExpressions), delegate(Eval eval) { eval.CorEval.CastTo().NewParameterizedObject( constructor.CorFunction, (uint)debugType.GenericArguments.Count, debugType.GenericArgumentsAsCorDebugType, @@ -373,7 +357,6 @@ namespace Debugger return new Eval( debugType.AppDomain, "New object: " + debugType.FullName, - new ObjectCreateExpression(new TypeReference(debugType.FullName), new List()), delegate(Eval eval) { eval.CorEval.CastTo().NewParameterizedObjectNoConstructor(debugType.CorType.Class, (uint)debugType.GenericArguments.Count, debugType.GenericArgumentsAsCorDebugType); } @@ -383,20 +366,10 @@ namespace Debugger static ICorDebugValue[] ValuesAsCorDebug(Value[] values) { ICorDebugValue[] valuesAsCorDebug = new ICorDebugValue[values.Length]; - for(int i = 0; i < values.Length; i++) - { + for(int i = 0; i < values.Length; i++) { valuesAsCorDebug[i] = values[i].CorValue; } return valuesAsCorDebug; } - - static List SelectExpressions(Value[] values) - { - List expressions = new List(values.Length); - foreach (Value value in values) { - expressions.Add(value.ExpressionTree); - } - return expressions; - } } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs index 5945b4e3ac..d13b61333a 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs @@ -283,7 +283,7 @@ namespace Debugger /// public Value GetThisValue() { - return new Value(appDomain, new ThisReferenceExpression(), GetThisCorValue()); + return new Value(appDomain, GetThisCorValue()); } ICorDebugValue GetThisCorValue() @@ -320,7 +320,7 @@ namespace Debugger /// Zero-based index public Value GetArgumentValue(int index) { - return new Value(appDomain, new IdentifierExpression(methodInfo.GetParameterName(index)), GetArgumentCorValue(index)); + return new Value(appDomain, GetArgumentCorValue(index)); } ICorDebugValue GetArgumentCorValue(int index) diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs index 5b92a17202..788d743845 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs @@ -160,7 +160,7 @@ namespace Debugger process.AssertPaused(); ICorDebugValue corValue = this.CorThread.Object; - return new Value(process.AppDomains[this.CorThread.AppDomain], Expression.Null, corValue); + return new Value(process.AppDomains[this.CorThread.AppDomain], corValue); } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/ExpressionEvaluator.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/ExpressionEvaluator.cs index 81ded8fc84..b8f660df55 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/ExpressionEvaluator.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/ExpressionEvaluator.cs @@ -19,9 +19,7 @@ namespace Debugger { public class ExpressionEvaluator: NotImplementedAstVisitor { - /// Evaluate given expression. If you have expression tree already, use overloads of this method. - /// Returned value or null for statements - public static Value Evaluate(string code, SupportedLanguage language, StackFrame context) + public static INode Parse(string code, SupportedLanguage language) { SnippetParser parser = new SnippetParser(language); INode astRoot = parser.Parse(code); @@ -31,7 +29,14 @@ namespace Debugger if (parser.SnippetType != SnippetType.Expression && parser.SnippetType != SnippetType.Statements) { throw new GetValueException("Code must be expression or statement"); } - return Evaluate(astRoot, context); + return astRoot; + } + + /// Evaluate given expression. If you have expression tree already, use overloads of this method. + /// Returned value or null for statements + public static Value Evaluate(string code, SupportedLanguage language, StackFrame context) + { + return Evaluate(Parse(code, language), context); } public static Value Evaluate(INode code, Process context) @@ -110,12 +115,12 @@ namespace Debugger } } - public Value Evaluate(INode expression) + Value Evaluate(INode expression) { return Evaluate(expression, true); } - public Value Evaluate(INode expression, bool permRef) + Value Evaluate(INode expression, bool permRef) { // Try to get the value from cache // (the cache is cleared when the process is resumed) diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallback.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallback.cs index 328c5041ab..6794cbf16d 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallback.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallback.cs @@ -482,7 +482,7 @@ namespace Debugger // Watch out for the zeros and null! // Exception -> Exception2(pAppDomain, pThread, null, 0, exceptionType, 0); - process.SelectedThread.CurrentException = new Exception(new Value(process.AppDomains[pAppDomain], new IdentifierExpression("__exception"), process.SelectedThread.CorThread.CurrentException)); + process.SelectedThread.CurrentException = new Exception(new Value(process.AppDomains[pAppDomain], process.SelectedThread.CorThread.CurrentException)); process.SelectedThread.CurrentException_DebuggeeState = process.DebuggeeState; process.SelectedThread.CurrentExceptionType = (ExceptionType)exceptionType; process.SelectedThread.CurrentExceptionIsUnhandled = (ExceptionType)exceptionType == ExceptionType.Unhandled; diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/MethodInfo.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/MethodInfo.cs index 7ae55d4f6d..a50e5b66c1 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/MethodInfo.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/MethodInfo.cs @@ -553,7 +553,7 @@ namespace Debugger.MetaData if ((uint)e.ErrorCode == 0x80131304) throw new GetValueException("Unavailable in optimized code"); throw; } - return new Value(context.AppDomain, new IdentifierExpression(symVar.Name), corVal); + return new Value(context.AppDomain, corVal); } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs index 1df900c20a..560b2eae15 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Array.cs @@ -85,7 +85,7 @@ namespace Debugger { int[] indices = (int[])elementIndices.Clone(); - return new Value(this.AppDomain, this.ExpressionTree.AppendIndexer(indices), GetCorValueOfArrayElement(indices)); + return new Value(this.AppDomain, GetCorValueOfArrayElement(indices)); } // May be called later diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs index 23edb24401..4ee6fe21a8 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.Object.cs @@ -93,7 +93,6 @@ namespace Debugger { return new Value( fieldInfo.AppDomain, - ExpressionExtensionMethods.AppendMemberReference(fieldInfo.IsStatic ? null : objectInstance.ExpressionTree, fieldInfo), GetFieldCorValue(objectInstance, fieldInfo) ); } @@ -142,12 +141,6 @@ namespace Debugger Value val = Value.InvokeMethod(objectInstance, propertyInfo.GetMethod, arguments); - List argExprs = new List(); - foreach(Value arg in arguments) { - argExprs.Add(arg.ExpressionTree); - } - val.ExpressionTree = ExpressionExtensionMethods.AppendMemberReference(propertyInfo.IsStatic ? null : objectInstance.ExpressionTree, propertyInfo, argExprs.ToArray()); - return val; } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs index 5d704114ac..e239b77189 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs @@ -23,23 +23,10 @@ namespace Debugger { AppDomain appDomain; Process process; - Expression expression; ICorDebugValue corValue; PauseSession corValue_pauseSession; DebugType type; - /// Expression which can be used to reobtain this value. - public string Expression { - get { return expression.PrettyPrint(); } - } - - /// Abstract syntax tree of the expression which can be used to reobtain this value. - [Tests.Ignore] - public Expression ExpressionTree { - get { return expression; } - set { expression = value; } - } - /// Returns true if the value is null public bool IsNull { get { @@ -135,7 +122,7 @@ namespace Debugger // Make the reference to box permanent corValue = corValue.CastTo().Dereference().CastTo().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo(); // Create new value - Value newValue = new Value(appDomain, expression, corValue); + Value newValue = new Value(appDomain, corValue); // Copy the data inside the box newValue.CorGenericValue.RawValue = rawValue; return newValue; @@ -155,17 +142,16 @@ namespace Debugger corValue = corValue.CastTo().Dereference().CastTo().CreateHandle(CorDebugHandleType.HANDLE_STRONG).CastTo(); } } - return new Value(appDomain, expression, corValue); + return new Value(appDomain, corValue); } - internal Value(AppDomain appDomain, Expression expression, ICorDebugValue corValue) + internal Value(AppDomain appDomain, ICorDebugValue corValue) { if (corValue == null) { throw new ArgumentNullException("corValue"); } this.appDomain = appDomain; this.process = appDomain.Process; - this.expression = expression; this.corValue = corValue; this.corValue_pauseSession = process.PauseSession; @@ -206,7 +192,7 @@ namespace Debugger if (corRef.Value == 0 || corRef.Dereference() == null) { return null; } else { - return new Value(this.AppDomain, new UnaryOperatorExpression(this.ExpressionTree, UnaryOperatorType.Dereference), corRef.Dereference()); + return new Value(this.AppDomain, corRef.Dereference()); } } @@ -227,7 +213,7 @@ namespace Debugger public override string ToString() { - return this.Expression + " = " + this.AsString; + return this.AsString; } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs index 5ec62807e1..7e31b80a5f 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs @@ -5,6 +5,7 @@ // $Revision$ // +using ICSharpCode.NRefactory.Ast; using System; using System.CodeDom.Compiler; using System.Collections; @@ -15,7 +16,6 @@ using System.Reflection; using System.Security.Cryptography; using System.Text; using System.Xml; - using Debugger; using Debugger.Interop; using Microsoft.CSharp; @@ -345,7 +345,7 @@ namespace Debugger.Tests string md5 = ToHexadecimal(new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes(code))); string path = Path.GetTempPath(); - path = Path.Combine(path, "SharpDevelop"); + path = Path.Combine(path, "SharpDevelop4.0"); path = Path.Combine(path, "DebuggerTestsX86"); path = Path.Combine(path, testName + "." + md5); Directory.CreateDirectory(path); diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ControlFlow_MainThreadExit.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ControlFlow_MainThreadExit.cs index 9604e31f23..b2de8c8eb6 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ControlFlow_MainThreadExit.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ControlFlow_MainThreadExit.cs @@ -74,7 +74,7 @@ namespace Debugger.Tests { Name="" OldestStackFrame="Debugger.Tests.TestPrograms.ControlFlow_MainThreadExit.Main" Priority="Normal" - RuntimeValue=" = {System.Threading.Thread}" + RuntimeValue="{System.Threading.Thread}" SelectedStackFrame="Debugger.Tests.TestPrograms.ControlFlow_MainThreadExit.Main" /> @@ -87,7 +87,7 @@ namespace Debugger.Tests { Name="Worker thread" OldestStackFrame="System.Threading.ThreadHelper.ThreadStart" Priority="Normal" - RuntimeValue=" = {System.Threading.Thread}" /> + RuntimeValue="{System.Threading.Thread}" /> ForcedBreak ControlFlow_MainThreadExit.cs:29,4-29,26 @@ -111,7 +111,7 @@ namespace Debugger.Tests { Name="Worker thread" OldestStackFrame="System.Threading.ThreadHelper.ThreadStart" Priority="Normal" - RuntimeValue=" = {System.Threading.Thread}" + RuntimeValue="{System.Threading.Thread}" SelectedStackFrame="Debugger.Tests.TestPrograms.ControlFlow_MainThreadExit.WaitForALongTime" /> diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs index 62ce6feb61..59a60b7670 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs @@ -389,7 +389,7 @@ namespace Debugger.Tests { + Value="null"> + Value="null"> + Value="null"> + Value="42"> + Value="True"> + Value="a"> + Value="{System.Object}"> + Value="{MyClass}"> + Value="{MyStruct}"> + Value="{System.Int32}"> + Value="{System.Int32*}"> + Value="{System.Int32**}"> + Value="{System.Boolean*}"> + Value="{System.Void*}"> + Value="{MyStruct*}"> + Value="0"> + Value="{System.Char[]}"> + Value="{System.Char[,]}"> + Value="{System.Nullable<System.Int32>}"> + Value="{System.Nullable<System.Int32>}"> + Value="{MyGenClass<System.Int32>}"> + Value="{MyGenClass<System.Int32>[]}"> + Value="{MyGenClass<MyGenStruct<System.Int32>>}"> + Value="{MyNestedClass<System.Int32>}"> + Value="{MyGenNestedClass<System.Int32,System.Char>}"> + Value="{MyGenStruct<System.Int32>}"> + Value="{MyGenStruct<System.Int32>[]}"> + Value="{MyGenStruct<MyGenClass<System.Int32>>}"> + Value="{MyGenNestedStruct<System.Int32,System.Char>}"> + Value="{MyInterfaceImpl<System.Int32>}"> + Value="{MyInterfaceImpl<System.Int32>}"> + Value="{System.Collections.Generic.List<System.Int32>}"> + Value="{Enumerator<System.Int32>}"> + Value="{AddDelegate}"> + Value="{Access}"> + Value="201" /> + Value="null" /> + Value="202" /> + Value="203" /> Break DebugType_CompilerGeneratedClasses.cs:54,6-54,42 @@ -126,47 +126,47 @@ namespace Debugger.Tests { + Value="301" /> + Value="{IntDelegate}" /> + Value="302" /> + Value="401" /> + Value="202" /> + Value="203" /> + Value="102" /> + Value="103" /> + Value="{Debugger.Tests.TestPrograms.DebugType_CompilerGeneratedClasses}" /> Break DebugType_CompilerGeneratedClasses.cs:51,7-51,43 @@ -174,42 +174,42 @@ namespace Debugger.Tests { + Value="303" /> + Value="302" /> + Value="401" /> + Value="202" /> + Value="203" /> + Value="102" /> + Value="103" /> + Value="{Debugger.Tests.TestPrograms.DebugType_CompilerGeneratedClasses}" /> diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs index b63f3d7f86..4e4a03e9e1 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Expressions.cs @@ -77,6 +77,8 @@ namespace Debugger.Tests.TestPrograms #if TEST_CODE namespace Debugger.Tests { + using ICSharpCode.NRefactory.Ast; + public partial class DebuggerTests { [NUnit.Framework.Test] @@ -90,16 +92,16 @@ namespace Debugger.Tests { ObjectDump("methods", process.SelectedStackFrame.MethodInfo.DeclaringType.GetMethods()); Value thisVal = process.SelectedStackFrame.GetThisValue().GetPermanentReference(); - Value baseMethodVal = thisVal.GetMemberValue(thisVal.Type.BaseType.GetMethod("Foo", "i"), Debugger.Eval.CreateValue(process.SelectedStackFrame.AppDomain, 1)); - ObjectDump("BaseMethod", baseMethodVal); - Value derivedMethodVal = thisVal.GetMemberValue(thisVal.Type.GetMethod("Foo", "i"), Debugger.Eval.CreateValue(process.SelectedStackFrame.AppDomain, 1)); - ObjectDump("HiddenMethod", derivedMethodVal); - Value overloadMethodVal = thisVal.GetMemberValue(thisVal.Type.GetMethod("Foo", "s"), Debugger.Eval.CreateValue(process.SelectedStackFrame.AppDomain, "a")); - ObjectDump("HiddenMethod", overloadMethodVal); + Expression baseMethod = new ThisReferenceExpression().AppendMemberReference(thisVal.Type.BaseType.GetMethod("Foo", "i"), new PrimitiveExpression(1)); + Expression derivedMethod = new ThisReferenceExpression().AppendMemberReference(thisVal.Type.GetMethod("Foo", "i"), new PrimitiveExpression(1)); + Expression overloadMethod = new ThisReferenceExpression().AppendMemberReference(thisVal.Type.GetMethod("Foo", "s"), new PrimitiveExpression("a")); - ObjectDump("BaseMethod_reeval", baseMethodVal.ExpressionTree.Evaluate(process)); - ObjectDump("HiddenMethod_reeval", derivedMethodVal.ExpressionTree.Evaluate(process)); - ObjectDump("HiddenMethod_reeval", overloadMethodVal.ExpressionTree.Evaluate(process)); + ObjectDump("BaseMethod", baseMethod.PrettyPrint()); + ObjectDump("BaseMethod-Eval", baseMethod.Evaluate(process)); + ObjectDump("HiddenMethod", derivedMethod.PrettyPrint()); + ObjectDump("HiddenMethod-Eval", derivedMethod.Evaluate(process)); + ObjectDump("OverloadMethod", overloadMethod.PrettyPrint()); + ObjectDump("OverloadMethod-Eval", overloadMethod.Evaluate(process)); EndTest(); } @@ -122,7 +124,6 @@ namespace Debugger.Tests { @@ -134,7 +135,6 @@ namespace Debugger.Tests { @@ -144,7 +144,6 @@ namespace Debugger.Tests { ArrayLength="3" ArrayRank="1" AsString="{System.String[]}" - Expression="array" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="System.String[]" /> @@ -155,7 +154,6 @@ namespace Debugger.Tests { ArrayLength="4" ArrayRank="2" AsString="{System.String[,]}" - Expression="array2" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="System.String[,]" /> @@ -163,7 +161,6 @@ namespace Debugger.Tests { @@ -173,7 +170,6 @@ namespace Debugger.Tests { @@ -181,7 +177,6 @@ namespace Debugger.Tests { @@ -189,7 +184,6 @@ namespace Debugger.Tests { @@ -200,7 +194,6 @@ namespace Debugger.Tests { ArrayLength="3" ArrayRank="1" AsString="{System.String[]}" - Expression="((Debugger.Tests.TestPrograms.TestClass)(this)).array" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="System.String[]" /> @@ -208,7 +201,6 @@ namespace Debugger.Tests { @@ -216,7 +208,6 @@ namespace Debugger.Tests { @@ -224,7 +215,6 @@ namespace Debugger.Tests { @@ -232,7 +222,6 @@ namespace Debugger.Tests { @@ -324,54 +313,30 @@ namespace Debugger.Tests { Name=".ctor" /> - - - - - - - - - - + ((Debugger.Tests.TestPrograms.BaseClass)(this)).Foo((System.Int32)(1)) + - - + + ((Debugger.Tests.TestPrograms.TestClass)(this)).Foo((System.Int32)(1)) + - - + + ((Debugger.Tests.TestPrograms.TestClass)(this)).Foo((System.String)("a")) + - + diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackFrame_VariablesLifetime.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackFrame_VariablesLifetime.cs index 2194d9830f..309f3d6c97 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackFrame_VariablesLifetime.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackFrame_VariablesLifetime.cs @@ -102,21 +102,18 @@ namespace Debugger.Tests { <_x0040_class> @@ -124,7 +121,6 @@ namespace Debugger.Tests { @@ -162,7 +155,6 @@ namespace Debugger.Tests { @@ -251,7 +235,6 @@ namespace Debugger.Tests { + RuntimeValue="null" /> Thread_Name.exe (Has symbols) Break Thread_Name.cs:17,4-17,40 @@ -77,7 +77,7 @@ namespace Debugger.Tests { Name="" OldestStackFrame="Debugger.Tests.TestPrograms.Thread_Name.Main" Priority="AboveNormal" - RuntimeValue=" = {System.Threading.Thread}" + RuntimeValue="{System.Threading.Thread}" SelectedStackFrame="Debugger.Tests.TestPrograms.Thread_Name.Main" /> Break Thread_Name.cs:19,4-19,40 @@ -91,7 +91,7 @@ namespace Debugger.Tests { Name="ThreadName" OldestStackFrame="Debugger.Tests.TestPrograms.Thread_Name.Main" Priority="AboveNormal" - RuntimeValue=" = {System.Threading.Thread}" + RuntimeValue="{System.Threading.Thread}" SelectedStackFrame="Debugger.Tests.TestPrograms.Thread_Name.Main" /> @@ -103,7 +103,7 @@ namespace Debugger.Tests { Name="" OldestStackFrame="System.Threading.ReaderWriterLock.Finalize" Priority="Normal" - RuntimeValue=" = null" /> + RuntimeValue="null" /> diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs index 1728af9f2c..969ce3f733 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs @@ -61,7 +61,6 @@ namespace Debugger.Tests { ArrayLength="5" ArrayRank="1" AsString="{System.Int32[]}" - Expression="array" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="System.Int32[]" /> @@ -70,35 +69,30 @@ namespace Debugger.Tests { @@ -135,7 +129,6 @@ namespace Debugger.Tests { diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs index e6f5ed2d89..ae73939c28 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs @@ -55,7 +55,6 @@ namespace Debugger.Tests { @@ -67,7 +66,6 @@ namespace Debugger.Tests { ArrayLength="3" ArrayRank="1" AsString="{System.Int32[]}" - Expression="((System.Collections.Generic.Dictionary<System.String, System.Int32>)(dict)).buckets" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="System.Int32[]" /> @@ -78,7 +76,6 @@ namespace Debugger.Tests { ArrayLength="3" ArrayRank="1" AsString="{Entry<System.String,System.Int32>[]}" - Expression="((System.Collections.Generic.Dictionary<System.String, System.Int32>)(dict)).entries" IsReference="True" PrimitiveValue="{Exception: Value is not a primitive type}" Type="Entry<System.String,System.Int32>[]" /> @@ -86,35 +83,30 @@ namespace Debugger.Tests { @@ -122,7 +114,6 @@ namespace Debugger.Tests { @@ -166,14 +153,12 @@ namespace Debugger.Tests { @@ -181,7 +166,6 @@ namespace Debugger.Tests { diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs index a57a701802..abb320739d 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs @@ -76,7 +76,6 @@ namespace Debugger.Tests { @@ -85,7 +84,6 @@ namespace Debugger.Tests { @@ -93,7 +91,6 @@ namespace Debugger.Tests { @@ -101,7 +98,6 @@ namespace Debugger.Tests { @@ -109,7 +105,6 @@ namespace Debugger.Tests { @@ -117,7 +112,6 @@ namespace Debugger.Tests { @@ -127,7 +121,6 @@ namespace Debugger.Tests { @@ -136,7 +129,6 @@ namespace Debugger.Tests { @@ -144,7 +136,6 @@ namespace Debugger.Tests { @@ -152,7 +143,6 @@ namespace Debugger.Tests { @@ -160,7 +150,6 @@ namespace Debugger.Tests { @@ -168,7 +157,6 @@ namespace Debugger.Tests { diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs index 53412d8e32..6cf8c1abc1 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs @@ -62,7 +62,6 @@ namespace Debugger.Tests { @@ -88,7 +87,6 @@ namespace Debugger.Tests { @@ -114,7 +112,6 @@ namespace Debugger.Tests { @@ -141,7 +138,6 @@ namespace Debugger.Tests {