Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.
mattt edited this page Feb 7, 2020 · 19 revisions

Symbol

public final class Symbol

Nested Types

Contextual.Symbol.Extension.CompilationCondition.SourceFile, Contextual.Symbol.Extension.CompilationCondition.SourceFile.Visitor, Symbol.Symbol.Symbol.Symbol.Symbol.CodingKeys

Nested Type Aliases

ID

public typealias ID = Identifier

Enumeration Cases

typealias

case typealias

class

case class

associatedType

case associatedType

sourceLocation

case sourceLocation

operator

case operator

structure

case structure

subscript

case subscript

initializer

case initializer

variable

case variable

unknown

case unknown

documentation

case documentation

protocol

case protocol

case

case case

precedenceGroup

case precedenceGroup

enumeration

case enumeration

function

case function

Initializers

init(file:relativeTo:)

init(file url: URL, relativeTo directory: URL) throws

init(file:relativeTo:)

public init(file url: URL, relativeTo directory: URL) throws

init(from:)

public convenience init(from decoder: Decoder) throws

init(declaration:context:documentation:sourceLocation:)

init(declaration: API, context: [Contextual], documentation: Documentation?, sourceLocation: SourceLocation?)

Properties

declaration

let declaration: API

sourceLocation

let sourceLocation: SourceLocation?

context

let context: [Contextual]

context

var context: [Contextual] = []

symbols

let symbols: [Symbol]

conditions

var conditions: [CompilationCondition] = context.compactMap { $0 as? CompilationCondition }

isDocumented

var isDocumented: Bool

documentation

let documentation: Documentation?

imports

let imports: [Import]

visitedSymbols

var visitedSymbols: [Symbol] = []

sourceLocationConverter

let sourceLocationConverter: SourceLocationConverter

name

var name: String

path

let path: String

id

var id: ID = {
        Identifier(pathComponents: context.compactMap {
            ($0 as? Symbol)?.name ?? ($0 as? Extension)?.extendedType
        }, name: name)
    }()

`extension`

var `extension`: Extension? = context.compactMap { $0 as? Extension }.first

visitedImports

var visitedImports: [Import] = []

isPublic

var isPublic: Bool

Methods

visit(_:)

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

symbol(_:_:)

func symbol<Node, Declaration>(_ type: Declaration.Type, _ node: Node) -> Symbol where Declaration: API & ExpressibleBySyntax, Node == Declaration.Syntax

visitPost(_:)

mutating func visitPost(_ node: IfConfigClauseSyntax)

push(_:)

mutating func push(_ condition: CompilationCondition)

==(lhs:rhs:)

public static func ==(lhs: Symbol, rhs: Symbol) -> Bool

push(_:)

mutating func push(_ extension: Extension)

visit(_:)

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

visit(_:)

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

visit(_:)

mutating func visit(_ node: IfConfigClauseSyntax) -> SyntaxVisitorContinueKind

symbol(_:declaration:)

func symbol<Node: Syntax>(_ node: Node, declaration: API) -> Symbol

push(_:)

mutating func push(_ symbol: Symbol)

visit(_:)

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

pop()

mutating func pop() -> Contextual?

visitPost(_:)

mutating func visitPost(_ node: ClassDeclSyntax)

encode(to:)

public func encode(to encoder: Encoder) throws

visit(_:)

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

hash(into:)

public func hash(into hasher: inout Hasher)

push(_:)

mutating func push(_ import: Import)

visitPost(_:)

mutating func visitPost(_ node: ProtocolDeclSyntax)

visit(_:)

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

visit(_:)

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

visit(_:)

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

visit(_:)

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

visitPost(_:)

mutating func visitPost(_ node: StructDeclSyntax)

visit(_:)

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

visit(_:)

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

visit(_:)

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

visit(_:)

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

visit(_:)

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

visitPost(_:)

mutating func visitPost(_ node: EnumDeclSyntax)

visit(_:)

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

<(lhs:rhs:)

public static func <(lhs: Symbol, rhs: Symbol) -> Bool

visitPost(_:)

mutating func visitPost(_ node: ExtensionDeclSyntax)
Clone this wiki locally