Represents a set of types compiled together. See also IProject.
Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public interface ICompilation : IAssembly, IDeclaration, IDisplayable, IDiagnosticLocation, ICompilationElement, IMeasurable, IEquatable<IDeclaration>
Properties
Name | Description |
---|---|
Cache | Gets a service that caches declarations of the current compilation. It is typically used to cache often-used declarations across aspect instances. |
Comparers | Gets a equality comparers that can be used with declarations of this compilation. |
Factory | Gets a service that allows to create declaration and type instances for the current ICompilation. |
IsPartial | Gets a value indicating whether the current compilation is partial, i.e. incomplete. Metalama uses partial compilations at design time, when only the closure of modified types are being incrementally recompiled. |
ManagedResources | Gets the list of managed resources in the current compilation. |
Project | Gets information about the project from which the compilation was created. |
Methods
Name | Description |
---|---|
GetAllAttributesOfType(INamedType, bool) | Gets all attributes of a given type in the current compilation, where the attribute type is given as an INamedType. |
GetAllAttributesOfType(Type, bool) | Gets all attributes of a given type in the current compilation, where the attribute type is given as a Type. |
GetDerivedTypes(INamedType, DerivedTypesOptions) | Gets the set of types, in the current compilation, that are derived from a given base type (given as an INamedType). |
GetDerivedTypes(Type, DerivedTypesOptions) | Gets the set of types, in the current compilation, that are derived from a given base type (given as a Type). |
ToRef() |