DkmLanguageExpression Class

Definition

DkmLanguageExpression represents an expression to be parsed and evaluated by an expression evaluator.

public ref class DkmLanguageExpression : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("dce7ad4c-45b3-1220-86da-a2cd4ca64ab0")]
public class DkmLanguageExpression : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("dce7ad4c-45b3-1220-86da-a2cd4ca64ab0")>]
type DkmLanguageExpression = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmLanguageExpression
Inherits DkmDataContainer
Implements IDisposable
Inheritance
DkmLanguageExpression
Attributes
Implements

Properties

CompilationFlags

Flags which effect how the condition text should be compiled by the expression evaluator. During evaluation, the caller must ensure that the DkmEvaluationFlags set on the InspectionContext agree with this value -- that is that they may only differ by the last set of flags which are only relevant to the display of values.

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
Language

Describes a programming language.

Text

Source text of the parsed expression.

UniqueId

Guid which uniquely identifies this expression object.

Methods

Close()

Closes a DkmLanguageExpression object instance. This will release any resources associated with this object across all components. This includes resources across computer or managed/native marshalling boundaries.

This method may only be called by the component which created the object.

CompileAssignment(DkmClrInstructionAddress, DkmEvaluationResult, String, DkmCompiledClrInspectionQuery)

Compile the given expression and generate code to assign the value of the expression to an L-Value.

Location constraint: API must be called from an IDE component (component level > 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

CompileDisplayAttribute(DkmClrModuleInstance, Int32, String, DkmCompiledClrInspectionQuery)

Compile the given DebuggerDisplayAttribute string. The resulting IL should return a string. For debugger display, there is no code context. Instead the compiler must do its binding based on a type token.

Location constraint: API must be called from an IDE component (component level > 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

CompileDisplayAttributeInternal(DkmClrModuleInstance, Int32, String, DkmCompiledClrInspectionQuery)

This method is used internally by the CLR Expression Evaluator.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

CompileDisplayAttributeInternal(DkmWorkList, DkmClrModuleInstance, Int32, DkmCompletionRoutine<DkmCompileDisplayAttributeInternalAsyncResult>)

This method is used internally by the CLR Expression Evaluator.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

CompileExpression(DkmClrInstructionAddress, DkmInspectionContext, String, DkmCompiledClrInspectionQuery)

Compile the expression into MSIL code that can be executed by the CLR or debugger to evaluate the expression.

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

Create(DkmLanguage, DkmEvaluationFlags, String, DkmDataItem)

Creates a new DkmLanguageExpression object. This can be evaluated with DkmInspectionContext.EvaluateExpression. The caller is responsible for closing the created object after they are done.

GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)

Explicit Interface Implementations

IDisposable.Dispose()

To be added.

Applies to