Open sandboxFocusImprove this doc

Code model API

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.