/// <summary> /// This method is called by the debug engine when the user modifies the result of a /// previous evaluation. The result of this call will be a query containing the IL code /// necessary to assign the value. /// </summary> /// <param name="expression">The text the user entered as the new value</param> /// <param name="instructionAddress">Instruction address or code location to use as the /// context of the compilation.</param> /// <param name="lValue">The L-Value of the assigment. This is a previous evaluation result.</param> /// <param name="error">[Out] If the there are any compile errors, this parameter is set to /// the error message to display to the user</param> /// <param name="result">[Out] If compilation was successful, this is the output query to /// execute to perform the assignment.</param> void IDkmClrExpressionCompiler.CompileAssignment(DkmLanguageExpression expression, DkmClrInstructionAddress instructionAddress, DkmEvaluationResult lValue, out string error, out DkmCompiledClrInspectionQuery result) { // when the user assigns a value in the debugger then this method is called. // we may want to change an expression like "{1,2,3}" to "new object[] {1,2,3}" // and "2020.12.03" to "XSharp.RT.Functions.ConDate(2020,12,03)" error = null; result = null; expression.CompileAssignment(instructionAddress, lValue, out error, out result); }
/// <summary> /// This method is called by the debug engine when the user modifies the result of a /// previous evaluation. The result of this call will be a query containing the IL code /// necessary to assign the value. /// </summary> /// <param name="expression">The text the user entered as the new value</param> /// <param name="instructionAddress">Instruction address or code location to use as the /// context of the compilation.</param> /// <param name="lValue">The L-Value of the assigment. This is a previous evaluation result.</param> /// <param name="error">[Out] If the there are any compile errors, this parameter is set to /// the error message to display to the user</param> /// <param name="result">[Out] If compilation was successful, this is the output query to /// execute to perform the assignment.</param> void IDkmClrExpressionCompiler.CompileAssignment(DkmLanguageExpression expression, DkmClrInstructionAddress instructionAddress, DkmEvaluationResult lValue, out string error, out DkmCompiledClrInspectionQuery result) { error = null; result = null; expression.CompileAssignment(instructionAddress, lValue, out error, out result); }