IDkmLanguageExpressionEvaluator Interface

Definition

This interface allows a language extension to provide the ability to evaluate expressions in the various data inspection windows of the debugger (watch, autos, immediate, memory, disassembly, etc). It should generally be implemented by all language extensions.

Implementations of this interface may restrict when they are called using a filter defined in their component configuration. The following properties may be used: CompilerVendorId, EngineId, LanguageId, RuntimeId.

public interface class IDkmLanguageExpressionEvaluator
public interface class IDkmLanguageExpressionEvaluator
__interface IDkmLanguageExpressionEvaluator
public interface IDkmLanguageExpressionEvaluator
type IDkmLanguageExpressionEvaluator = interface
Public Interface IDkmLanguageExpressionEvaluator

Methods

EvaluateExpression(DkmInspectionContext, DkmWorkList, DkmLanguageExpression, DkmStackWalkFrame, DkmCompletionRoutine<DkmEvaluateExpressionAsyncResult>)

Bind the input expression and evaluate it. Then format the resulting value for display in the debugger. This is used for data tips, the watch windows, the immediate window, etc.

GetChildren(DkmEvaluationResult, DkmWorkList, Int32, DkmInspectionContext, DkmCompletionRoutine<DkmGetChildrenAsyncResult>)

Gets an enumeration context used to obtain the children of this evaluation result. This is used in all expression evaluation windows.

GetFrameArguments(DkmInspectionContext, DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameArgumentsAsyncResult>)

Provides information on the arguments of a stack frame. This is currently only exposed through the VS automation model (EnvDTE.StackFrame.Arguments).

GetFrameLocals(DkmInspectionContext, DkmWorkList, DkmStackWalkFrame, DkmCompletionRoutine<DkmGetFrameLocalsAsyncResult>)

Gets an enumeration context used to obtain the local variables of this stack frame. This is used in computing the locals window.

GetItems(DkmEvaluationResultEnumContext, DkmWorkList, Int32, Int32, DkmCompletionRoutine<DkmEvaluationEnumAsyncResult>)

Obtain DkmEvaluationResult items from this enumeration context. This is used to obtain local variables of a stack frame or child members from an evaluation result.

GetUnderlyingString(DkmEvaluationResult)

This method is used for evaluation results that include DkmEvaluationResultFlags.RawString to obtain the the underlying string, with no enclosing quotes or escape sequences. This is method is invoked to display one of the various string visualizers in an expression evaluation window (click the magnifying glass icon).

SetValueAsString(DkmEvaluationResult, String, Int32, String)

Modifies the value of the given evaluation result (assumed to be non-read-only) to match the given string. This is used after the user edits a value in any of the evaluation windows.

Applies to