Interface
ISymbol
interface ISymbol
Namespace: Raven.CodeAnalysis
Assembly: Raven.CodeAnalysis.dll
Source file: ISymbol.cs
Inherits: IEquatable<ISymbol>
Represents a symbol in the Raven compiler's semantic model, such as a namespace, type, method, or variable.
Derived interfaces
Documented types in this API reference. Indirect relationships are marked.
- IAddressTypeSymbol (indirect)
- IAliasSymbol
- IArrayTypeSymbol (indirect)
- IAssemblySymbol
- IErrorSymbol
Show less
- IErrorTypeSymbol (indirect)
- IEventSymbol
- IFieldSymbol
- ILabelSymbol
- ILambdaSymbol (indirect)
- ILocalSymbol
- IMacroDeclarationSymbol (indirect)
- IMacroSymbol
- IMethodSymbol
- IModuleSymbol
- INamedTypeSymbol (indirect)
- INamespaceOrTypeSymbol
- INamespaceSymbol (indirect)
- IParameterSymbol
- IPointerTypeSymbol (indirect)
- IPropertySymbol
- ITupleTypeSymbol (indirect)
- ITypeParameterSymbol (indirect)
- ITypeSymbol (indirect)
- IUnionCaseTypeSymbol (indirect)
- IUnionSymbol (indirect)
Properties
16 items
CanBeReferencedByName: bool
No summary available.
Defined by ISymbol.CanBeReferencedByName · Default implementation provided.
ContainingAssembly: IAssemblySymbol?
Gets the assembly that contains this symbol, or null if the symbol is not contained in an assembly.
Defined by ISymbol.ContainingAssembly · Required implementation (no default).
ContainingModule: IModuleSymbol?
Gets the module that contains this symbol, or null if the symbol is not contained in a module.
Defined by ISymbol.ContainingModule · Required implementation (no default).
ContainingNamespace: INamespaceSymbol?
Gets the namespace that contains this symbol, or null if the symbol is not contained in a namespace.
Defined by ISymbol.ContainingNamespace · Required implementation (no default).
ContainingSymbol: ISymbol?
Gets the symbol that contains this symbol. May be null for root symbols.
Defined by ISymbol.ContainingSymbol · Required implementation (no default).
ContainingType: INamedTypeSymbol?
Gets the named type that contains this symbol, or null if the symbol is not contained in a type.
Defined by ISymbol.ContainingType · Required implementation (no default).
DeclaredAccessibility: Accessibility
Gets the declared accessibility (e.g., public, internal, private) of this symbol.
Defined by ISymbol.DeclaredAccessibility · Required implementation (no default).
DeclaringSyntaxReferences: ImmutableArray<SyntaxReference>
Gets the syntax references used to declare this symbol.
Defined by ISymbol.DeclaringSyntaxReferences · Required implementation (no default).
IsAlias: bool
Gets a value indicating whether this symbol is an alias.
Defined by ISymbol.IsAlias · Required implementation (no default).
IsImplicitlyDeclared: bool
Gets a value indicating whether the symbol was implicitly declared by the compiler.
Defined by ISymbol.IsImplicitlyDeclared · Required implementation (no default).
IsStatic: bool
Gets a value indicating whether the symbol is static.
Defined by ISymbol.IsStatic · Required implementation (no default).
Kind: SymbolKind
Gets the kind of symbol (e.g., namespace, type, method).
Defined by ISymbol.Kind · Required implementation (no default).
Locations: ImmutableArray<Location>
Gets the source or metadata locations associated with this symbol.
Defined by ISymbol.Locations · Required implementation (no default).
MetadataName: string
Gets the name used in metadata to identify the symbol.
Defined by ISymbol.MetadataName · Required implementation (no default).
Name: string
Gets the name of the symbol.
Defined by ISymbol.Name · Required implementation (no default).
UnderlyingSymbol: ISymbol
Gets the symbol that this symbol ultimately represents. For non-alias symbols, this returns this.
Defined by ISymbol.UnderlyingSymbol · Required implementation (no default).
Methods
9 items
Accept(visitor: SymbolVisitor) -> ()
Accepts a symbol visitor to perform an operation on this symbol.
Defined by ISymbol.Accept · Required implementation (no default).
Accept<TResult>(visitor: SymbolVisitor<TResult>) -> TResult
Accepts a symbol visitor to perform an operation on this symbol and returns a result.
Defined by ISymbol.Accept · Required implementation (no default).
Equals(other: ISymbol?, comparer: SymbolEqualityComparer) -> bool
Determines whether this symbol is equal to another symbol using the specified symbol equality comparer.
Defined by ISymbol.Equals · Required implementation (no default).
Equals(other: ISymbol) -> bool
Indicates whether the current object is equal to another object of the same type.
Inherited from IEquatable<ISymbol>.Equals · Defined by IEquatable<ISymbol>.Equals · Required implementation (no default).
GetAttributes() -> ImmutableArray<AttributeData>
Gets the attributes applied to this symbol.
Defined by ISymbol.GetAttributes · Required implementation (no default).
GetDocumentationComment() -> DocumentationComment?
Gets the documentation comment associated with this symbol, if any.
Defined by ISymbol.GetDocumentationComment · Default implementation provided.
Extension member:
GetExtensionReceiverType() -> ITypeSymbol?
No summary available.
Extension from SymbolExtensions.GetExtensionReceiverType
Extension member:
ToDisplayString(format?: SymbolDisplayFormat?) -> string
No summary available.
Extension from SymbolExtensions.ToDisplayString
Extension member:
UnwrapType() -> ITypeSymbol?
Unwraps the actual type of a property symbol or local symbol. If the symbol is a type symbol, then return it, otherwise null.
Extension from SymbolExtensions.UnwrapType