Represent a declaration.
public interface IDeclaration : IDisplayable, IDiagnosticLocation, ICompilationElement, IMeasurable
The IDeclaration interface implements System.IEquatable<>. The implementation uses the Default comparer. To use a different comparer, choose a different comparer from IDeclaration.Compilation.Comparers.
Gets the collection of custom attributes on the declaration.
Gets a value indicating whether the current declaration is declared to the current project. It returns
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 the set of syntax nodes of the source code that declare the current declaration, or an empty set if the current declaration is not backed by source code.
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.