These namespaces define the compile-time code model, providing access to declarations, types, and code structure during aspect execution.
| Namespace | Description |
|---|---|
| Metalama.Framework.Code | Root namespace representing the code model, containing core interfaces like IDeclaration, IType, IMethod, and ICompilation. |
| Metalama.Framework.Code.Collections | Contains specialized collections for the code model, including INamedDeclarationCollection<T> and related types. |
| Metalama.Framework.Code.Types | Defines special type representations like ITypeParameter, IArrayType, and IPointerType. |
| Metalama.Framework.Code.Comparers | Contains equality and conversion comparers for comparing types and declarations. |
| Metalama.Framework.Code.DeclarationBuilders | Defines interfaces for building types and members programmatically. Used when introducing new members through advice. |
| Metalama.Framework.Code.Invokers | API for generating code that invokes methods, accesses properties, or instantiates types at runtime from templates. |
| Metalama.Framework.Code.SyntaxBuilders | Syntax builders and factories for dynamically creating expressions and statements using ExpressionBuilder and StatementBuilder. |