Enumerationswift-syntax 601.0.1SwiftSyntax
SyntaxEnum
Enum to exhaustively switch over all different syntax nodes.
enum SyntaxEnum
Enum to exhaustively switch over all different syntax nodes.
enum SyntaxEnum
import SwiftSyntax
A library for working with Swift code.
case token(TokenSyntax)
case accessorBlock(AccessorBlockSyntax)
case accessorDeclList(AccessorDeclListSyntax)
case accessorDecl(AccessorDeclSyntax)
case accessorEffectSpecifiers(AccessorEffectSpecifiersSyntax)
case accessorParameters(AccessorParametersSyntax)
case actorDecl(ActorDeclSyntax)
case arrayElementList(ArrayElementListSyntax)
case arrayElement(ArrayElementSyntax)
case arrayExpr(ArrayExprSyntax)
case arrayType(ArrayTypeSyntax)
case arrowExpr(ArrowExprSyntax)
case asExpr(AsExprSyntax)
case assignmentExpr(AssignmentExprSyntax)
case associatedTypeDecl(AssociatedTypeDeclSyntax)
case attributeList(AttributeListSyntax)
case attribute(AttributeSyntax)
case attributedType(AttributedTypeSyntax)
case availabilityArgumentList(AvailabilityArgumentListSyntax)
case availabilityArgument(AvailabilityArgumentSyntax)
case availabilityCondition(AvailabilityConditionSyntax)
case availabilityLabeledArgument(AvailabilityLabeledArgumentSyntax)
case awaitExpr(AwaitExprSyntax)
case backDeployedAttributeArguments(BackDeployedAttributeArgumentsSyntax)
case binaryOperatorExpr(BinaryOperatorExprSyntax)
case booleanLiteralExpr(BooleanLiteralExprSyntax)
case borrowExpr(BorrowExprSyntax)
case breakStmt(BreakStmtSyntax)
case _canImportExpr(_CanImportExprSyntax)
case _canImportVersionInfo(_CanImportVersionInfoSyntax)
case catchClauseList(CatchClauseListSyntax)
case catchClause(CatchClauseSyntax)
case catchItemList(CatchItemListSyntax)
case catchItem(CatchItemSyntax)
case classDecl(ClassDeclSyntax)
case classRestrictionType(ClassRestrictionTypeSyntax)
case closureCaptureClause(ClosureCaptureClauseSyntax)
case closureCaptureList(ClosureCaptureListSyntax)
case closureCaptureSpecifier(ClosureCaptureSpecifierSyntax)
case closureCapture(ClosureCaptureSyntax)
case closureExpr(ClosureExprSyntax)
case closureParameterClause(ClosureParameterClauseSyntax)
case closureParameterList(ClosureParameterListSyntax)
case closureParameter(ClosureParameterSyntax)
case closureShorthandParameterList(ClosureShorthandParameterListSyntax)
case closureShorthandParameter(ClosureShorthandParameterSyntax)
case closureSignature(ClosureSignatureSyntax)
case codeBlockItemList(CodeBlockItemListSyntax)
case codeBlockItem(CodeBlockItemSyntax)
case codeBlock(CodeBlockSyntax)
case compositionTypeElementList(CompositionTypeElementListSyntax)
case compositionTypeElement(CompositionTypeElementSyntax)
case compositionType(CompositionTypeSyntax)
case conditionElementList(ConditionElementListSyntax)
case conditionElement(ConditionElementSyntax)
case conformanceRequirement(ConformanceRequirementSyntax)
case consumeExpr(ConsumeExprSyntax)
case continueStmt(ContinueStmtSyntax)
case conventionAttributeArguments(ConventionAttributeArgumentsSyntax)
case conventionWitnessMethodAttributeArguments(ConventionWitnessMethodAttributeArgumentsSyntax)
case copyExpr(CopyExprSyntax)
case declModifierDetail(DeclModifierDetailSyntax)
case declModifierList(DeclModifierListSyntax)
case declModifier(DeclModifierSyntax)
case declNameArgumentList(DeclNameArgumentListSyntax)
case declNameArgument(DeclNameArgumentSyntax)
case declNameArguments(DeclNameArgumentsSyntax)
case declReferenceExpr(DeclReferenceExprSyntax)
case deferStmt(DeferStmtSyntax)
case deinitializerDecl(DeinitializerDeclSyntax)
case deinitializerEffectSpecifiers(DeinitializerEffectSpecifiersSyntax)
case derivativeAttributeArguments(DerivativeAttributeArgumentsSyntax)
case designatedTypeList(DesignatedTypeListSyntax)
case designatedType(DesignatedTypeSyntax)
case dictionaryElementList(DictionaryElementListSyntax)
case dictionaryElement(DictionaryElementSyntax)
case dictionaryExpr(DictionaryExprSyntax)
case dictionaryType(DictionaryTypeSyntax)
case differentiabilityArgumentList(DifferentiabilityArgumentListSyntax)
case differentiabilityArgument(DifferentiabilityArgumentSyntax)
case differentiabilityArguments(DifferentiabilityArgumentsSyntax)
case differentiabilityWithRespectToArgument(DifferentiabilityWithRespectToArgumentSyntax)
case differentiableAttributeArguments(DifferentiableAttributeArgumentsSyntax)
case discardAssignmentExpr(DiscardAssignmentExprSyntax)
case discardStmt(DiscardStmtSyntax)
case doExpr(DoExprSyntax)
case doStmt(DoStmtSyntax)
case documentationAttributeArgumentList(DocumentationAttributeArgumentListSyntax)
case documentationAttributeArgument(DocumentationAttributeArgumentSyntax)
case dynamicReplacementAttributeArguments(DynamicReplacementAttributeArgumentsSyntax)
case editorPlaceholderDecl(EditorPlaceholderDeclSyntax)
case editorPlaceholderExpr(EditorPlaceholderExprSyntax)
case effectsAttributeArgumentList(EffectsAttributeArgumentListSyntax)
case enumCaseDecl(EnumCaseDeclSyntax)
case enumCaseElementList(EnumCaseElementListSyntax)
case enumCaseElement(EnumCaseElementSyntax)
case enumCaseParameterClause(EnumCaseParameterClauseSyntax)
case enumCaseParameterList(EnumCaseParameterListSyntax)
case enumCaseParameter(EnumCaseParameterSyntax)
case enumDecl(EnumDeclSyntax)
case exposeAttributeArguments(ExposeAttributeArgumentsSyntax)
case exprList(ExprListSyntax)
case expressionPattern(ExpressionPatternSyntax)
case expressionSegment(ExpressionSegmentSyntax)
case expressionStmt(ExpressionStmtSyntax)
case extensionDecl(ExtensionDeclSyntax)
case fallThroughStmt(FallThroughStmtSyntax)
case floatLiteralExpr(FloatLiteralExprSyntax)
case forStmt(ForStmtSyntax)
case forceUnwrapExpr(ForceUnwrapExprSyntax)
case functionCallExpr(FunctionCallExprSyntax)
case functionDecl(FunctionDeclSyntax)
case functionEffectSpecifiers(FunctionEffectSpecifiersSyntax)
case functionParameterClause(FunctionParameterClauseSyntax)
case functionParameterList(FunctionParameterListSyntax)
case functionParameter(FunctionParameterSyntax)
case functionSignature(FunctionSignatureSyntax)
case functionType(FunctionTypeSyntax)
case genericArgumentClause(GenericArgumentClauseSyntax)
case genericArgumentList(GenericArgumentListSyntax)
case genericArgument(GenericArgumentSyntax)
case genericParameterClause(GenericParameterClauseSyntax)
case genericParameterList(GenericParameterListSyntax)
case genericParameter(GenericParameterSyntax)
case genericRequirementList(GenericRequirementListSyntax)
case genericRequirement(GenericRequirementSyntax)
case genericSpecializationExpr(GenericSpecializationExprSyntax)
case genericWhereClause(GenericWhereClauseSyntax)
case guardStmt(GuardStmtSyntax)
case identifierPattern(IdentifierPatternSyntax)
case identifierType(IdentifierTypeSyntax)
case ifConfigClauseList(IfConfigClauseListSyntax)
case ifConfigClause(IfConfigClauseSyntax)
case ifConfigDecl(IfConfigDeclSyntax)
case ifExpr(IfExprSyntax)
case implementsAttributeArguments(ImplementsAttributeArgumentsSyntax)
case implicitlyUnwrappedOptionalType(ImplicitlyUnwrappedOptionalTypeSyntax)
case importDecl(ImportDeclSyntax)
case importPathComponentList(ImportPathComponentListSyntax)
case importPathComponent(ImportPathComponentSyntax)
case inOutExpr(InOutExprSyntax)
case infixOperatorExpr(InfixOperatorExprSyntax)
case inheritanceClause(InheritanceClauseSyntax)
case inheritedTypeList(InheritedTypeListSyntax)
case inheritedType(InheritedTypeSyntax)
case initializerClause(InitializerClauseSyntax)
case initializerDecl(InitializerDeclSyntax)
case integerLiteralExpr(IntegerLiteralExprSyntax)
case isExpr(IsExprSyntax)
case isTypePattern(IsTypePatternSyntax)
case keyPathComponentList(KeyPathComponentListSyntax)
case keyPathComponent(KeyPathComponentSyntax)
case keyPathExpr(KeyPathExprSyntax)
case keyPathOptionalComponent(KeyPathOptionalComponentSyntax)
case keyPathPropertyComponent(KeyPathPropertyComponentSyntax)
case keyPathSubscriptComponent(KeyPathSubscriptComponentSyntax)
case labeledExprList(LabeledExprListSyntax)
case labeledExpr(LabeledExprSyntax)
case labeledSpecializeArgument(LabeledSpecializeArgumentSyntax)
case labeledStmt(LabeledStmtSyntax)
case layoutRequirement(LayoutRequirementSyntax)
case lifetimeSpecifierArgumentList(LifetimeSpecifierArgumentListSyntax)
case lifetimeSpecifierArgument(LifetimeSpecifierArgumentSyntax)
case lifetimeTypeSpecifier(LifetimeTypeSpecifierSyntax)
case macroDecl(MacroDeclSyntax)
case macroExpansionDecl(MacroExpansionDeclSyntax)
case macroExpansionExpr(MacroExpansionExprSyntax)
case matchingPatternCondition(MatchingPatternConditionSyntax)
case memberAccessExpr(MemberAccessExprSyntax)
case memberBlockItemList(MemberBlockItemListSyntax)
case memberBlockItem(MemberBlockItemSyntax)
case memberBlock(MemberBlockSyntax)
case memberType(MemberTypeSyntax)
case metatypeType(MetatypeTypeSyntax)
case missingDecl(MissingDeclSyntax)
case missingExpr(MissingExprSyntax)
case missingPattern(MissingPatternSyntax)
case missingStmt(MissingStmtSyntax)
case missing(MissingSyntax)
case missingType(MissingTypeSyntax)
case multipleTrailingClosureElementList(MultipleTrailingClosureElementListSyntax)
case multipleTrailingClosureElement(MultipleTrailingClosureElementSyntax)
case namedOpaqueReturnType(NamedOpaqueReturnTypeSyntax)
case nilLiteralExpr(NilLiteralExprSyntax)
case objCSelectorPieceList(ObjCSelectorPieceListSyntax)
case objCSelectorPiece(ObjCSelectorPieceSyntax)
case opaqueReturnTypeOfAttributeArguments(OpaqueReturnTypeOfAttributeArgumentsSyntax)
case operatorDecl(OperatorDeclSyntax)
case operatorPrecedenceAndTypes(OperatorPrecedenceAndTypesSyntax)
case optionalBindingCondition(OptionalBindingConditionSyntax)
case optionalChainingExpr(OptionalChainingExprSyntax)
case optionalType(OptionalTypeSyntax)
case originallyDefinedInAttributeArguments(OriginallyDefinedInAttributeArgumentsSyntax)
case packElementExpr(PackElementExprSyntax)
case packElementType(PackElementTypeSyntax)
case packExpansionExpr(PackExpansionExprSyntax)
case packExpansionType(PackExpansionTypeSyntax)
case patternBindingList(PatternBindingListSyntax)
case patternBinding(PatternBindingSyntax)
case patternExpr(PatternExprSyntax)
case platformVersionItemList(PlatformVersionItemListSyntax)
case platformVersionItem(PlatformVersionItemSyntax)
case platformVersion(PlatformVersionSyntax)
case postfixIfConfigExpr(PostfixIfConfigExprSyntax)
case postfixOperatorExpr(PostfixOperatorExprSyntax)
case poundSourceLocationArguments(PoundSourceLocationArgumentsSyntax)
case poundSourceLocation(PoundSourceLocationSyntax)
case precedenceGroupAssignment(PrecedenceGroupAssignmentSyntax)
case precedenceGroupAssociativity(PrecedenceGroupAssociativitySyntax)
case precedenceGroupAttributeList(PrecedenceGroupAttributeListSyntax)
case precedenceGroupDecl(PrecedenceGroupDeclSyntax)
case precedenceGroupNameList(PrecedenceGroupNameListSyntax)
case precedenceGroupName(PrecedenceGroupNameSyntax)
case precedenceGroupRelation(PrecedenceGroupRelationSyntax)
case prefixOperatorExpr(PrefixOperatorExprSyntax)
case primaryAssociatedTypeClause(PrimaryAssociatedTypeClauseSyntax)
case primaryAssociatedTypeList(PrimaryAssociatedTypeListSyntax)
case primaryAssociatedType(PrimaryAssociatedTypeSyntax)
case protocolDecl(ProtocolDeclSyntax)
case regexLiteralExpr(RegexLiteralExprSyntax)
case repeatStmt(RepeatStmtSyntax)
case returnClause(ReturnClauseSyntax)
case returnStmt(ReturnStmtSyntax)
case sameTypeRequirement(SameTypeRequirementSyntax)
case sequenceExpr(SequenceExprSyntax)
case simpleStringLiteralExpr(SimpleStringLiteralExprSyntax)
case simpleStringLiteralSegmentList(SimpleStringLiteralSegmentListSyntax)
case simpleTypeSpecifier(SimpleTypeSpecifierSyntax)
case someOrAnyType(SomeOrAnyTypeSyntax)
case sourceFile(SourceFileSyntax)
case specializeAttributeArgumentList(SpecializeAttributeArgumentListSyntax)
case specializeAvailabilityArgument(SpecializeAvailabilityArgumentSyntax)
case specializeTargetFunctionArgument(SpecializeTargetFunctionArgumentSyntax)
case stringLiteralExpr(StringLiteralExprSyntax)
case stringLiteralSegmentList(StringLiteralSegmentListSyntax)
case stringSegment(StringSegmentSyntax)
case structDecl(StructDeclSyntax)
case subscriptCallExpr(SubscriptCallExprSyntax)
case subscriptDecl(SubscriptDeclSyntax)
case superExpr(SuperExprSyntax)
case suppressedType(SuppressedTypeSyntax)
case switchCaseItemList(SwitchCaseItemListSyntax)
case switchCaseItem(SwitchCaseItemSyntax)
case switchCaseLabel(SwitchCaseLabelSyntax)
case switchCaseList(SwitchCaseListSyntax)
case switchCase(SwitchCaseSyntax)
case switchDefaultLabel(SwitchDefaultLabelSyntax)
case switchExpr(SwitchExprSyntax)
case ternaryExpr(TernaryExprSyntax)
case thenStmt(ThenStmtSyntax)
case throwStmt(ThrowStmtSyntax)
case throwsClause(ThrowsClauseSyntax)
case tryExpr(TryExprSyntax)
case tupleExpr(TupleExprSyntax)
case tuplePatternElementList(TuplePatternElementListSyntax)
case tuplePatternElement(TuplePatternElementSyntax)
case tuplePattern(TuplePatternSyntax)
case tupleTypeElementList(TupleTypeElementListSyntax)
case tupleTypeElement(TupleTypeElementSyntax)
case tupleType(TupleTypeSyntax)
case typeAliasDecl(TypeAliasDeclSyntax)
case typeAnnotation(TypeAnnotationSyntax)
case typeEffectSpecifiers(TypeEffectSpecifiersSyntax)
case typeExpr(TypeExprSyntax)
case typeInitializerClause(TypeInitializerClauseSyntax)
case typeSpecifierList(TypeSpecifierListSyntax)
case unavailableFromAsyncAttributeArguments(UnavailableFromAsyncAttributeArgumentsSyntax)
case underscorePrivateAttributeArguments(UnderscorePrivateAttributeArgumentsSyntax)
case unexpectedNodes(UnexpectedNodesSyntax)
case unresolvedAsExpr(UnresolvedAsExprSyntax)
case unresolvedIsExpr(UnresolvedIsExprSyntax)
case unresolvedTernaryExpr(UnresolvedTernaryExprSyntax)
case valueBindingPattern(ValueBindingPatternSyntax)
case variableDecl(VariableDeclSyntax)
case versionComponentList(VersionComponentListSyntax)
case versionComponent(VersionComponentSyntax)
case versionTuple(VersionTupleSyntax)
case whereClause(WhereClauseSyntax)
case whileStmt(WhileStmtSyntax)
case wildcardPattern(WildcardPatternSyntax)
case yieldStmt(YieldStmtSyntax)
case yieldedExpressionList(YieldedExpressionListSyntax)
case yieldedExpression(YieldedExpressionSyntax)
case yieldedExpressionsClause(YieldedExpressionsClauseSyntax)
protocol SyntaxProtocol : CustomDebugStringConvertible, CustomReflectable, CustomStringConvertible, Sendable, TextOutputStreamable
Provide common functionality for specialized syntax nodes. Extend this protocol to provide common functionality for all syntax nodes.
class SyntaxArena
A syntax arena owns the memory for all syntax nodes within it.
protocol SyntaxHashable : Hashable
Protocol that provides a common Hashable implementation for all syntax nodes
struct SyntaxIdentifier
Provides a stable and unique identity for Syntax
nodes.
protocol Sendable
A thread-safe type whose values can be shared across arbitrary concurrent contexts without introducing a risk of data races. Values of the type may have no shared mutable state, or they may protect that state with a lock or by forcing it to only be accessed from a specific actor.