DeclarationCollector
open class DeclarationCollector
extension DeclarationCollector: SyntaxVisitor
A Swift syntax visitor that collects declarations.
Create an instance of DeclarationCollector
and pass it by reference when walking an AST created by SyntaxParser
to collect any visited declarations:
import SwiftSyntax
import SwiftSemantics
let source = #"enum E {}"#
var collector = DeclarationCollector()
let tree = try SyntaxParser.parse(source: source)
tree.walk(&collector)
collector.enumerations.first?.name // "E"
-
The collected associated type declarations.
Declaration
Swift
public private(set) var associatedTypes: [AssociatedType]
-
The collected class declarations.
Declaration
Swift
public private(set) var classes: [Class]
-
The collected conditional compilation block declarations.
Declaration
Swift
public private(set) var conditionalCompilationBlocks: [ConditionalCompilationBlock]
-
The collected deinitializer declarations.
Declaration
Swift
public private(set) var deinitializers: [Deinitializer]
-
The collected enumeration declarations.
Declaration
Swift
public private(set) var enumerations: [Enumeration]
-
The collected enumeration case declarations.
Declaration
Swift
public private(set) var enumerationCases: [Enumeration.Case]
-
The collected extension declarations.
Declaration
Swift
public private(set) var extensions: [Extension]
-
The collected function declarations.
Declaration
Swift
public private(set) var functions: [Function]
-
The collected import declarations.
Declaration
Swift
public private(set) var imports: [Import]
-
The collected initializer declarations.
Declaration
Swift
public private(set) var initializers: [Initializer]
-
The collected operator declarations.
Declaration
Swift
public private(set) var operators: [Operator]
-
The collected precedence group declarations.
Declaration
Swift
public private(set) var precedenceGroups: [PrecedenceGroup]
-
The collected protocol declarations.
Declaration
Swift
public private(set) var protocols: [Protocol]
-
The collected structure declarations.
Declaration
Swift
public private(set) var structures: [Structure]
-
The collected subscript declarations.
Declaration
Swift
public private(set) var subscripts: [Subscript]
-
The collected type alias declarations.
Declaration
Swift
public private(set) var typealiases: [Typealias]
-
The collected variable declarations.
Declaration
Swift
public private(set) var variables: [Variable]
-
Creates a new declaration collector.
Declaration
Swift
public init()
-
Called when visiting an
AssociatedtypeDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: AssociatedtypeDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
ClassDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
DeinitializerDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: DeinitializerDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
EnumDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: EnumDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
EnumCaseDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: EnumCaseDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
ExtensionDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: ExtensionDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
FunctionDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: FunctionDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
IfConfigDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: IfConfigDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
ImportDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: ImportDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
InitializerDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: InitializerDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting an
OperatorDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: OperatorDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
PrecedenceGroupDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: PrecedenceGroupDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
ProtocolDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: ProtocolDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
SubscriptDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: SubscriptDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
StructDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: StructDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
TypealiasDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: TypealiasDeclSyntax) -> SyntaxVisitorContinueKind
-
Called when visiting a
VariableDeclSyntax
nodeDeclaration
Swift
public func visit(_ node: VariableDeclSyntax) -> SyntaxVisitorContinueKind