Поделиться через


CompilationStartAnalysisContext Класс

Определение

Контекст для действия начала компиляции. Действие начала компиляции может использовать для CompilationStartAnalysisContext регистрации действий, выполняемых в любом из:

  • завершение компиляции,
  • завершение синтаксического анализа документа кода,
  • завершение семантического анализа документа кода,
  • завершение семантического анализа символа,
  • начало семантического анализа тела метода или выражения, появляющегося за пределами тела метода;
  • завершение семантического анализа тела метода или выражения, появляющегося вне тела метода, или
  • завершение семантического анализа синтаксического узла.
public ref class CompilationStartAnalysisContext abstract
public abstract class CompilationStartAnalysisContext
type CompilationStartAnalysisContext = class
Public MustInherit Class CompilationStartAnalysisContext
Наследование
CompilationStartAnalysisContext

Конструкторы

CompilationStartAnalysisContext(Compilation, AnalyzerOptions, CancellationToken)

Контекст для действия начала компиляции. Действие начала компиляции может использовать для CompilationStartAnalysisContext регистрации действий, выполняемых в любом из:

  • завершение компиляции,
  • завершение синтаксического анализа документа кода,
  • завершение семантического анализа документа кода,
  • завершение семантического анализа символа,
  • начало семантического анализа тела метода или выражения, появляющегося за пределами тела метода;
  • завершение семантического анализа тела метода или выражения, появляющегося вне тела метода, или
  • завершение семантического анализа синтаксического узла.

Свойства

CancellationToken

Маркер для проверка для запрошенной отмены анализа.

Compilation

Compilation это является предметом анализа.

Options

Параметры, указанные для анализа.

Методы

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

Зарегистрируйте действие, выполняемое для каждого документа, не являющегося кодом. Дополнительное действие с файлом сообщает Diagnosticо документе AdditionalText .

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

Зарегистрируйте действие, выполняемое в конце семантического анализа тела метода или выражения, появляющегося за пределами тела метода. Действие блока кода сообщает о Diagnosticблоках кода.

RegisterCodeBlockStartAction<TLanguageKindEnum>(Action<CodeBlockStartAnalysisContext<TLanguageKindEnum>>)

Зарегистрируйте действие, выполняемое в начале семантического анализа текста метода или выражения, появляющегося за пределами тела метода. Действие запуска блока кода может регистрировать другие действия и (или) собирать сведения о состоянии для использования в диагностическом анализе, но сам не может сообщать о каких-либо Diagnosticсобытиях.

RegisterCompilationEndAction(Action<CompilationAnalysisContext>)

Зарегистрируйте действие, выполняемое в конце компиляции. Действие завершения компиляции сообщает о DiagnosticCompilation.

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

Зарегистрируйте действие, выполняемое по завершении семантического анализа IOperation объекта с соответствующим типом. Действие операции может сообщать о DiagnosticIOperation, а также собирать сведения о состоянии для использования другими действиями операции или завершаемыми действиями блока кода.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Зарегистрируйте действие, выполняемое по завершении семантического анализа IOperation объекта с соответствующим типом. Действие операции может сообщать о DiagnosticIOperation, а также собирать сведения о состоянии для использования другими действиями операции или завершаемыми действиями блока кода.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

Зарегистрируйте действие, выполняемое после семантического анализа текста метода или выражения, появляющегося за пределами тела метода. Действие блока операции сообщает о Diagnosticблоках операций.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Зарегистрируйте действие, выполняемое в начале семантического анализа текста метода или выражения, появляющегося за пределами тела метода. Действие запуска блока операций может регистрировать другие действия и (или) собирать сведения о состоянии для использования в диагностическом анализе, но сам не может сообщать о каких-либо Diagnosticоперациях.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

Зарегистрируйте действие, выполняемое по завершении семантического анализа документа, который будет работать SemanticModel с объектом документа. Действие семантической модели сообщает о Diagnosticмодели.

RegisterSymbolAction(Action<SymbolAnalysisContext>, ImmutableArray<SymbolKind>)

Зарегистрируйте действие, выполняемое по завершении семантического анализа ISymbol объекта с соответствующим типом. Действие символа сообщает о DiagnosticISymbols.

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

Зарегистрируйте действие, выполняемое по завершении семантического анализа ISymbol объекта с соответствующим типом. Действие символа сообщает о DiagnosticISymbols.

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Зарегистрируйте действие, выполняемое в начале семантического анализа ISymbol объекта и его членов, с соответствующим типом.

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, ImmutableArray<TLanguageKindEnum>)

Зарегистрируйте действие, выполняемое по завершении семантического анализа объекта с соответствующим типом SyntaxNode . Действие синтаксического узла может сообщать о DiagnosticSyntaxNodes, а также собирать сведения о состоянии для использования другими действиями синтаксического узла или завершаемыми действиями блока кода.

RegisterSyntaxNodeAction<TLanguageKindEnum>(Action<SyntaxNodeAnalysisContext>, TLanguageKindEnum[])

Зарегистрируйте действие, выполняемое по завершении семантического анализа объекта с соответствующим типом SyntaxNode . Действие синтаксического узла может сообщать о DiagnosticSyntaxNodes, а также собирать сведения о состоянии для использования другими действиями синтаксического узла или завершаемыми действиями блока кода.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

Зарегистрируйте действие, выполняемое по завершении синтаксического анализа документа кода. Действие синтаксического дерева сообщает Diagnosticо документе SyntaxTree .

TryGetValue<TValue>(AdditionalText, AdditionalTextValueProvider<TValue>, TValue)

Пытается вычислить или получить кэшированное значение, предоставленное заданным valueProvider для заданного textобъекта . Обратите внимание, что пара {valueProvider, text} выступает в качестве ключа. Повторное использование одного и того же valueProvider экземпляра в действиях анализатора и (или) экземплярах анализатора может повысить общую производительность анализатора, избегая повторного вычислений значений.

TryGetValue<TValue>(SourceText, SourceTextValueProvider<TValue>, TValue)

Пытается вычислить или получить кэшированное значение, предоставленное заданным valueProvider для заданного textобъекта . Обратите внимание, что пара {valueProvider, text} выступает в качестве ключа. Повторное использование одного и того же valueProvider экземпляра в действиях анализатора и (или) экземплярах анализатора может повысить общую производительность анализатора, избегая повторного вычислений значений.

TryGetValue<TValue>(SyntaxTree, SyntaxTreeValueProvider<TValue>, TValue)

Пытается вычислить или получить кэшированное значение, предоставленное заданным valueProvider для заданного treeобъекта . Обратите внимание, что пара {valueProvider, tree} выступает в качестве ключа. Повторное использование одного и того же valueProvider экземпляра в действиях анализатора и (или) экземплярах анализатора может повысить общую производительность анализатора, избегая повторного вычислений значений.

Применяется к