Metalama 1.0 / / Metalama Documentation / Advanced API Documentation / Metalama.​Compiler

Namespace Metalama.Compiler

Classes

DiagnosticFilteringRequest

Intrinsics

ManagedResource

Represents a managed resource.

MetalamaCompilerAnnotations

Exposes the SyntaxAnnotations used by Metalama.Compiler.

MetalamaCompilerInfo

MetalamaPlugInAttribute

Custom attribute that, when applied to a class, means that an instance of this class must be created and exposed to the Plugins property. This instance is then available in Metalama as a service, and exposed to IServiceProvider.

SyntaxTreeTransformation

TransformerAttribute

Place this attribute onto a type to cause it to be considered a source transformer.

TransformerContext

Context passed to a source transformer when Execute(TransformerContext) is called. The implementation can modify the compilation using the methods AddSyntaxTrees(SyntaxTree[]), ReplaceSyntaxTree(SyntaxTree, SyntaxTree) or AddResources(ManagedResource[]). It can report a diagnostic using ReportDiagnostic(Diagnostic) or suppress diagnostics using RegisterDiagnosticFilter(SuppressionDescriptor, Action<DiagnosticFilteringRequest>).

TransformerOrderAttribute

Applying this attribute on an assembly specifies the execution order of transformers it knows about, including transformers inside the assembly itself.

Interfaces

ISourceTransformer

The interface required to implement a source transformer.