Share via


OperationBlockStartAnalysisContext Class

Definition

Context for an operation block start action. An operation block start action can use an OperationBlockStartAnalysisContext to register actions to be executed at any of:

  • completion of semantic analysis of a method body or an expression appearing outside a method body, or
  • completion of semantic analysis of an operation.
public ref class OperationBlockStartAnalysisContext abstract
public abstract class OperationBlockStartAnalysisContext
type OperationBlockStartAnalysisContext = class
Public MustInherit Class OperationBlockStartAnalysisContext
Inheritance
OperationBlockStartAnalysisContext

Constructors

OperationBlockStartAnalysisContext(ImmutableArray<IOperation>, ISymbol, Compilation, AnalyzerOptions, CancellationToken)

Properties

CancellationToken

Token to check for requested cancellation of the analysis.

Compilation

Compilation containing the OperationBlocks.

FilterSpan

Optional filter span within the FilterTree for which to compute diagnostics. null if we are analyzing the entire FilterTree or the entire compilation.

FilterTree

Syntax tree for the OperationBlocks being analyzed.

IsGeneratedCode

Indicates if the OperationBlocks is generated code.

OperationBlocks

One or more operation blocks that are the subject of the analysis. This includes all blocks associated with the OwningSymbol, such as method body, field/property/constructor/parameter initializer(s), attributes, etc.

Options

Options specified for the analysis.

OwningSymbol

ISymbol for which the OperationBlocks provides a definition or value.

Methods

GetControlFlowGraph(IOperation)

Gets a ControlFlowGraph for a given operationBlock from this analysis context's OperationBlocks.

RegisterOperationAction(Action<OperationAnalysisContext>, ImmutableArray<OperationKind>)

Register an action to be executed at completion of semantic analysis of an IOperation with an appropriate Kind. An operation action can report Diagnostics about IOperations, and can also collect state information to be used by other operation actions or operation block end actions.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Register an action to be executed at completion of semantic analysis of an operation with an appropriate Kind. An operation action can report Diagnostics about IOperations, and can also collect state information to be used by other operation actions or operation block end actions.

RegisterOperationBlockEndAction(Action<OperationBlockAnalysisContext>)

Register an action to be executed at the end of semantic analysis of a method body or an expression appearing outside a method body. A code block end action reports Diagnostics about code blocks.

Applies to