qtil
advanced-security/qtil-swift 0.0.3
Search

Class Impl::MacroRole

The role of a macro, for example #freestanding(declaration) or @attached(member).

Import path

import codeql.swift.elements.internal.MacroRoleImpl

Direct supertypes

Indirect supertypes

Predicates

getKindName

String representation of the role kind.

getMacroSyntaxName

String representation of the macro syntax.

isAccessorKind

Holds for accessor roles.

isAttachedMacroSyntax

Holds for @attached macros.

isCodeItemKind

Holds for codeItem roles.

isConformanceKind

Holds for conformance roles.

isDeclarationKind

Holds for declaration roles.

isExpressionKind

Holds for expression roles.

isExtensionKind

Holds for extension roles.

isFreestandingMacroSyntax

Holds for #freestanding macros.

isMemberAttributeKind

Holds for memberAttribute roles.

isMemberKind

Holds for member roles.

isPeerKind

Holds for peer roles.

toString

Gets the string representation of this element.

Inherited predicates

getAConformance

Gets any of the conformances of this macro role.

from MacroRole
getAName

Gets any of the names of this macro role.

from MacroRole
getAPrimaryQlClass

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

from MacroRole
getConformance

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

from MacroRole
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
getImmediateConformance

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

from MacroRole
getKind

Gets the kind of this macro role (declaration, expression, member, etc.).

from MacroRole
getLocation

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

from Locatable
getMacroSyntax

Gets the #freestanding or @attached.

from MacroRole
getName

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

from MacroRole
getNumberOfConformances

Gets the number of conformances of this macro role.

from MacroRole
getNumberOfNames

Gets the number of names of this macro role.

from MacroRole
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
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