Represent a declaration.
[CompileTime] public interface IDeclaration : IDisplayable, IDiagnosticLocation, ICompilationElement, IMeasurable
Gets the collection of custom attributes on the declaration.
Gets the containing declaration, such as a INamedType for nested
types or for methods. If the containing element is a namespace or
Gets the kind of declaration.
Gets the declaring assembly, which can be the current Compilation or a reference assembly.
Gets the depth of the current declaration in the code model. The value of the Depth property has no absolute meaning, only a relative one, i.e. it is only relevant when comparing the depth of two declarations. A declaration has always a greater depth than the declaration in which it is contained. A type has always a greater depths than the base it derives from or the interfaces it implements.
Gets a value indicating whether the member is implicitly declared, i.e. declared without being represented in source code.
Gets the origin of the current declaration.
Gets a reference to the compilation, which can be used to identify the current declaration in a different revision of the compilation.
Gets a serializable identifier for the current declaration. This identifier is guaranteed to be deserializable in a different process, even with a different version of Metalama.