Interface
IMacroDeclarationSymbol
interface IMacroDeclarationSymbol
Namespace: Raven.CodeAnalysis
Assembly: Raven.CodeAnalysis.dll
Source file: ISymbol.cs
Inherits: IEquatable<ISymbol>, IMacroSymbol, ISymbol
Represents a Raven macro declared with macro.
Remarks
A macro declaration has a callable-shaped source signature, but it is not a CLR method and does not implement Raven.CodeAnalysis.IMethodSymbol.
Properties
35 items
Aliases: ImmutableArray<string>
Gets the alternate unqualified invocation names exported by the macro.
Inherited from IMacroSymbol.Aliases · Defined by IMacroSymbol.Aliases · Default implementation provided.
ApplicationKind: MacroApplicationKind
Gets how this macro is applied to authored Raven syntax.
Inherited from IMacroSymbol.ApplicationKind · Defined by IMacroSymbol.ApplicationKind · Required implementation (no default).
Arity: int
Gets the generic arity of the macro declaration.
Defined by IMacroDeclarationSymbol.Arity · Default implementation provided.
CanBeReferencedByName: bool
No summary available.
Inherited from ISymbol.CanBeReferencedByName · Defined by ISymbol.CanBeReferencedByName · Default implementation provided.
CanonicalName: string
Gets the namespace-qualified language-facing macro name.
Inherited from IMacroSymbol.CanonicalName · Defined by IMacroSymbol.CanonicalName · Default implementation provided.
ContainingAssembly: IAssemblySymbol?
Gets the assembly that contains this symbol, or null if the symbol is not contained in an assembly.
Inherited from ISymbol.ContainingAssembly · 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.
Inherited from ISymbol.ContainingModule · 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.
Inherited from ISymbol.ContainingNamespace · Defined by ISymbol.ContainingNamespace · Required implementation (no default).
ContainingSymbol: ISymbol?
Gets the symbol that contains this symbol. May be null for root symbols.
Inherited from ISymbol.ContainingSymbol · 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.
Inherited from ISymbol.ContainingType · Defined by ISymbol.ContainingType · Required implementation (no default).
DeclaredAccessibility: Accessibility
Gets the declared accessibility (e.g., public, internal, private) of this symbol.
Inherited from ISymbol.DeclaredAccessibility · Defined by ISymbol.DeclaredAccessibility · Required implementation (no default).
DeclaringSyntaxReferences: ImmutableArray<SyntaxReference>
Gets the syntax references used to declare this symbol.
Inherited from ISymbol.DeclaringSyntaxReferences · Defined by ISymbol.DeclaringSyntaxReferences · Required implementation (no default).
DefinitionType: INamedTypeSymbol
Gets the canonical nominal type that owns this macro's generic parameters and expansion entry point.
Defined by IMacroDeclarationSymbol.DefinitionType · Required implementation (no default).
ExpandMethod: IMethodSymbol
Gets the macro's single designated expansion method.
Defined by IMacroDeclarationSymbol.ExpandMethod · Required implementation (no default).
ExpressionResultType: ITypeSymbol?
Gets the semantic type promised by an expression macro, or for a category-only expression contract.
Inherited from IMacroSymbol.ExpressionResultType · Defined by IMacroSymbol.ExpressionResultType · Default implementation provided.
InvocationTargets: MacroInvocationTargets
Gets the grammar positions in which this macro can be invoked, or Raven.CodeAnalysis.Macros.MacroInvocationTargets.None for an attached macro.
Inherited from IMacroSymbol.InvocationTargets · Defined by IMacroSymbol.InvocationTargets · Required implementation (no default).
IsAlias: bool
Gets a value indicating whether this symbol is an alias.
Inherited from ISymbol.IsAlias · Defined by ISymbol.IsAlias · Required implementation (no default).
IsGenericMacro: bool
Gets whether this macro declaration is generic.
Defined by IMacroDeclarationSymbol.IsGenericMacro · Default implementation provided.
IsImplicitlyDeclared: bool
Gets a value indicating whether the symbol was implicitly declared by the compiler.
Inherited from ISymbol.IsImplicitlyDeclared · Defined by ISymbol.IsImplicitlyDeclared · Required implementation (no default).
IsStatic: bool
Gets a value indicating whether the symbol is static.
Inherited from ISymbol.IsStatic · Defined by ISymbol.IsStatic · Required implementation (no default).
Kind: SymbolKind
Gets the kind of symbol (e.g., namespace, type, method).
Inherited from ISymbol.Kind · Defined by ISymbol.Kind · Required implementation (no default).
Locations: ImmutableArray<Location>
Gets the source or metadata locations associated with this symbol.
Inherited from ISymbol.Locations · Defined by ISymbol.Locations · Required implementation (no default).
MacroKind: MacroKind
Gets the category of macro represented by this symbol.
Inherited from IMacroSymbol.MacroKind · Defined by IMacroSymbol.MacroKind · Required implementation (no default).
MetadataName: string
Gets the name used in metadata to identify the symbol.
Inherited from ISymbol.MetadataName · Defined by ISymbol.MetadataName · Required implementation (no default).
Name: string
Gets the name of the symbol.
Inherited from ISymbol.Name · Defined by ISymbol.Name · Required implementation (no default).
OriginalDefinition: IMacroDeclarationSymbol
Gets the unconstructed macro declaration.
Defined by IMacroDeclarationSymbol.OriginalDefinition · Default implementation provided.
ParameterBindings: ImmutableArray<MacroParameterBinding>
Gets how the designated expansion method's parameters are supplied.
Defined by IMacroDeclarationSymbol.ParameterBindings · Required implementation (no default).
Parameters: ImmutableArray<IParameterSymbol>
Gets the macro declaration parameters.
Defined by IMacroDeclarationSymbol.Parameters · Required implementation (no default).
ReturnType: ITypeSymbol
Gets the type produced at the macro invocation site.
Defined by IMacroDeclarationSymbol.ReturnType · Required implementation (no default).
TargetName: string?
Gets the source name bound to the current attached target.
Defined by IMacroDeclarationSymbol.TargetName · Required implementation (no default).
TargetParameter: IParameterSymbol?
Gets the implicit parameter representing the current attached target.
Defined by IMacroDeclarationSymbol.TargetParameter · Required implementation (no default).
Targets: MacroTarget
Gets the declaration targets accepted by this macro, or Raven.CodeAnalysis.Macros.MacroTarget.None for a freestanding macro.
Inherited from IMacroSymbol.Targets · Defined by IMacroSymbol.Targets · Required implementation (no default).
TypeArguments: ImmutableArray<ITypeSymbol>
Gets the constructed macro type arguments, or the definition's type parameters when this is an unconstructed macro.
Defined by IMacroDeclarationSymbol.TypeArguments · Default implementation provided.
TypeParameters: ImmutableArray<ITypeParameterSymbol>
Gets the macro declaration type parameters.
Defined by IMacroDeclarationSymbol.TypeParameters · Required implementation (no default).
UnderlyingSymbol: ISymbol
Gets the symbol that this symbol ultimately represents. For non-alias symbols, this returns this.
Inherited from ISymbol.UnderlyingSymbol · Defined by ISymbol.UnderlyingSymbol · Required implementation (no default).
Methods
10 items
Accept(visitor: SymbolVisitor) -> ()
Accepts a symbol visitor to perform an operation on this symbol.
Inherited from ISymbol.Accept · 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.
Inherited from ISymbol.Accept · Defined by ISymbol.Accept · Required implementation (no default).
Construct(typeArguments: ...ITypeSymbol[]) -> IMacroDeclarationSymbol
Constructs this macro declaration with explicit symbolic type arguments.
Defined by IMacroDeclarationSymbol.Construct · 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.
Inherited from ISymbol.Equals · 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.
Inherited from ISymbol.GetAttributes · Defined by ISymbol.GetAttributes · Required implementation (no default).
GetDocumentationComment() -> DocumentationComment?
Gets the documentation comment associated with this symbol, if any.
Inherited from ISymbol.GetDocumentationComment · 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