Compartilhar via


IncrementalGeneratorInitializationContext Estrutura

Definição

Contexto passado para um gerador incremental quando Initialize(IncrementalGeneratorInitializationContext) é chamado

public readonly struct IncrementalGeneratorInitializationContext
type IncrementalGeneratorInitializationContext = struct
Public Structure IncrementalGeneratorInitializationContext
Herança
IncrementalGeneratorInitializationContext

Propriedades

Nome Description
AdditionalTextsProvider

Obtém um IncrementalValuesProvider<TValues> que fornece acesso a todos os AdditionalText arquivos incluídos na compilação. Textos adicionais normalmente não são arquivos de código (como .txt, .json, .xml) que podem ser usados como entrada para geração de origem. Cada texto adicional adicionado, removido ou modificado disparará um novo valor no provedor.

AnalyzerConfigOptionsProvider

Obtém um IncrementalValueProvider<TValue> que fornece acesso à AnalyzerConfigOptionsProvider compilação. Isso pode ser usado para ler as configurações do .editorconfig e outras opções de configuração do analisador.

CompilationProvider

Obtém um IncrementalValueProvider<TValue> que fornece acesso ao Compilation processamento. O valor desse provedor é alterado sempre que a compilação é alterada (por exemplo, arquivos de origem, referências ou opções são modificados).

MetadataReferencesProvider

Obtém um IncrementalValuesProvider<TValues> que fornece acesso a todos os MetadataReferences na compilação. Cada referência de metadados (por exemplo, assemblies referenciados) adicionada, removida ou modificada disparará um novo valor no provedor.

ParseOptionsProvider

Obtém um IncrementalValueProvider<TValue> que fornece acesso à ParseOptions compilação. O valor desse provedor é alterado sempre que as opções de análise são alteradas (por exemplo, símbolos de versão do idioma ou pré-processador).

SyntaxProvider

Obtém um SyntaxValueProvider que pode ser usado para criar nós de entrada baseados em sintaxe para o pipeline de gerador incremental. Use isso para registrar retornos de chamada que filtram e transformam nós de sintaxe na compilação.

Métodos

Nome Description
RegisterHostOutput<TSource>(IncrementalValueProvider<TSource>, Action<HostOutputProductionContext,TSource>)

Registra um nó de saída que produzirá saídas específicas do host que não são adicionadas à compilação. As saídas do host não têm uso definido e não contribuem para a compilação final. Eles são disponibilizados para o host (ou seja, o ambiente de desenvolvimento ou o sistema de build que executa o gerador, como o Visual Studio, o build do dotnet etc.) e HostOutputs cabe ao host decidir como usá-los. A ação fornecida será invocada com o valor do provedor sempre que for alterada.

RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>)

Registra um nó de saída que produzirá saídas específicas do host que não são adicionadas à compilação. As saídas do host não têm uso definido e não contribuem para a compilação final. Eles são disponibilizados para o host (ou seja, o ambiente de desenvolvimento ou o sistema de build que executa o gerador, como o Visual Studio, o build do dotnet etc.) e HostOutputs cabe ao host decidir como usá-los. A ação fornecida será invocada uma vez para cada valor do provedor sempre que eles forem alterados.

RegisterImplementationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>)

Registra um nó de saída que produzirá o código-fonte de implementação a ser adicionado à compilação. As fontes de implementação são tratadas de forma diferente das fontes regulares em alguns cenários e podem ser excluídas de determinadas saídas de compilação. A ação fornecida será invocada com o valor do provedor sempre que for alterada.

RegisterImplementationSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>)

Registra um nó de saída que produzirá o código-fonte de implementação a ser adicionado à compilação. As fontes de implementação são tratadas de forma diferente das fontes regulares em alguns cenários e podem ser excluídas de determinadas saídas de compilação. A ação fornecida será invocada uma vez para cada valor do provedor sempre que eles forem alterados.

RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>)

Registra um retorno de chamada que será invocado uma vez, antes que qualquer outra geração de origem ocorra. Normalmente, isso é usado para adicionar código-fonte que deve estar disponível para as etapas de geração subsequentes, como definições de atributo. Use AddEmbeddedAttributeDefinition() para adicionar o EmbeddedAttribute que marca os tipos gerados como internos ao assembly atual.

RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>)

Registra um nó de saída que produzirá o código-fonte a ser adicionado à compilação. A ação fornecida será invocada com o valor do provedor sempre que for alterada.

RegisterSourceOutput<TSource>(IncrementalValuesProvider<TSource>, Action<SourceProductionContext,TSource>)

Registra um nó de saída que produzirá o código-fonte a ser adicionado à compilação. A ação fornecida será invocada uma vez para cada valor do provedor sempre que eles forem alterados.

Aplica-se a