CodeQL library for Swift
codeql/swift-all 2.0.4-dev (changelog, source)
Search

Class Generated::MacroDecl

A declaration of a macro. Some examples:

@freestanding(declaration)
macro A() = #externalMacro(module: "A", type: "A")
@freestanding(expression)
macro B() = Builtin.B
@attached(member)
macro C() = C.C

INTERNAL: Do not reference the Generated::MacroDecl class directly. Use the subclass MacroDecl, where the following predicates are available.

Import path

import codeql.swift.generated.decl.MacroDecl

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

getAParameter

Gets any of the parameters of this macro.

getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

getARole

Gets any of the roles of this macro.

getName

Gets the name of this macro.

getNumberOfParameters

Gets the number of parameters of this macro.

getNumberOfRoles

Gets the number of roles of this macro.

getParameter

Gets the indexth parameter of this macro (0-based).

getRole

Gets the indexth role of this macro (0-based).

Inherited predicates

asCapturedDecl

Gets a capture of this declaration in the scope of a closure.

from ValueDecl
asNominalTypeDecl

Gets the NominalTypeDecl corresponding to this Decl, if any. This resolves an ExtensionDecl to the NominalTypeDecl that it extends.

from Decl
getAGenericTypeParam

Gets any of the generic type parameters of this generic context.

from GenericContext
getAMember

Gets any of the members of this declaration.

from Decl
getAnAccess

Gets an expression that references this declaration.

from ValueDecl
getDeclaringDecl

Gets the declaration that declares this declaration as a member, if any.

from Decl
getEnclosingCallable

Gets the nearest Callable that contains this AST node, if any. This includes (auto)closures, functions, methods, (de)initializers, and accessors.

from AstNode
getEnclosingDecl

Gets the nearest declaration that contains this AST node, if any.

from AstNode
getEnclosingFunction

Gets the nearest function definition that contains this AST node, if any. This includes functions, methods, (de)initializers, and accessors, but not closures.

from AstNode
getFile

Gets the primary file where this element occurs.

from Locatable
getFullyUnresolvedfrom Element
getGenericTypeParam

Gets the indexth generic type parameter of this generic context (0-based).

from GenericContext
getImmediateInterfaceType

Gets the interface type of this value declaration.

from ValueDecl
getInterfaceType

Gets the interface type of this value declaration.

from ValueDecl
getLocation

Gets the location associated with this element in the code, if it exists.

from Locatable
getMember

Gets the indexth member of this declaration (0-based).

from Decl
getModule

Gets the module of this declaration.

from Decl
getNumberOfGenericTypeParams

Gets the number of generic type parameters of this generic context.

from GenericContext
getNumberOfMembers

Gets the number of members of this declaration.

from Decl
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
getResolveStep

Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

from Element
hasLocation

Holds if getLocation() exists.

from Locatable
isCaptured

Holds if this declaration is captured by a closure.

from ValueDecl
isUnknown

Holds if this element is unknown.

from Element
resolve

Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

from Element
toString

Gets the string representation of this element.

from Decl