Skip to content
This repository was archived by the owner on Oct 17, 2021. It is now read-only.

DeclarationCollector

mattt edited this page Feb 7, 2020 · 6 revisions

DeclarationCollector

A Swift syntax visitor that collects declarations.

open class DeclarationCollector

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"

Initializers

init()

Creates a new declaration collector.

public init()

Properties

imports

The collected import declarations.

var imports: [Import] = []

associatedTypes

The collected associated type declarations.

var associatedTypes: [AssociatedType] = []

subscripts

The collected subscript declarations.

var subscripts: [Subscript] = []

initializers

The collected initializer declarations.

var initializers: [Initializer] = []

deinitializers

The collected deinitializer declarations.

var deinitializers: [Deinitializer] = []

structures

The collected structure declarations.

var structures: [Structure] = []

extensions

The collected extension declarations.

var extensions: [Extension] = []

protocols

The collected protocol declarations.

var protocols: [Protocol] = []

typealiases

The collected type alias declarations.

var typealiases: [Typealias] = []

enumerations

The collected enumeration declarations.

var enumerations: [Enumeration] = []

precedenceGroups

The collected precedence group declarations.

var precedenceGroups: [PrecedenceGroup] = []

classes

The collected class declarations.

var classes: [Class] = []

variables

The collected variable declarations.

var variables: [Variable] = []

conditionalCompilationBlocks

The collected conditional compilation block declarations.

var conditionalCompilationBlocks: [ConditionalCompilationBlock] = []

operators

The collected operator declarations.

var operators: [Operator] = []

functions

The collected function declarations.

var functions: [Function] = []

enumerationCases

The collected enumeration case declarations.

var enumerationCases: [Enumeration.Case] = []

Methods

visit(_:)

Called when visiting an EnumDeclSyntax node

public func visit(_ node: EnumDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an InitializerDeclSyntax node

public func visit(_ node: InitializerDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a StructDeclSyntax node

public func visit(_ node: StructDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a TypealiasDeclSyntax node

public func visit(_ node: TypealiasDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a SubscriptDeclSyntax node

public func visit(_ node: SubscriptDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an EnumCaseDeclSyntax node

public func visit(_ node: EnumCaseDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an ExtensionDeclSyntax node

public func visit(_ node: ExtensionDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an OperatorDeclSyntax node

public func visit(_ node: OperatorDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a PrecedenceGroupDeclSyntax node

public func visit(_ node: PrecedenceGroupDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a VariableDeclSyntax node

public func visit(_ node: VariableDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a FunctionDeclSyntax node

public func visit(_ node: FunctionDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an AssociatedtypeDeclSyntax node

public func visit(_ node: AssociatedtypeDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a DeinitializerDeclSyntax node

public func visit(_ node: DeinitializerDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a ClassDeclSyntax node

public func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting a ProtocolDeclSyntax node

public func visit(_ node: ProtocolDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an IfConfigDeclSyntax node

public func visit(_ node: IfConfigDeclSyntax) -> SyntaxVisitorContinueKind

visit(_:)

Called when visiting an ImportDeclSyntax node

public func visit(_ node: ImportDeclSyntax) -> SyntaxVisitorContinueKind

Clone this wiki locally