Metalama 1.0 / / Metalama Documentation / Advanced API / 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

SyntaxTreeTransformationKind

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>).

TransformerOptions

Options of a ISourceTransformer, exposed on Options.

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.