Compartir a través de


AnalysisContext Clase

Definición

Contexto para inicializar un analizador. La inicialización del analizador puede usar AnalysisContext para registrar acciones que se van a ejecutar en cualquiera de:

  • inicio de compilación,
  • fin de compilación,
  • finalización del análisis de un documento de código,
  • finalización del análisis semántico de un documento de código,
  • finalización del análisis semántico de un símbolo,
  • inicio del análisis semántico de un cuerpo del método o una expresión que aparece fuera de un cuerpo del método,
  • finalización del análisis semántico de un cuerpo del método o una expresión que aparece fuera de un cuerpo del método, o
  • finalización del análisis semántico de un nodo de sintaxis.
public ref class AnalysisContext abstract
public abstract class AnalysisContext
type AnalysisContext = class
Public MustInherit Class AnalysisContext
Herencia
AnalysisContext

Constructores

AnalysisContext()

Contexto para inicializar un analizador. La inicialización del analizador puede usar AnalysisContext para registrar acciones que se van a ejecutar en cualquiera de:

  • inicio de compilación,
  • fin de compilación,
  • finalización del análisis de un documento de código,
  • finalización del análisis semántico de un documento de código,
  • finalización del análisis semántico de un símbolo,
  • inicio del análisis semántico de un cuerpo del método o una expresión que aparece fuera de un cuerpo del método,
  • finalización del análisis semántico de un cuerpo del método o una expresión que aparece fuera de un cuerpo del método, o
  • finalización del análisis semántico de un nodo de sintaxis.

Propiedades

MinimumReportedSeverity

Indica la gravedad de diagnóstico mínima notificada para este contexto de análisis. No se notifican los diagnósticos del analizador con una gravedad inferior a esta gravedad.

Métodos

ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags)

Configure el modo de análisis del código generado para este analizador. Los analizadores no configurados tendrán como valor predeterminado un modo predeterminado adecuado para el código generado. Se recomienda que el analizador invoque esta API con la configuración necesaria GeneratedCodeAnalysisFlags .

EnableConcurrentExecution()

Habilite la ejecución simultánea de acciones del analizador registradas por este analizador. Un analizador que se registra para la ejecución simultánea puede tener un mejor rendimiento que un analizador no simultáneo. Sin embargo, este analizador debe asegurarse de que sus acciones se puedan ejecutar correctamente en paralelo.

RegisterAdditionalFileAction(Action<AdditionalFileAnalysisContext>)

Registre una acción que se va a ejecutar para cada documento que no sea de código. Una acción de archivo adicional informa Diagnosticsobre el AdditionalText objeto de un documento.

RegisterCodeBlockAction(Action<CodeBlockAnalysisContext>)

Registre una acción que se va a ejecutar después del análisis semántico de un cuerpo del método o de una expresión que aparezca fuera de un cuerpo del método. Una acción de bloque de código informa Diagnosticsobre los bloques de código.

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

Registre una acción que se va a ejecutar al principio del análisis semántico de un cuerpo del método o una expresión que aparezca fuera de un cuerpo del método. Una acción de inicio de bloque de código puede registrar otras acciones o recopilar información de estado que se va a usar en el análisis de diagnóstico, pero no puede notificar ningún Diagnostics.

RegisterCompilationAction(Action<CompilationAnalysisContext>)

Registre una acción que se va a ejecutar para una compilación completa. Una acción de compilación informa Diagnosticsobre .Compilation

RegisterCompilationStartAction(Action<CompilationStartAnalysisContext>)

Registre una acción que se va a ejecutar al iniciar la compilación. Una acción de inicio de compilación puede registrar otras acciones o recopilar información de estado que se va a usar en el análisis de diagnóstico, pero no puede informar de ninguna Diagnostic.

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

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un IOperation objeto con un tipo adecuado. Una acción de operación puede informar Diagnosticsobre IOperations y también puede recopilar información de estado que usarán otras acciones de operación o acciones finales de bloque de código.

RegisterOperationAction(Action<OperationAnalysisContext>, OperationKind[])

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un IOperation objeto con un tipo adecuado. Una acción de operación puede informar Diagnosticsobre IOperations y también puede recopilar información de estado que usarán otras acciones de operación o acciones finales de bloque de código.

RegisterOperationBlockAction(Action<OperationBlockAnalysisContext>)

Registre una acción que se va a ejecutar después del análisis semántico de un cuerpo del método o de una expresión que aparezca fuera de un cuerpo del método. Una acción de bloque de operación informa Diagnosticde los bloques de operación.

RegisterOperationBlockStartAction(Action<OperationBlockStartAnalysisContext>)

Registre una acción que se va a ejecutar al principio del análisis semántico de un cuerpo del método o una expresión que aparezca fuera de un cuerpo del método. Una acción de inicio del bloque de operación puede registrar otras acciones o recopilar información de estado que se va a usar en el análisis de diagnóstico, pero no puede notificar ninguna Diagnostic.

RegisterSemanticModelAction(Action<SemanticModelAnalysisContext>)

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un documento, que funcionará en el SemanticModel del documento. Una acción de modelo semántico informa Diagnosticsobre el modelo.

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

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un ISymbol objeto con un tipo adecuado. Una acción de símbolo informa Diagnosticde s.ISymbol

RegisterSymbolAction(Action<SymbolAnalysisContext>, SymbolKind[])

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un ISymbol objeto con un tipo adecuado. Una acción de símbolo informa Diagnosticde s.ISymbol

RegisterSymbolStartAction(Action<SymbolStartAnalysisContext>, SymbolKind)

Registre una acción que se va a ejecutar al principio del análisis semántico de y ISymbol sus miembros con un tipo adecuado.

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

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un SyntaxNode objeto con un tipo adecuado. Una acción de nodo de sintaxis puede informar Diagnosticsobre SyntaxNodes y también puede recopilar información de estado que usarán otras acciones de nodo de sintaxis o acciones finales del bloque de código.

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

Registre una acción que se va a ejecutar al finalizar el análisis semántico de un SyntaxNode objeto con un tipo adecuado. Una acción de nodo de sintaxis puede informar Diagnosticsobre SyntaxNodes y también puede recopilar información de estado que usarán otras acciones de nodo de sintaxis o acciones finales del bloque de código.

RegisterSyntaxTreeAction(Action<SyntaxTreeAnalysisContext>)

Registre una acción que se va a ejecutar al finalizar el análisis de un documento de código. Una acción de árbol de sintaxis informa Diagnosticsobre el SyntaxTree objeto de un documento.

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

Intenta calcular u obtener el valor almacenado en caché proporcionado por el especificado valueProvider para el especificado text. Tenga en cuenta que el par {valueProvider, text} actúa como clave. La reutilización de la misma valueProvider instancia entre las acciones del analizador o las instancias del analizador puede mejorar el rendimiento general del analizador evitando la recomputación de los valores.

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

Intenta calcular u obtener el valor almacenado en caché proporcionado por el especificado valueProvider para el especificado text. Tenga en cuenta que el par {valueProvider, text} actúa como clave. La reutilización de la misma valueProvider instancia entre las acciones del analizador o las instancias del analizador puede mejorar el rendimiento general del analizador evitando la recomputación de los valores.

Se aplica a