API Browser

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