DeclarationExtensions Class
Extension methods for IDeclaration.
Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public static class DeclarationExtensions
Methods
Name | Description |
---|---|
ContainedChildren(IDeclaration) | Gets the declarations (namespaces, types, methods, properties, fields, constructors, events, indexers) directly contained in the given declaration. |
ContainedDescendants(IDeclaration) | Gets the declarations (namespaces, types, methods, properties, fields, constructors, events, indexers) in the given declaration and in any child of the declaration. |
ContainedDescendantsAndSelf(IDeclaration) | Gets the declarations (namespaces, types, methods, properties, fields, constructors, events, indexers) in the given declaration and in any child of the declaration, plus the given declaration. |
ContainingAncestors(IDeclaration) | Gets all containing ancestors, i.e. |
ContainingAncestorsAndSelf(IDeclaration) | Gets all containing ancestors including the current declaration, i.e. |
Enhancements<T>(T) | Gets an object that gives access to the aspects, options and annotations on the current declaration. |
ForCompilation<T>(T?, ICompilation, ReferenceResolutionOptions) | Gets a representation of the current declaration in a different version of the compilation. |
GetClosestMemberOrNamedType(IDeclaration) | Gets the declaring IMemberOrNamedType of a given declaration if the declaration if not an IMemberOrNamedType, or the IMemberOrNamedType itself if the given declaration is itself an IMemberOrNamedType. |
GetClosestNamedType(IDeclaration) | Gets the declaring INamedType of a given declaration if the declaration if not an INamedType, or the INamedType itself if the given declaration is itself an INamedType. |
GetNamespace(IDeclaration) | Gets the namespace of a given declaration, i.e. the namespace itself if the given declaration is a namespace, the closest containing namespace, or the global namespace if an ICompilation is given. |
GetTopmostNamedType(IDeclaration) | Gets the topmost type of a nested type, i.e. a type that is not contained in any other type. If the given type is not a given type, returns the given type itself. |
IsContainedIn(IDeclaration, IDeclaration) | Determines if a given declaration is a child of another given declaration, using the ContainingDeclaration relationship for all declarations except for named type, where the parent namespace is considered. |
IsRecordCopyConstructor(IConstructor) | |
TryForCompilation<T>(T?, ICompilation, out T?, ReferenceResolutionOptions) | Tries to get a representation of the current declaration in a different version of the compilation. |