diff --git a/CodeGeneration/Sources/generate-swiftsyntax/GenerateSwiftSyntax.swift b/CodeGeneration/Sources/generate-swiftsyntax/GenerateSwiftSyntax.swift index 3c32c01409a..bd42ede58b8 100644 --- a/CodeGeneration/Sources/generate-swiftsyntax/GenerateSwiftSyntax.swift +++ b/CodeGeneration/Sources/generate-swiftsyntax/GenerateSwiftSyntax.swift @@ -98,6 +98,7 @@ struct GenerateSwiftSyntax: ParsableCommand { GeneratedFileSpec(swiftParserDiagnosticsGeneratedDir + ["TokenNameForDiagnostics.swift"], tokenNameForDiagnosticFile), // SwiftSyntax + GeneratedFileSpec(swiftSyntaxGeneratedDir + ["ChildNameForKeyPath.swift"], childNameForKeyPathFile), GeneratedFileSpec(swiftSyntaxGeneratedDir + ["Keyword.swift"], keywordFile), GeneratedFileSpec(swiftSyntaxGeneratedDir + ["raw", "RawSyntaxNodes.swift"], rawSyntaxNodesFile), GeneratedFileSpec(swiftSyntaxGeneratedDir + ["raw", "RawSyntaxValidation.swift"], rawSyntaxValidationFile), diff --git a/CodeGeneration/Sources/generate-swiftsyntax/templates/swiftsyntax/ChildNameForKeyPathFile.swift b/CodeGeneration/Sources/generate-swiftsyntax/templates/swiftsyntax/ChildNameForKeyPathFile.swift new file mode 100644 index 00000000000..fc5f3d11a90 --- /dev/null +++ b/CodeGeneration/Sources/generate-swiftsyntax/templates/swiftsyntax/ChildNameForKeyPathFile.swift @@ -0,0 +1,45 @@ +//===----------------------------------------------------------------------===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See https://swift.org/LICENSE.txt for license information +// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +import SwiftSyntax +import SwiftSyntaxBuilder +import SyntaxSupport +import Utils + +let childNameForKeyPathFile = SourceFileSyntax(leadingTrivia: copyrightHeader) { + try! FunctionDeclSyntax( + """ + /// If the keyPath is one from a layout structure, return the property name + /// of it. + internal func childName(_ keyPath: AnyKeyPath) -> String? + """ + ) { + try! SwitchExprSyntax("switch keyPath") { + for node in NON_BASE_SYNTAX_NODES where !node.isSyntaxCollection { + for child in node.children { + SwitchCaseSyntax( + """ + case \\\(raw: node.type.syntaxBaseName).\(raw: child.swiftName): + return \(literal: child.swiftName) + """ + ) + } + } + SwitchCaseSyntax( + """ + default: + return nil + """ + ) + } + } +} diff --git a/Sources/SwiftSyntax/CMakeLists.txt b/Sources/SwiftSyntax/CMakeLists.txt index 2560ee6de90..2c914bf601e 100644 --- a/Sources/SwiftSyntax/CMakeLists.txt +++ b/Sources/SwiftSyntax/CMakeLists.txt @@ -34,6 +34,7 @@ add_swift_host_library(SwiftSyntax generated/raw/RawSyntaxNodes.swift generated/raw/RawSyntaxValidation.swift + generated/ChildNameForKeyPath.swift generated/Keyword.swift generated/SyntaxAnyVisitor.swift generated/SyntaxBaseNodes.swift diff --git a/Sources/SwiftSyntax/Syntax.swift b/Sources/SwiftSyntax/Syntax.swift index d6ae1e4b9da..4cb0e2be99e 100644 --- a/Sources/SwiftSyntax/Syntax.swift +++ b/Sources/SwiftSyntax/Syntax.swift @@ -635,6 +635,11 @@ public extension SyntaxProtocol { target.write("\n") target.write(indentString) target.write(isLastChild ? "╰─" : "├─") + if let keyPath = child.keyPathInParent, let name = childName(keyPath) { + target.write("\(name): ") + } else if self.kind.isSyntaxCollection { + target.write("[\(num)]: ") + } let childIndentString = indentString + (isLastChild ? " " : "│ ") child.debugWrite( to: &target, diff --git a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift new file mode 100644 index 00000000000..18cb0682971 --- /dev/null +++ b/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift @@ -0,0 +1,3348 @@ +//// Automatically generated by generate-swiftsyntax +//// Do not edit directly! +//===----------------------------------------------------------------------===// +// +// This source file is part of the Swift.org open source project +// +// Copyright (c) 2014 - 2023 Apple Inc. and the Swift project authors +// Licensed under Apache License v2.0 with Runtime Library Exception +// +// See https://swift.org/LICENSE.txt for license information +// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors +// +//===----------------------------------------------------------------------===// + +/// If the keyPath is one from a layout structure, return the property name +/// of it. +internal func childName(_ keyPath: AnyKeyPath) -> String? { + switch keyPath { + case \AccessPathComponentSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \AccessPathComponentSyntax.name: + return "name" + case \AccessPathComponentSyntax.unexpectedBetweenNameAndTrailingDot: + return "unexpectedBetweenNameAndTrailingDot" + case \AccessPathComponentSyntax.trailingDot: + return "trailingDot" + case \AccessPathComponentSyntax.unexpectedAfterTrailingDot: + return "unexpectedAfterTrailingDot" + case \AccessorBlockSyntax.unexpectedBeforeLeftBrace: + return "unexpectedBeforeLeftBrace" + case \AccessorBlockSyntax.leftBrace: + return "leftBrace" + case \AccessorBlockSyntax.unexpectedBetweenLeftBraceAndAccessors: + return "unexpectedBetweenLeftBraceAndAccessors" + case \AccessorBlockSyntax.accessors: + return "accessors" + case \AccessorBlockSyntax.unexpectedBetweenAccessorsAndRightBrace: + return "unexpectedBetweenAccessorsAndRightBrace" + case \AccessorBlockSyntax.rightBrace: + return "rightBrace" + case \AccessorBlockSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \AccessorDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \AccessorDeclSyntax.attributes: + return "attributes" + case \AccessorDeclSyntax.unexpectedBetweenAttributesAndModifier: + return "unexpectedBetweenAttributesAndModifier" + case \AccessorDeclSyntax.modifier: + return "modifier" + case \AccessorDeclSyntax.unexpectedBetweenModifierAndAccessorKind: + return "unexpectedBetweenModifierAndAccessorKind" + case \AccessorDeclSyntax.accessorKind: + return "accessorKind" + case \AccessorDeclSyntax.unexpectedBetweenAccessorKindAndParameter: + return "unexpectedBetweenAccessorKindAndParameter" + case \AccessorDeclSyntax.parameter: + return "parameter" + case \AccessorDeclSyntax.unexpectedBetweenParameterAndEffectSpecifiers: + return "unexpectedBetweenParameterAndEffectSpecifiers" + case \AccessorDeclSyntax.effectSpecifiers: + return "effectSpecifiers" + case \AccessorDeclSyntax.unexpectedBetweenEffectSpecifiersAndBody: + return "unexpectedBetweenEffectSpecifiersAndBody" + case \AccessorDeclSyntax.body: + return "body" + case \AccessorDeclSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \AccessorEffectSpecifiersSyntax.unexpectedBeforeAsyncSpecifier: + return "unexpectedBeforeAsyncSpecifier" + case \AccessorEffectSpecifiersSyntax.asyncSpecifier: + return "asyncSpecifier" + case \AccessorEffectSpecifiersSyntax.unexpectedBetweenAsyncSpecifierAndThrowsSpecifier: + return "unexpectedBetweenAsyncSpecifierAndThrowsSpecifier" + case \AccessorEffectSpecifiersSyntax.throwsSpecifier: + return "throwsSpecifier" + case \AccessorEffectSpecifiersSyntax.unexpectedAfterThrowsSpecifier: + return "unexpectedAfterThrowsSpecifier" + case \AccessorParameterSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \AccessorParameterSyntax.leftParen: + return "leftParen" + case \AccessorParameterSyntax.unexpectedBetweenLeftParenAndName: + return "unexpectedBetweenLeftParenAndName" + case \AccessorParameterSyntax.name: + return "name" + case \AccessorParameterSyntax.unexpectedBetweenNameAndRightParen: + return "unexpectedBetweenNameAndRightParen" + case \AccessorParameterSyntax.rightParen: + return "rightParen" + case \AccessorParameterSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \ActorDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ActorDeclSyntax.attributes: + return "attributes" + case \ActorDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ActorDeclSyntax.modifiers: + return "modifiers" + case \ActorDeclSyntax.unexpectedBetweenModifiersAndActorKeyword: + return "unexpectedBetweenModifiersAndActorKeyword" + case \ActorDeclSyntax.actorKeyword: + return "actorKeyword" + case \ActorDeclSyntax.unexpectedBetweenActorKeywordAndIdentifier: + return "unexpectedBetweenActorKeywordAndIdentifier" + case \ActorDeclSyntax.identifier: + return "identifier" + case \ActorDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \ActorDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \ActorDeclSyntax.unexpectedBetweenGenericParameterClauseAndInheritanceClause: + return "unexpectedBetweenGenericParameterClauseAndInheritanceClause" + case \ActorDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \ActorDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \ActorDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \ActorDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \ActorDeclSyntax.members: + return "members" + case \ActorDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \ArrayElementSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \ArrayElementSyntax.expression: + return "expression" + case \ArrayElementSyntax.unexpectedBetweenExpressionAndTrailingComma: + return "unexpectedBetweenExpressionAndTrailingComma" + case \ArrayElementSyntax.trailingComma: + return "trailingComma" + case \ArrayElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ArrayExprSyntax.unexpectedBeforeLeftSquare: + return "unexpectedBeforeLeftSquare" + case \ArrayExprSyntax.leftSquare: + return "leftSquare" + case \ArrayExprSyntax.unexpectedBetweenLeftSquareAndElements: + return "unexpectedBetweenLeftSquareAndElements" + case \ArrayExprSyntax.elements: + return "elements" + case \ArrayExprSyntax.unexpectedBetweenElementsAndRightSquare: + return "unexpectedBetweenElementsAndRightSquare" + case \ArrayExprSyntax.rightSquare: + return "rightSquare" + case \ArrayExprSyntax.unexpectedAfterRightSquare: + return "unexpectedAfterRightSquare" + case \ArrayTypeSyntax.unexpectedBeforeLeftSquareBracket: + return "unexpectedBeforeLeftSquareBracket" + case \ArrayTypeSyntax.leftSquareBracket: + return "leftSquareBracket" + case \ArrayTypeSyntax.unexpectedBetweenLeftSquareBracketAndElementType: + return "unexpectedBetweenLeftSquareBracketAndElementType" + case \ArrayTypeSyntax.elementType: + return "elementType" + case \ArrayTypeSyntax.unexpectedBetweenElementTypeAndRightSquareBracket: + return "unexpectedBetweenElementTypeAndRightSquareBracket" + case \ArrayTypeSyntax.rightSquareBracket: + return "rightSquareBracket" + case \ArrayTypeSyntax.unexpectedAfterRightSquareBracket: + return "unexpectedAfterRightSquareBracket" + case \ArrowExprSyntax.unexpectedBeforeEffectSpecifiers: + return "unexpectedBeforeEffectSpecifiers" + case \ArrowExprSyntax.effectSpecifiers: + return "effectSpecifiers" + case \ArrowExprSyntax.unexpectedBetweenEffectSpecifiersAndArrowToken: + return "unexpectedBetweenEffectSpecifiersAndArrowToken" + case \ArrowExprSyntax.arrowToken: + return "arrowToken" + case \ArrowExprSyntax.unexpectedAfterArrowToken: + return "unexpectedAfterArrowToken" + case \AsExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \AsExprSyntax.expression: + return "expression" + case \AsExprSyntax.unexpectedBetweenExpressionAndAsTok: + return "unexpectedBetweenExpressionAndAsTok" + case \AsExprSyntax.asTok: + return "asTok" + case \AsExprSyntax.unexpectedBetweenAsTokAndQuestionOrExclamationMark: + return "unexpectedBetweenAsTokAndQuestionOrExclamationMark" + case \AsExprSyntax.questionOrExclamationMark: + return "questionOrExclamationMark" + case \AsExprSyntax.unexpectedBetweenQuestionOrExclamationMarkAndTypeName: + return "unexpectedBetweenQuestionOrExclamationMarkAndTypeName" + case \AsExprSyntax.typeName: + return "typeName" + case \AsExprSyntax.unexpectedAfterTypeName: + return "unexpectedAfterTypeName" + case \AssignmentExprSyntax.unexpectedBeforeAssignToken: + return "unexpectedBeforeAssignToken" + case \AssignmentExprSyntax.assignToken: + return "assignToken" + case \AssignmentExprSyntax.unexpectedAfterAssignToken: + return "unexpectedAfterAssignToken" + case \AssociatedtypeDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \AssociatedtypeDeclSyntax.attributes: + return "attributes" + case \AssociatedtypeDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \AssociatedtypeDeclSyntax.modifiers: + return "modifiers" + case \AssociatedtypeDeclSyntax.unexpectedBetweenModifiersAndAssociatedtypeKeyword: + return "unexpectedBetweenModifiersAndAssociatedtypeKeyword" + case \AssociatedtypeDeclSyntax.associatedtypeKeyword: + return "associatedtypeKeyword" + case \AssociatedtypeDeclSyntax.unexpectedBetweenAssociatedtypeKeywordAndIdentifier: + return "unexpectedBetweenAssociatedtypeKeywordAndIdentifier" + case \AssociatedtypeDeclSyntax.identifier: + return "identifier" + case \AssociatedtypeDeclSyntax.unexpectedBetweenIdentifierAndInheritanceClause: + return "unexpectedBetweenIdentifierAndInheritanceClause" + case \AssociatedtypeDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \AssociatedtypeDeclSyntax.unexpectedBetweenInheritanceClauseAndInitializer: + return "unexpectedBetweenInheritanceClauseAndInitializer" + case \AssociatedtypeDeclSyntax.initializer: + return "initializer" + case \AssociatedtypeDeclSyntax.unexpectedBetweenInitializerAndGenericWhereClause: + return "unexpectedBetweenInitializerAndGenericWhereClause" + case \AssociatedtypeDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \AssociatedtypeDeclSyntax.unexpectedAfterGenericWhereClause: + return "unexpectedAfterGenericWhereClause" + case \AttributeSyntax.unexpectedBeforeAtSignToken: + return "unexpectedBeforeAtSignToken" + case \AttributeSyntax.atSignToken: + return "atSignToken" + case \AttributeSyntax.unexpectedBetweenAtSignTokenAndAttributeName: + return "unexpectedBetweenAtSignTokenAndAttributeName" + case \AttributeSyntax.attributeName: + return "attributeName" + case \AttributeSyntax.unexpectedBetweenAttributeNameAndLeftParen: + return "unexpectedBetweenAttributeNameAndLeftParen" + case \AttributeSyntax.leftParen: + return "leftParen" + case \AttributeSyntax.unexpectedBetweenLeftParenAndArgument: + return "unexpectedBetweenLeftParenAndArgument" + case \AttributeSyntax.argument: + return "argument" + case \AttributeSyntax.unexpectedBetweenArgumentAndRightParen: + return "unexpectedBetweenArgumentAndRightParen" + case \AttributeSyntax.rightParen: + return "rightParen" + case \AttributeSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \AttributedTypeSyntax.unexpectedBeforeSpecifier: + return "unexpectedBeforeSpecifier" + case \AttributedTypeSyntax.specifier: + return "specifier" + case \AttributedTypeSyntax.unexpectedBetweenSpecifierAndAttributes: + return "unexpectedBetweenSpecifierAndAttributes" + case \AttributedTypeSyntax.attributes: + return "attributes" + case \AttributedTypeSyntax.unexpectedBetweenAttributesAndBaseType: + return "unexpectedBetweenAttributesAndBaseType" + case \AttributedTypeSyntax.baseType: + return "baseType" + case \AttributedTypeSyntax.unexpectedAfterBaseType: + return "unexpectedAfterBaseType" + case \AvailabilityArgumentSyntax.unexpectedBeforeEntry: + return "unexpectedBeforeEntry" + case \AvailabilityArgumentSyntax.entry: + return "entry" + case \AvailabilityArgumentSyntax.unexpectedBetweenEntryAndTrailingComma: + return "unexpectedBetweenEntryAndTrailingComma" + case \AvailabilityArgumentSyntax.trailingComma: + return "trailingComma" + case \AvailabilityArgumentSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \AvailabilityConditionSyntax.unexpectedBeforeAvailabilityKeyword: + return "unexpectedBeforeAvailabilityKeyword" + case \AvailabilityConditionSyntax.availabilityKeyword: + return "availabilityKeyword" + case \AvailabilityConditionSyntax.unexpectedBetweenAvailabilityKeywordAndLeftParen: + return "unexpectedBetweenAvailabilityKeywordAndLeftParen" + case \AvailabilityConditionSyntax.leftParen: + return "leftParen" + case \AvailabilityConditionSyntax.unexpectedBetweenLeftParenAndAvailabilitySpec: + return "unexpectedBetweenLeftParenAndAvailabilitySpec" + case \AvailabilityConditionSyntax.availabilitySpec: + return "availabilitySpec" + case \AvailabilityConditionSyntax.unexpectedBetweenAvailabilitySpecAndRightParen: + return "unexpectedBetweenAvailabilitySpecAndRightParen" + case \AvailabilityConditionSyntax.rightParen: + return "rightParen" + case \AvailabilityConditionSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \AvailabilityEntrySyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \AvailabilityEntrySyntax.label: + return "label" + case \AvailabilityEntrySyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \AvailabilityEntrySyntax.colon: + return "colon" + case \AvailabilityEntrySyntax.unexpectedBetweenColonAndAvailabilityList: + return "unexpectedBetweenColonAndAvailabilityList" + case \AvailabilityEntrySyntax.availabilityList: + return "availabilityList" + case \AvailabilityEntrySyntax.unexpectedBetweenAvailabilityListAndSemicolon: + return "unexpectedBetweenAvailabilityListAndSemicolon" + case \AvailabilityEntrySyntax.semicolon: + return "semicolon" + case \AvailabilityEntrySyntax.unexpectedAfterSemicolon: + return "unexpectedAfterSemicolon" + case \AvailabilityLabeledArgumentSyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \AvailabilityLabeledArgumentSyntax.label: + return "label" + case \AvailabilityLabeledArgumentSyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \AvailabilityLabeledArgumentSyntax.colon: + return "colon" + case \AvailabilityLabeledArgumentSyntax.unexpectedBetweenColonAndValue: + return "unexpectedBetweenColonAndValue" + case \AvailabilityLabeledArgumentSyntax.value: + return "value" + case \AvailabilityLabeledArgumentSyntax.unexpectedAfterValue: + return "unexpectedAfterValue" + case \AvailabilityVersionRestrictionListEntrySyntax.unexpectedBeforeAvailabilityVersionRestriction: + return "unexpectedBeforeAvailabilityVersionRestriction" + case \AvailabilityVersionRestrictionListEntrySyntax.availabilityVersionRestriction: + return "availabilityVersionRestriction" + case \AvailabilityVersionRestrictionListEntrySyntax.unexpectedBetweenAvailabilityVersionRestrictionAndTrailingComma: + return "unexpectedBetweenAvailabilityVersionRestrictionAndTrailingComma" + case \AvailabilityVersionRestrictionListEntrySyntax.trailingComma: + return "trailingComma" + case \AvailabilityVersionRestrictionListEntrySyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \AvailabilityVersionRestrictionSyntax.unexpectedBeforePlatform: + return "unexpectedBeforePlatform" + case \AvailabilityVersionRestrictionSyntax.platform: + return "platform" + case \AvailabilityVersionRestrictionSyntax.unexpectedBetweenPlatformAndVersion: + return "unexpectedBetweenPlatformAndVersion" + case \AvailabilityVersionRestrictionSyntax.version: + return "version" + case \AvailabilityVersionRestrictionSyntax.unexpectedAfterVersion: + return "unexpectedAfterVersion" + case \AwaitExprSyntax.unexpectedBeforeAwaitKeyword: + return "unexpectedBeforeAwaitKeyword" + case \AwaitExprSyntax.awaitKeyword: + return "awaitKeyword" + case \AwaitExprSyntax.unexpectedBetweenAwaitKeywordAndExpression: + return "unexpectedBetweenAwaitKeywordAndExpression" + case \AwaitExprSyntax.expression: + return "expression" + case \AwaitExprSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \BackDeployedAttributeSpecListSyntax.unexpectedBeforeBeforeLabel: + return "unexpectedBeforeBeforeLabel" + case \BackDeployedAttributeSpecListSyntax.beforeLabel: + return "beforeLabel" + case \BackDeployedAttributeSpecListSyntax.unexpectedBetweenBeforeLabelAndColon: + return "unexpectedBetweenBeforeLabelAndColon" + case \BackDeployedAttributeSpecListSyntax.colon: + return "colon" + case \BackDeployedAttributeSpecListSyntax.unexpectedBetweenColonAndVersionList: + return "unexpectedBetweenColonAndVersionList" + case \BackDeployedAttributeSpecListSyntax.versionList: + return "versionList" + case \BackDeployedAttributeSpecListSyntax.unexpectedAfterVersionList: + return "unexpectedAfterVersionList" + case \BinaryOperatorExprSyntax.unexpectedBeforeOperatorToken: + return "unexpectedBeforeOperatorToken" + case \BinaryOperatorExprSyntax.operatorToken: + return "operatorToken" + case \BinaryOperatorExprSyntax.unexpectedAfterOperatorToken: + return "unexpectedAfterOperatorToken" + case \BooleanLiteralExprSyntax.unexpectedBeforeBooleanLiteral: + return "unexpectedBeforeBooleanLiteral" + case \BooleanLiteralExprSyntax.booleanLiteral: + return "booleanLiteral" + case \BooleanLiteralExprSyntax.unexpectedAfterBooleanLiteral: + return "unexpectedAfterBooleanLiteral" + case \BorrowExprSyntax.unexpectedBeforeBorrowKeyword: + return "unexpectedBeforeBorrowKeyword" + case \BorrowExprSyntax.borrowKeyword: + return "borrowKeyword" + case \BorrowExprSyntax.unexpectedBetweenBorrowKeywordAndExpression: + return "unexpectedBetweenBorrowKeywordAndExpression" + case \BorrowExprSyntax.expression: + return "expression" + case \BorrowExprSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \BreakStmtSyntax.unexpectedBeforeBreakKeyword: + return "unexpectedBeforeBreakKeyword" + case \BreakStmtSyntax.breakKeyword: + return "breakKeyword" + case \BreakStmtSyntax.unexpectedBetweenBreakKeywordAndLabel: + return "unexpectedBetweenBreakKeywordAndLabel" + case \BreakStmtSyntax.label: + return "label" + case \BreakStmtSyntax.unexpectedAfterLabel: + return "unexpectedAfterLabel" + case \CaseItemSyntax.unexpectedBeforePattern: + return "unexpectedBeforePattern" + case \CaseItemSyntax.pattern: + return "pattern" + case \CaseItemSyntax.unexpectedBetweenPatternAndWhereClause: + return "unexpectedBetweenPatternAndWhereClause" + case \CaseItemSyntax.whereClause: + return "whereClause" + case \CaseItemSyntax.unexpectedBetweenWhereClauseAndTrailingComma: + return "unexpectedBetweenWhereClauseAndTrailingComma" + case \CaseItemSyntax.trailingComma: + return "trailingComma" + case \CaseItemSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \CatchClauseSyntax.unexpectedBeforeCatchKeyword: + return "unexpectedBeforeCatchKeyword" + case \CatchClauseSyntax.catchKeyword: + return "catchKeyword" + case \CatchClauseSyntax.unexpectedBetweenCatchKeywordAndCatchItems: + return "unexpectedBetweenCatchKeywordAndCatchItems" + case \CatchClauseSyntax.catchItems: + return "catchItems" + case \CatchClauseSyntax.unexpectedBetweenCatchItemsAndBody: + return "unexpectedBetweenCatchItemsAndBody" + case \CatchClauseSyntax.body: + return "body" + case \CatchClauseSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \CatchItemSyntax.unexpectedBeforePattern: + return "unexpectedBeforePattern" + case \CatchItemSyntax.pattern: + return "pattern" + case \CatchItemSyntax.unexpectedBetweenPatternAndWhereClause: + return "unexpectedBetweenPatternAndWhereClause" + case \CatchItemSyntax.whereClause: + return "whereClause" + case \CatchItemSyntax.unexpectedBetweenWhereClauseAndTrailingComma: + return "unexpectedBetweenWhereClauseAndTrailingComma" + case \CatchItemSyntax.trailingComma: + return "trailingComma" + case \CatchItemSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ClassDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ClassDeclSyntax.attributes: + return "attributes" + case \ClassDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ClassDeclSyntax.modifiers: + return "modifiers" + case \ClassDeclSyntax.unexpectedBetweenModifiersAndClassKeyword: + return "unexpectedBetweenModifiersAndClassKeyword" + case \ClassDeclSyntax.classKeyword: + return "classKeyword" + case \ClassDeclSyntax.unexpectedBetweenClassKeywordAndIdentifier: + return "unexpectedBetweenClassKeywordAndIdentifier" + case \ClassDeclSyntax.identifier: + return "identifier" + case \ClassDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \ClassDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \ClassDeclSyntax.unexpectedBetweenGenericParameterClauseAndInheritanceClause: + return "unexpectedBetweenGenericParameterClauseAndInheritanceClause" + case \ClassDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \ClassDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \ClassDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \ClassDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \ClassDeclSyntax.members: + return "members" + case \ClassDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \ClassRestrictionTypeSyntax.unexpectedBeforeClassKeyword: + return "unexpectedBeforeClassKeyword" + case \ClassRestrictionTypeSyntax.classKeyword: + return "classKeyword" + case \ClassRestrictionTypeSyntax.unexpectedAfterClassKeyword: + return "unexpectedAfterClassKeyword" + case \ClosureCaptureItemSpecifierSyntax.unexpectedBeforeSpecifier: + return "unexpectedBeforeSpecifier" + case \ClosureCaptureItemSpecifierSyntax.specifier: + return "specifier" + case \ClosureCaptureItemSpecifierSyntax.unexpectedBetweenSpecifierAndLeftParen: + return "unexpectedBetweenSpecifierAndLeftParen" + case \ClosureCaptureItemSpecifierSyntax.leftParen: + return "leftParen" + case \ClosureCaptureItemSpecifierSyntax.unexpectedBetweenLeftParenAndDetail: + return "unexpectedBetweenLeftParenAndDetail" + case \ClosureCaptureItemSpecifierSyntax.detail: + return "detail" + case \ClosureCaptureItemSpecifierSyntax.unexpectedBetweenDetailAndRightParen: + return "unexpectedBetweenDetailAndRightParen" + case \ClosureCaptureItemSpecifierSyntax.rightParen: + return "rightParen" + case \ClosureCaptureItemSpecifierSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \ClosureCaptureItemSyntax.unexpectedBeforeSpecifier: + return "unexpectedBeforeSpecifier" + case \ClosureCaptureItemSyntax.specifier: + return "specifier" + case \ClosureCaptureItemSyntax.unexpectedBetweenSpecifierAndName: + return "unexpectedBetweenSpecifierAndName" + case \ClosureCaptureItemSyntax.name: + return "name" + case \ClosureCaptureItemSyntax.unexpectedBetweenNameAndAssignToken: + return "unexpectedBetweenNameAndAssignToken" + case \ClosureCaptureItemSyntax.assignToken: + return "assignToken" + case \ClosureCaptureItemSyntax.unexpectedBetweenAssignTokenAndExpression: + return "unexpectedBetweenAssignTokenAndExpression" + case \ClosureCaptureItemSyntax.expression: + return "expression" + case \ClosureCaptureItemSyntax.unexpectedBetweenExpressionAndTrailingComma: + return "unexpectedBetweenExpressionAndTrailingComma" + case \ClosureCaptureItemSyntax.trailingComma: + return "trailingComma" + case \ClosureCaptureItemSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ClosureCaptureSignatureSyntax.unexpectedBeforeLeftSquare: + return "unexpectedBeforeLeftSquare" + case \ClosureCaptureSignatureSyntax.leftSquare: + return "leftSquare" + case \ClosureCaptureSignatureSyntax.unexpectedBetweenLeftSquareAndItems: + return "unexpectedBetweenLeftSquareAndItems" + case \ClosureCaptureSignatureSyntax.items: + return "items" + case \ClosureCaptureSignatureSyntax.unexpectedBetweenItemsAndRightSquare: + return "unexpectedBetweenItemsAndRightSquare" + case \ClosureCaptureSignatureSyntax.rightSquare: + return "rightSquare" + case \ClosureCaptureSignatureSyntax.unexpectedAfterRightSquare: + return "unexpectedAfterRightSquare" + case \ClosureExprSyntax.unexpectedBeforeLeftBrace: + return "unexpectedBeforeLeftBrace" + case \ClosureExprSyntax.leftBrace: + return "leftBrace" + case \ClosureExprSyntax.unexpectedBetweenLeftBraceAndSignature: + return "unexpectedBetweenLeftBraceAndSignature" + case \ClosureExprSyntax.signature: + return "signature" + case \ClosureExprSyntax.unexpectedBetweenSignatureAndStatements: + return "unexpectedBetweenSignatureAndStatements" + case \ClosureExprSyntax.statements: + return "statements" + case \ClosureExprSyntax.unexpectedBetweenStatementsAndRightBrace: + return "unexpectedBetweenStatementsAndRightBrace" + case \ClosureExprSyntax.rightBrace: + return "rightBrace" + case \ClosureExprSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \ClosureParamSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \ClosureParamSyntax.name: + return "name" + case \ClosureParamSyntax.unexpectedBetweenNameAndTrailingComma: + return "unexpectedBetweenNameAndTrailingComma" + case \ClosureParamSyntax.trailingComma: + return "trailingComma" + case \ClosureParamSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ClosureParameterClauseSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \ClosureParameterClauseSyntax.leftParen: + return "leftParen" + case \ClosureParameterClauseSyntax.unexpectedBetweenLeftParenAndParameterList: + return "unexpectedBetweenLeftParenAndParameterList" + case \ClosureParameterClauseSyntax.parameterList: + return "parameterList" + case \ClosureParameterClauseSyntax.unexpectedBetweenParameterListAndRightParen: + return "unexpectedBetweenParameterListAndRightParen" + case \ClosureParameterClauseSyntax.rightParen: + return "rightParen" + case \ClosureParameterClauseSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \ClosureParameterSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ClosureParameterSyntax.attributes: + return "attributes" + case \ClosureParameterSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ClosureParameterSyntax.modifiers: + return "modifiers" + case \ClosureParameterSyntax.unexpectedBetweenModifiersAndFirstName: + return "unexpectedBetweenModifiersAndFirstName" + case \ClosureParameterSyntax.firstName: + return "firstName" + case \ClosureParameterSyntax.unexpectedBetweenFirstNameAndSecondName: + return "unexpectedBetweenFirstNameAndSecondName" + case \ClosureParameterSyntax.secondName: + return "secondName" + case \ClosureParameterSyntax.unexpectedBetweenSecondNameAndColon: + return "unexpectedBetweenSecondNameAndColon" + case \ClosureParameterSyntax.colon: + return "colon" + case \ClosureParameterSyntax.unexpectedBetweenColonAndType: + return "unexpectedBetweenColonAndType" + case \ClosureParameterSyntax.type: + return "type" + case \ClosureParameterSyntax.unexpectedBetweenTypeAndEllipsis: + return "unexpectedBetweenTypeAndEllipsis" + case \ClosureParameterSyntax.ellipsis: + return "ellipsis" + case \ClosureParameterSyntax.unexpectedBetweenEllipsisAndTrailingComma: + return "unexpectedBetweenEllipsisAndTrailingComma" + case \ClosureParameterSyntax.trailingComma: + return "trailingComma" + case \ClosureParameterSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ClosureSignatureSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ClosureSignatureSyntax.attributes: + return "attributes" + case \ClosureSignatureSyntax.unexpectedBetweenAttributesAndCapture: + return "unexpectedBetweenAttributesAndCapture" + case \ClosureSignatureSyntax.capture: + return "capture" + case \ClosureSignatureSyntax.unexpectedBetweenCaptureAndInput: + return "unexpectedBetweenCaptureAndInput" + case \ClosureSignatureSyntax.input: + return "input" + case \ClosureSignatureSyntax.unexpectedBetweenInputAndEffectSpecifiers: + return "unexpectedBetweenInputAndEffectSpecifiers" + case \ClosureSignatureSyntax.effectSpecifiers: + return "effectSpecifiers" + case \ClosureSignatureSyntax.unexpectedBetweenEffectSpecifiersAndOutput: + return "unexpectedBetweenEffectSpecifiersAndOutput" + case \ClosureSignatureSyntax.output: + return "output" + case \ClosureSignatureSyntax.unexpectedBetweenOutputAndInTok: + return "unexpectedBetweenOutputAndInTok" + case \ClosureSignatureSyntax.inTok: + return "inTok" + case \ClosureSignatureSyntax.unexpectedAfterInTok: + return "unexpectedAfterInTok" + case \CodeBlockItemSyntax.unexpectedBeforeItem: + return "unexpectedBeforeItem" + case \CodeBlockItemSyntax.item: + return "item" + case \CodeBlockItemSyntax.unexpectedBetweenItemAndSemicolon: + return "unexpectedBetweenItemAndSemicolon" + case \CodeBlockItemSyntax.semicolon: + return "semicolon" + case \CodeBlockItemSyntax.unexpectedAfterSemicolon: + return "unexpectedAfterSemicolon" + case \CodeBlockSyntax.unexpectedBeforeLeftBrace: + return "unexpectedBeforeLeftBrace" + case \CodeBlockSyntax.leftBrace: + return "leftBrace" + case \CodeBlockSyntax.unexpectedBetweenLeftBraceAndStatements: + return "unexpectedBetweenLeftBraceAndStatements" + case \CodeBlockSyntax.statements: + return "statements" + case \CodeBlockSyntax.unexpectedBetweenStatementsAndRightBrace: + return "unexpectedBetweenStatementsAndRightBrace" + case \CodeBlockSyntax.rightBrace: + return "rightBrace" + case \CodeBlockSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \CompositionTypeElementSyntax.unexpectedBeforeType: + return "unexpectedBeforeType" + case \CompositionTypeElementSyntax.type: + return "type" + case \CompositionTypeElementSyntax.unexpectedBetweenTypeAndAmpersand: + return "unexpectedBetweenTypeAndAmpersand" + case \CompositionTypeElementSyntax.ampersand: + return "ampersand" + case \CompositionTypeElementSyntax.unexpectedAfterAmpersand: + return "unexpectedAfterAmpersand" + case \CompositionTypeSyntax.unexpectedBeforeElements: + return "unexpectedBeforeElements" + case \CompositionTypeSyntax.elements: + return "elements" + case \CompositionTypeSyntax.unexpectedAfterElements: + return "unexpectedAfterElements" + case \ConditionElementSyntax.unexpectedBeforeCondition: + return "unexpectedBeforeCondition" + case \ConditionElementSyntax.condition: + return "condition" + case \ConditionElementSyntax.unexpectedBetweenConditionAndTrailingComma: + return "unexpectedBetweenConditionAndTrailingComma" + case \ConditionElementSyntax.trailingComma: + return "trailingComma" + case \ConditionElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ConformanceRequirementSyntax.unexpectedBeforeLeftTypeIdentifier: + return "unexpectedBeforeLeftTypeIdentifier" + case \ConformanceRequirementSyntax.leftTypeIdentifier: + return "leftTypeIdentifier" + case \ConformanceRequirementSyntax.unexpectedBetweenLeftTypeIdentifierAndColon: + return "unexpectedBetweenLeftTypeIdentifierAndColon" + case \ConformanceRequirementSyntax.colon: + return "colon" + case \ConformanceRequirementSyntax.unexpectedBetweenColonAndRightTypeIdentifier: + return "unexpectedBetweenColonAndRightTypeIdentifier" + case \ConformanceRequirementSyntax.rightTypeIdentifier: + return "rightTypeIdentifier" + case \ConformanceRequirementSyntax.unexpectedAfterRightTypeIdentifier: + return "unexpectedAfterRightTypeIdentifier" + case \ConstrainedSugarTypeSyntax.unexpectedBeforeSomeOrAnySpecifier: + return "unexpectedBeforeSomeOrAnySpecifier" + case \ConstrainedSugarTypeSyntax.someOrAnySpecifier: + return "someOrAnySpecifier" + case \ConstrainedSugarTypeSyntax.unexpectedBetweenSomeOrAnySpecifierAndBaseType: + return "unexpectedBetweenSomeOrAnySpecifierAndBaseType" + case \ConstrainedSugarTypeSyntax.baseType: + return "baseType" + case \ConstrainedSugarTypeSyntax.unexpectedAfterBaseType: + return "unexpectedAfterBaseType" + case \ContinueStmtSyntax.unexpectedBeforeContinueKeyword: + return "unexpectedBeforeContinueKeyword" + case \ContinueStmtSyntax.continueKeyword: + return "continueKeyword" + case \ContinueStmtSyntax.unexpectedBetweenContinueKeywordAndLabel: + return "unexpectedBetweenContinueKeywordAndLabel" + case \ContinueStmtSyntax.label: + return "label" + case \ContinueStmtSyntax.unexpectedAfterLabel: + return "unexpectedAfterLabel" + case \ConventionAttributeArgumentsSyntax.unexpectedBeforeConventionLabel: + return "unexpectedBeforeConventionLabel" + case \ConventionAttributeArgumentsSyntax.conventionLabel: + return "conventionLabel" + case \ConventionAttributeArgumentsSyntax.unexpectedBetweenConventionLabelAndComma: + return "unexpectedBetweenConventionLabelAndComma" + case \ConventionAttributeArgumentsSyntax.comma: + return "comma" + case \ConventionAttributeArgumentsSyntax.unexpectedBetweenCommaAndCTypeLabel: + return "unexpectedBetweenCommaAndCTypeLabel" + case \ConventionAttributeArgumentsSyntax.cTypeLabel: + return "cTypeLabel" + case \ConventionAttributeArgumentsSyntax.unexpectedBetweenCTypeLabelAndColon: + return "unexpectedBetweenCTypeLabelAndColon" + case \ConventionAttributeArgumentsSyntax.colon: + return "colon" + case \ConventionAttributeArgumentsSyntax.unexpectedBetweenColonAndCTypeString: + return "unexpectedBetweenColonAndCTypeString" + case \ConventionAttributeArgumentsSyntax.cTypeString: + return "cTypeString" + case \ConventionAttributeArgumentsSyntax.unexpectedAfterCTypeString: + return "unexpectedAfterCTypeString" + case \ConventionWitnessMethodAttributeArgumentsSyntax.unexpectedBeforeWitnessMethodLabel: + return "unexpectedBeforeWitnessMethodLabel" + case \ConventionWitnessMethodAttributeArgumentsSyntax.witnessMethodLabel: + return "witnessMethodLabel" + case \ConventionWitnessMethodAttributeArgumentsSyntax.unexpectedBetweenWitnessMethodLabelAndColon: + return "unexpectedBetweenWitnessMethodLabelAndColon" + case \ConventionWitnessMethodAttributeArgumentsSyntax.colon: + return "colon" + case \ConventionWitnessMethodAttributeArgumentsSyntax.unexpectedBetweenColonAndProtocolName: + return "unexpectedBetweenColonAndProtocolName" + case \ConventionWitnessMethodAttributeArgumentsSyntax.protocolName: + return "protocolName" + case \ConventionWitnessMethodAttributeArgumentsSyntax.unexpectedAfterProtocolName: + return "unexpectedAfterProtocolName" + case \DeclModifierDetailSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \DeclModifierDetailSyntax.leftParen: + return "leftParen" + case \DeclModifierDetailSyntax.unexpectedBetweenLeftParenAndDetail: + return "unexpectedBetweenLeftParenAndDetail" + case \DeclModifierDetailSyntax.detail: + return "detail" + case \DeclModifierDetailSyntax.unexpectedBetweenDetailAndRightParen: + return "unexpectedBetweenDetailAndRightParen" + case \DeclModifierDetailSyntax.rightParen: + return "rightParen" + case \DeclModifierDetailSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \DeclModifierSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \DeclModifierSyntax.name: + return "name" + case \DeclModifierSyntax.unexpectedBetweenNameAndDetail: + return "unexpectedBetweenNameAndDetail" + case \DeclModifierSyntax.detail: + return "detail" + case \DeclModifierSyntax.unexpectedAfterDetail: + return "unexpectedAfterDetail" + case \DeclNameArgumentSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \DeclNameArgumentSyntax.name: + return "name" + case \DeclNameArgumentSyntax.unexpectedBetweenNameAndColon: + return "unexpectedBetweenNameAndColon" + case \DeclNameArgumentSyntax.colon: + return "colon" + case \DeclNameArgumentSyntax.unexpectedAfterColon: + return "unexpectedAfterColon" + case \DeclNameArgumentsSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \DeclNameArgumentsSyntax.leftParen: + return "leftParen" + case \DeclNameArgumentsSyntax.unexpectedBetweenLeftParenAndArguments: + return "unexpectedBetweenLeftParenAndArguments" + case \DeclNameArgumentsSyntax.arguments: + return "arguments" + case \DeclNameArgumentsSyntax.unexpectedBetweenArgumentsAndRightParen: + return "unexpectedBetweenArgumentsAndRightParen" + case \DeclNameArgumentsSyntax.rightParen: + return "rightParen" + case \DeclNameArgumentsSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \DeclNameSyntax.unexpectedBeforeDeclBaseName: + return "unexpectedBeforeDeclBaseName" + case \DeclNameSyntax.declBaseName: + return "declBaseName" + case \DeclNameSyntax.unexpectedBetweenDeclBaseNameAndDeclNameArguments: + return "unexpectedBetweenDeclBaseNameAndDeclNameArguments" + case \DeclNameSyntax.declNameArguments: + return "declNameArguments" + case \DeclNameSyntax.unexpectedAfterDeclNameArguments: + return "unexpectedAfterDeclNameArguments" + case \DeferStmtSyntax.unexpectedBeforeDeferKeyword: + return "unexpectedBeforeDeferKeyword" + case \DeferStmtSyntax.deferKeyword: + return "deferKeyword" + case \DeferStmtSyntax.unexpectedBetweenDeferKeywordAndBody: + return "unexpectedBetweenDeferKeywordAndBody" + case \DeferStmtSyntax.body: + return "body" + case \DeferStmtSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \DeinitializerDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \DeinitializerDeclSyntax.attributes: + return "attributes" + case \DeinitializerDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \DeinitializerDeclSyntax.modifiers: + return "modifiers" + case \DeinitializerDeclSyntax.unexpectedBetweenModifiersAndDeinitKeyword: + return "unexpectedBetweenModifiersAndDeinitKeyword" + case \DeinitializerDeclSyntax.deinitKeyword: + return "deinitKeyword" + case \DeinitializerDeclSyntax.unexpectedBetweenDeinitKeywordAndBody: + return "unexpectedBetweenDeinitKeywordAndBody" + case \DeinitializerDeclSyntax.body: + return "body" + case \DeinitializerDeclSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBeforeOfLabel: + return "unexpectedBeforeOfLabel" + case \DerivativeRegistrationAttributeArgumentsSyntax.ofLabel: + return "ofLabel" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenOfLabelAndColon: + return "unexpectedBetweenOfLabelAndColon" + case \DerivativeRegistrationAttributeArgumentsSyntax.colon: + return "colon" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenColonAndOriginalDeclName: + return "unexpectedBetweenColonAndOriginalDeclName" + case \DerivativeRegistrationAttributeArgumentsSyntax.originalDeclName: + return "originalDeclName" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenOriginalDeclNameAndPeriod: + return "unexpectedBetweenOriginalDeclNameAndPeriod" + case \DerivativeRegistrationAttributeArgumentsSyntax.period: + return "period" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenPeriodAndAccessorKind: + return "unexpectedBetweenPeriodAndAccessorKind" + case \DerivativeRegistrationAttributeArgumentsSyntax.accessorKind: + return "accessorKind" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenAccessorKindAndComma: + return "unexpectedBetweenAccessorKindAndComma" + case \DerivativeRegistrationAttributeArgumentsSyntax.comma: + return "comma" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedBetweenCommaAndDiffParams: + return "unexpectedBetweenCommaAndDiffParams" + case \DerivativeRegistrationAttributeArgumentsSyntax.diffParams: + return "diffParams" + case \DerivativeRegistrationAttributeArgumentsSyntax.unexpectedAfterDiffParams: + return "unexpectedAfterDiffParams" + case \DesignatedTypeElementSyntax.unexpectedBeforeLeadingComma: + return "unexpectedBeforeLeadingComma" + case \DesignatedTypeElementSyntax.leadingComma: + return "leadingComma" + case \DesignatedTypeElementSyntax.unexpectedBetweenLeadingCommaAndName: + return "unexpectedBetweenLeadingCommaAndName" + case \DesignatedTypeElementSyntax.name: + return "name" + case \DesignatedTypeElementSyntax.unexpectedAfterName: + return "unexpectedAfterName" + case \DictionaryElementSyntax.unexpectedBeforeKeyExpression: + return "unexpectedBeforeKeyExpression" + case \DictionaryElementSyntax.keyExpression: + return "keyExpression" + case \DictionaryElementSyntax.unexpectedBetweenKeyExpressionAndColon: + return "unexpectedBetweenKeyExpressionAndColon" + case \DictionaryElementSyntax.colon: + return "colon" + case \DictionaryElementSyntax.unexpectedBetweenColonAndValueExpression: + return "unexpectedBetweenColonAndValueExpression" + case \DictionaryElementSyntax.valueExpression: + return "valueExpression" + case \DictionaryElementSyntax.unexpectedBetweenValueExpressionAndTrailingComma: + return "unexpectedBetweenValueExpressionAndTrailingComma" + case \DictionaryElementSyntax.trailingComma: + return "trailingComma" + case \DictionaryElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \DictionaryExprSyntax.unexpectedBeforeLeftSquare: + return "unexpectedBeforeLeftSquare" + case \DictionaryExprSyntax.leftSquare: + return "leftSquare" + case \DictionaryExprSyntax.unexpectedBetweenLeftSquareAndContent: + return "unexpectedBetweenLeftSquareAndContent" + case \DictionaryExprSyntax.content: + return "content" + case \DictionaryExprSyntax.unexpectedBetweenContentAndRightSquare: + return "unexpectedBetweenContentAndRightSquare" + case \DictionaryExprSyntax.rightSquare: + return "rightSquare" + case \DictionaryExprSyntax.unexpectedAfterRightSquare: + return "unexpectedAfterRightSquare" + case \DictionaryTypeSyntax.unexpectedBeforeLeftSquareBracket: + return "unexpectedBeforeLeftSquareBracket" + case \DictionaryTypeSyntax.leftSquareBracket: + return "leftSquareBracket" + case \DictionaryTypeSyntax.unexpectedBetweenLeftSquareBracketAndKeyType: + return "unexpectedBetweenLeftSquareBracketAndKeyType" + case \DictionaryTypeSyntax.keyType: + return "keyType" + case \DictionaryTypeSyntax.unexpectedBetweenKeyTypeAndColon: + return "unexpectedBetweenKeyTypeAndColon" + case \DictionaryTypeSyntax.colon: + return "colon" + case \DictionaryTypeSyntax.unexpectedBetweenColonAndValueType: + return "unexpectedBetweenColonAndValueType" + case \DictionaryTypeSyntax.valueType: + return "valueType" + case \DictionaryTypeSyntax.unexpectedBetweenValueTypeAndRightSquareBracket: + return "unexpectedBetweenValueTypeAndRightSquareBracket" + case \DictionaryTypeSyntax.rightSquareBracket: + return "rightSquareBracket" + case \DictionaryTypeSyntax.unexpectedAfterRightSquareBracket: + return "unexpectedAfterRightSquareBracket" + case \DifferentiabilityParamSyntax.unexpectedBeforeParameter: + return "unexpectedBeforeParameter" + case \DifferentiabilityParamSyntax.parameter: + return "parameter" + case \DifferentiabilityParamSyntax.unexpectedBetweenParameterAndTrailingComma: + return "unexpectedBetweenParameterAndTrailingComma" + case \DifferentiabilityParamSyntax.trailingComma: + return "trailingComma" + case \DifferentiabilityParamSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \DifferentiabilityParamsClauseSyntax.unexpectedBeforeWrtLabel: + return "unexpectedBeforeWrtLabel" + case \DifferentiabilityParamsClauseSyntax.wrtLabel: + return "wrtLabel" + case \DifferentiabilityParamsClauseSyntax.unexpectedBetweenWrtLabelAndColon: + return "unexpectedBetweenWrtLabelAndColon" + case \DifferentiabilityParamsClauseSyntax.colon: + return "colon" + case \DifferentiabilityParamsClauseSyntax.unexpectedBetweenColonAndParameters: + return "unexpectedBetweenColonAndParameters" + case \DifferentiabilityParamsClauseSyntax.parameters: + return "parameters" + case \DifferentiabilityParamsClauseSyntax.unexpectedAfterParameters: + return "unexpectedAfterParameters" + case \DifferentiabilityParamsSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \DifferentiabilityParamsSyntax.leftParen: + return "leftParen" + case \DifferentiabilityParamsSyntax.unexpectedBetweenLeftParenAndDiffParams: + return "unexpectedBetweenLeftParenAndDiffParams" + case \DifferentiabilityParamsSyntax.diffParams: + return "diffParams" + case \DifferentiabilityParamsSyntax.unexpectedBetweenDiffParamsAndRightParen: + return "unexpectedBetweenDiffParamsAndRightParen" + case \DifferentiabilityParamsSyntax.rightParen: + return "rightParen" + case \DifferentiabilityParamsSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \DifferentiableAttributeArgumentsSyntax.unexpectedBeforeDiffKind: + return "unexpectedBeforeDiffKind" + case \DifferentiableAttributeArgumentsSyntax.diffKind: + return "diffKind" + case \DifferentiableAttributeArgumentsSyntax.unexpectedBetweenDiffKindAndDiffKindComma: + return "unexpectedBetweenDiffKindAndDiffKindComma" + case \DifferentiableAttributeArgumentsSyntax.diffKindComma: + return "diffKindComma" + case \DifferentiableAttributeArgumentsSyntax.unexpectedBetweenDiffKindCommaAndDiffParams: + return "unexpectedBetweenDiffKindCommaAndDiffParams" + case \DifferentiableAttributeArgumentsSyntax.diffParams: + return "diffParams" + case \DifferentiableAttributeArgumentsSyntax.unexpectedBetweenDiffParamsAndDiffParamsComma: + return "unexpectedBetweenDiffParamsAndDiffParamsComma" + case \DifferentiableAttributeArgumentsSyntax.diffParamsComma: + return "diffParamsComma" + case \DifferentiableAttributeArgumentsSyntax.unexpectedBetweenDiffParamsCommaAndWhereClause: + return "unexpectedBetweenDiffParamsCommaAndWhereClause" + case \DifferentiableAttributeArgumentsSyntax.whereClause: + return "whereClause" + case \DifferentiableAttributeArgumentsSyntax.unexpectedAfterWhereClause: + return "unexpectedAfterWhereClause" + case \DiscardAssignmentExprSyntax.unexpectedBeforeWildcard: + return "unexpectedBeforeWildcard" + case \DiscardAssignmentExprSyntax.wildcard: + return "wildcard" + case \DiscardAssignmentExprSyntax.unexpectedAfterWildcard: + return "unexpectedAfterWildcard" + case \DoStmtSyntax.unexpectedBeforeDoKeyword: + return "unexpectedBeforeDoKeyword" + case \DoStmtSyntax.doKeyword: + return "doKeyword" + case \DoStmtSyntax.unexpectedBetweenDoKeywordAndBody: + return "unexpectedBetweenDoKeywordAndBody" + case \DoStmtSyntax.body: + return "body" + case \DoStmtSyntax.unexpectedBetweenBodyAndCatchClauses: + return "unexpectedBetweenBodyAndCatchClauses" + case \DoStmtSyntax.catchClauses: + return "catchClauses" + case \DoStmtSyntax.unexpectedAfterCatchClauses: + return "unexpectedAfterCatchClauses" + case \DocumentationAttributeArgumentSyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \DocumentationAttributeArgumentSyntax.label: + return "label" + case \DocumentationAttributeArgumentSyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \DocumentationAttributeArgumentSyntax.colon: + return "colon" + case \DocumentationAttributeArgumentSyntax.unexpectedBetweenColonAndValue: + return "unexpectedBetweenColonAndValue" + case \DocumentationAttributeArgumentSyntax.value: + return "value" + case \DocumentationAttributeArgumentSyntax.unexpectedBetweenValueAndTrailingComma: + return "unexpectedBetweenValueAndTrailingComma" + case \DocumentationAttributeArgumentSyntax.trailingComma: + return "trailingComma" + case \DocumentationAttributeArgumentSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \DynamicReplacementArgumentsSyntax.unexpectedBeforeForLabel: + return "unexpectedBeforeForLabel" + case \DynamicReplacementArgumentsSyntax.forLabel: + return "forLabel" + case \DynamicReplacementArgumentsSyntax.unexpectedBetweenForLabelAndColon: + return "unexpectedBetweenForLabelAndColon" + case \DynamicReplacementArgumentsSyntax.colon: + return "colon" + case \DynamicReplacementArgumentsSyntax.unexpectedBetweenColonAndDeclname: + return "unexpectedBetweenColonAndDeclname" + case \DynamicReplacementArgumentsSyntax.declname: + return "declname" + case \DynamicReplacementArgumentsSyntax.unexpectedAfterDeclname: + return "unexpectedAfterDeclname" + case \EditorPlaceholderDeclSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \EditorPlaceholderDeclSyntax.identifier: + return "identifier" + case \EditorPlaceholderDeclSyntax.unexpectedAfterIdentifier: + return "unexpectedAfterIdentifier" + case \EditorPlaceholderExprSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \EditorPlaceholderExprSyntax.identifier: + return "identifier" + case \EditorPlaceholderExprSyntax.unexpectedAfterIdentifier: + return "unexpectedAfterIdentifier" + case \EnumCaseDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \EnumCaseDeclSyntax.attributes: + return "attributes" + case \EnumCaseDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \EnumCaseDeclSyntax.modifiers: + return "modifiers" + case \EnumCaseDeclSyntax.unexpectedBetweenModifiersAndCaseKeyword: + return "unexpectedBetweenModifiersAndCaseKeyword" + case \EnumCaseDeclSyntax.caseKeyword: + return "caseKeyword" + case \EnumCaseDeclSyntax.unexpectedBetweenCaseKeywordAndElements: + return "unexpectedBetweenCaseKeywordAndElements" + case \EnumCaseDeclSyntax.elements: + return "elements" + case \EnumCaseDeclSyntax.unexpectedAfterElements: + return "unexpectedAfterElements" + case \EnumCaseElementSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \EnumCaseElementSyntax.identifier: + return "identifier" + case \EnumCaseElementSyntax.unexpectedBetweenIdentifierAndAssociatedValue: + return "unexpectedBetweenIdentifierAndAssociatedValue" + case \EnumCaseElementSyntax.associatedValue: + return "associatedValue" + case \EnumCaseElementSyntax.unexpectedBetweenAssociatedValueAndRawValue: + return "unexpectedBetweenAssociatedValueAndRawValue" + case \EnumCaseElementSyntax.rawValue: + return "rawValue" + case \EnumCaseElementSyntax.unexpectedBetweenRawValueAndTrailingComma: + return "unexpectedBetweenRawValueAndTrailingComma" + case \EnumCaseElementSyntax.trailingComma: + return "trailingComma" + case \EnumCaseElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \EnumCaseParameterClauseSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \EnumCaseParameterClauseSyntax.leftParen: + return "leftParen" + case \EnumCaseParameterClauseSyntax.unexpectedBetweenLeftParenAndParameterList: + return "unexpectedBetweenLeftParenAndParameterList" + case \EnumCaseParameterClauseSyntax.parameterList: + return "parameterList" + case \EnumCaseParameterClauseSyntax.unexpectedBetweenParameterListAndRightParen: + return "unexpectedBetweenParameterListAndRightParen" + case \EnumCaseParameterClauseSyntax.rightParen: + return "rightParen" + case \EnumCaseParameterClauseSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \EnumCaseParameterSyntax.unexpectedBeforeModifiers: + return "unexpectedBeforeModifiers" + case \EnumCaseParameterSyntax.modifiers: + return "modifiers" + case \EnumCaseParameterSyntax.unexpectedBetweenModifiersAndFirstName: + return "unexpectedBetweenModifiersAndFirstName" + case \EnumCaseParameterSyntax.firstName: + return "firstName" + case \EnumCaseParameterSyntax.unexpectedBetweenFirstNameAndSecondName: + return "unexpectedBetweenFirstNameAndSecondName" + case \EnumCaseParameterSyntax.secondName: + return "secondName" + case \EnumCaseParameterSyntax.unexpectedBetweenSecondNameAndColon: + return "unexpectedBetweenSecondNameAndColon" + case \EnumCaseParameterSyntax.colon: + return "colon" + case \EnumCaseParameterSyntax.unexpectedBetweenColonAndType: + return "unexpectedBetweenColonAndType" + case \EnumCaseParameterSyntax.type: + return "type" + case \EnumCaseParameterSyntax.unexpectedBetweenTypeAndDefaultArgument: + return "unexpectedBetweenTypeAndDefaultArgument" + case \EnumCaseParameterSyntax.defaultArgument: + return "defaultArgument" + case \EnumCaseParameterSyntax.unexpectedBetweenDefaultArgumentAndTrailingComma: + return "unexpectedBetweenDefaultArgumentAndTrailingComma" + case \EnumCaseParameterSyntax.trailingComma: + return "trailingComma" + case \EnumCaseParameterSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \EnumDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \EnumDeclSyntax.attributes: + return "attributes" + case \EnumDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \EnumDeclSyntax.modifiers: + return "modifiers" + case \EnumDeclSyntax.unexpectedBetweenModifiersAndEnumKeyword: + return "unexpectedBetweenModifiersAndEnumKeyword" + case \EnumDeclSyntax.enumKeyword: + return "enumKeyword" + case \EnumDeclSyntax.unexpectedBetweenEnumKeywordAndIdentifier: + return "unexpectedBetweenEnumKeywordAndIdentifier" + case \EnumDeclSyntax.identifier: + return "identifier" + case \EnumDeclSyntax.unexpectedBetweenIdentifierAndGenericParameters: + return "unexpectedBetweenIdentifierAndGenericParameters" + case \EnumDeclSyntax.genericParameters: + return "genericParameters" + case \EnumDeclSyntax.unexpectedBetweenGenericParametersAndInheritanceClause: + return "unexpectedBetweenGenericParametersAndInheritanceClause" + case \EnumDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \EnumDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \EnumDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \EnumDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \EnumDeclSyntax.members: + return "members" + case \EnumDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \ExposeAttributeArgumentsSyntax.unexpectedBeforeLanguage: + return "unexpectedBeforeLanguage" + case \ExposeAttributeArgumentsSyntax.language: + return "language" + case \ExposeAttributeArgumentsSyntax.unexpectedBetweenLanguageAndComma: + return "unexpectedBetweenLanguageAndComma" + case \ExposeAttributeArgumentsSyntax.comma: + return "comma" + case \ExposeAttributeArgumentsSyntax.unexpectedBetweenCommaAndCxxName: + return "unexpectedBetweenCommaAndCxxName" + case \ExposeAttributeArgumentsSyntax.cxxName: + return "cxxName" + case \ExposeAttributeArgumentsSyntax.unexpectedAfterCxxName: + return "unexpectedAfterCxxName" + case \ExpressionPatternSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \ExpressionPatternSyntax.expression: + return "expression" + case \ExpressionPatternSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \ExpressionSegmentSyntax.unexpectedBeforeBackslash: + return "unexpectedBeforeBackslash" + case \ExpressionSegmentSyntax.backslash: + return "backslash" + case \ExpressionSegmentSyntax.unexpectedBetweenBackslashAndDelimiter: + return "unexpectedBetweenBackslashAndDelimiter" + case \ExpressionSegmentSyntax.delimiter: + return "delimiter" + case \ExpressionSegmentSyntax.unexpectedBetweenDelimiterAndLeftParen: + return "unexpectedBetweenDelimiterAndLeftParen" + case \ExpressionSegmentSyntax.leftParen: + return "leftParen" + case \ExpressionSegmentSyntax.unexpectedBetweenLeftParenAndExpressions: + return "unexpectedBetweenLeftParenAndExpressions" + case \ExpressionSegmentSyntax.expressions: + return "expressions" + case \ExpressionSegmentSyntax.unexpectedBetweenExpressionsAndRightParen: + return "unexpectedBetweenExpressionsAndRightParen" + case \ExpressionSegmentSyntax.rightParen: + return "rightParen" + case \ExpressionSegmentSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \ExpressionStmtSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \ExpressionStmtSyntax.expression: + return "expression" + case \ExpressionStmtSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \ExtensionDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ExtensionDeclSyntax.attributes: + return "attributes" + case \ExtensionDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ExtensionDeclSyntax.modifiers: + return "modifiers" + case \ExtensionDeclSyntax.unexpectedBetweenModifiersAndExtensionKeyword: + return "unexpectedBetweenModifiersAndExtensionKeyword" + case \ExtensionDeclSyntax.extensionKeyword: + return "extensionKeyword" + case \ExtensionDeclSyntax.unexpectedBetweenExtensionKeywordAndExtendedType: + return "unexpectedBetweenExtensionKeywordAndExtendedType" + case \ExtensionDeclSyntax.extendedType: + return "extendedType" + case \ExtensionDeclSyntax.unexpectedBetweenExtendedTypeAndInheritanceClause: + return "unexpectedBetweenExtendedTypeAndInheritanceClause" + case \ExtensionDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \ExtensionDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \ExtensionDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \ExtensionDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \ExtensionDeclSyntax.members: + return "members" + case \ExtensionDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \FallthroughStmtSyntax.unexpectedBeforeFallthroughKeyword: + return "unexpectedBeforeFallthroughKeyword" + case \FallthroughStmtSyntax.fallthroughKeyword: + return "fallthroughKeyword" + case \FallthroughStmtSyntax.unexpectedAfterFallthroughKeyword: + return "unexpectedAfterFallthroughKeyword" + case \FloatLiteralExprSyntax.unexpectedBeforeFloatingDigits: + return "unexpectedBeforeFloatingDigits" + case \FloatLiteralExprSyntax.floatingDigits: + return "floatingDigits" + case \FloatLiteralExprSyntax.unexpectedAfterFloatingDigits: + return "unexpectedAfterFloatingDigits" + case \ForInStmtSyntax.unexpectedBeforeForKeyword: + return "unexpectedBeforeForKeyword" + case \ForInStmtSyntax.forKeyword: + return "forKeyword" + case \ForInStmtSyntax.unexpectedBetweenForKeywordAndTryKeyword: + return "unexpectedBetweenForKeywordAndTryKeyword" + case \ForInStmtSyntax.tryKeyword: + return "tryKeyword" + case \ForInStmtSyntax.unexpectedBetweenTryKeywordAndAwaitKeyword: + return "unexpectedBetweenTryKeywordAndAwaitKeyword" + case \ForInStmtSyntax.awaitKeyword: + return "awaitKeyword" + case \ForInStmtSyntax.unexpectedBetweenAwaitKeywordAndCaseKeyword: + return "unexpectedBetweenAwaitKeywordAndCaseKeyword" + case \ForInStmtSyntax.caseKeyword: + return "caseKeyword" + case \ForInStmtSyntax.unexpectedBetweenCaseKeywordAndPattern: + return "unexpectedBetweenCaseKeywordAndPattern" + case \ForInStmtSyntax.pattern: + return "pattern" + case \ForInStmtSyntax.unexpectedBetweenPatternAndTypeAnnotation: + return "unexpectedBetweenPatternAndTypeAnnotation" + case \ForInStmtSyntax.typeAnnotation: + return "typeAnnotation" + case \ForInStmtSyntax.unexpectedBetweenTypeAnnotationAndInKeyword: + return "unexpectedBetweenTypeAnnotationAndInKeyword" + case \ForInStmtSyntax.inKeyword: + return "inKeyword" + case \ForInStmtSyntax.unexpectedBetweenInKeywordAndSequenceExpr: + return "unexpectedBetweenInKeywordAndSequenceExpr" + case \ForInStmtSyntax.sequenceExpr: + return "sequenceExpr" + case \ForInStmtSyntax.unexpectedBetweenSequenceExprAndWhereClause: + return "unexpectedBetweenSequenceExprAndWhereClause" + case \ForInStmtSyntax.whereClause: + return "whereClause" + case \ForInStmtSyntax.unexpectedBetweenWhereClauseAndBody: + return "unexpectedBetweenWhereClauseAndBody" + case \ForInStmtSyntax.body: + return "body" + case \ForInStmtSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \ForcedValueExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \ForcedValueExprSyntax.expression: + return "expression" + case \ForcedValueExprSyntax.unexpectedBetweenExpressionAndExclamationMark: + return "unexpectedBetweenExpressionAndExclamationMark" + case \ForcedValueExprSyntax.exclamationMark: + return "exclamationMark" + case \ForcedValueExprSyntax.unexpectedAfterExclamationMark: + return "unexpectedAfterExclamationMark" + case \ForgetStmtSyntax.unexpectedBeforeForgetKeyword: + return "unexpectedBeforeForgetKeyword" + case \ForgetStmtSyntax.forgetKeyword: + return "forgetKeyword" + case \ForgetStmtSyntax.unexpectedBetweenForgetKeywordAndExpression: + return "unexpectedBetweenForgetKeywordAndExpression" + case \ForgetStmtSyntax.expression: + return "expression" + case \ForgetStmtSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \FunctionCallExprSyntax.unexpectedBeforeCalledExpression: + return "unexpectedBeforeCalledExpression" + case \FunctionCallExprSyntax.calledExpression: + return "calledExpression" + case \FunctionCallExprSyntax.unexpectedBetweenCalledExpressionAndLeftParen: + return "unexpectedBetweenCalledExpressionAndLeftParen" + case \FunctionCallExprSyntax.leftParen: + return "leftParen" + case \FunctionCallExprSyntax.unexpectedBetweenLeftParenAndArgumentList: + return "unexpectedBetweenLeftParenAndArgumentList" + case \FunctionCallExprSyntax.argumentList: + return "argumentList" + case \FunctionCallExprSyntax.unexpectedBetweenArgumentListAndRightParen: + return "unexpectedBetweenArgumentListAndRightParen" + case \FunctionCallExprSyntax.rightParen: + return "rightParen" + case \FunctionCallExprSyntax.unexpectedBetweenRightParenAndTrailingClosure: + return "unexpectedBetweenRightParenAndTrailingClosure" + case \FunctionCallExprSyntax.trailingClosure: + return "trailingClosure" + case \FunctionCallExprSyntax.unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures: + return "unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures" + case \FunctionCallExprSyntax.additionalTrailingClosures: + return "additionalTrailingClosures" + case \FunctionCallExprSyntax.unexpectedAfterAdditionalTrailingClosures: + return "unexpectedAfterAdditionalTrailingClosures" + case \FunctionDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \FunctionDeclSyntax.attributes: + return "attributes" + case \FunctionDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \FunctionDeclSyntax.modifiers: + return "modifiers" + case \FunctionDeclSyntax.unexpectedBetweenModifiersAndFuncKeyword: + return "unexpectedBetweenModifiersAndFuncKeyword" + case \FunctionDeclSyntax.funcKeyword: + return "funcKeyword" + case \FunctionDeclSyntax.unexpectedBetweenFuncKeywordAndIdentifier: + return "unexpectedBetweenFuncKeywordAndIdentifier" + case \FunctionDeclSyntax.identifier: + return "identifier" + case \FunctionDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \FunctionDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \FunctionDeclSyntax.unexpectedBetweenGenericParameterClauseAndSignature: + return "unexpectedBetweenGenericParameterClauseAndSignature" + case \FunctionDeclSyntax.signature: + return "signature" + case \FunctionDeclSyntax.unexpectedBetweenSignatureAndGenericWhereClause: + return "unexpectedBetweenSignatureAndGenericWhereClause" + case \FunctionDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \FunctionDeclSyntax.unexpectedBetweenGenericWhereClauseAndBody: + return "unexpectedBetweenGenericWhereClauseAndBody" + case \FunctionDeclSyntax.body: + return "body" + case \FunctionDeclSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \FunctionEffectSpecifiersSyntax.unexpectedBeforeAsyncSpecifier: + return "unexpectedBeforeAsyncSpecifier" + case \FunctionEffectSpecifiersSyntax.asyncSpecifier: + return "asyncSpecifier" + case \FunctionEffectSpecifiersSyntax.unexpectedBetweenAsyncSpecifierAndThrowsSpecifier: + return "unexpectedBetweenAsyncSpecifierAndThrowsSpecifier" + case \FunctionEffectSpecifiersSyntax.throwsSpecifier: + return "throwsSpecifier" + case \FunctionEffectSpecifiersSyntax.unexpectedAfterThrowsSpecifier: + return "unexpectedAfterThrowsSpecifier" + case \FunctionParameterSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \FunctionParameterSyntax.attributes: + return "attributes" + case \FunctionParameterSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \FunctionParameterSyntax.modifiers: + return "modifiers" + case \FunctionParameterSyntax.unexpectedBetweenModifiersAndFirstName: + return "unexpectedBetweenModifiersAndFirstName" + case \FunctionParameterSyntax.firstName: + return "firstName" + case \FunctionParameterSyntax.unexpectedBetweenFirstNameAndSecondName: + return "unexpectedBetweenFirstNameAndSecondName" + case \FunctionParameterSyntax.secondName: + return "secondName" + case \FunctionParameterSyntax.unexpectedBetweenSecondNameAndColon: + return "unexpectedBetweenSecondNameAndColon" + case \FunctionParameterSyntax.colon: + return "colon" + case \FunctionParameterSyntax.unexpectedBetweenColonAndType: + return "unexpectedBetweenColonAndType" + case \FunctionParameterSyntax.type: + return "type" + case \FunctionParameterSyntax.unexpectedBetweenTypeAndEllipsis: + return "unexpectedBetweenTypeAndEllipsis" + case \FunctionParameterSyntax.ellipsis: + return "ellipsis" + case \FunctionParameterSyntax.unexpectedBetweenEllipsisAndDefaultArgument: + return "unexpectedBetweenEllipsisAndDefaultArgument" + case \FunctionParameterSyntax.defaultArgument: + return "defaultArgument" + case \FunctionParameterSyntax.unexpectedBetweenDefaultArgumentAndTrailingComma: + return "unexpectedBetweenDefaultArgumentAndTrailingComma" + case \FunctionParameterSyntax.trailingComma: + return "trailingComma" + case \FunctionParameterSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \FunctionSignatureSyntax.unexpectedBeforeInput: + return "unexpectedBeforeInput" + case \FunctionSignatureSyntax.input: + return "input" + case \FunctionSignatureSyntax.unexpectedBetweenInputAndEffectSpecifiers: + return "unexpectedBetweenInputAndEffectSpecifiers" + case \FunctionSignatureSyntax.effectSpecifiers: + return "effectSpecifiers" + case \FunctionSignatureSyntax.unexpectedBetweenEffectSpecifiersAndOutput: + return "unexpectedBetweenEffectSpecifiersAndOutput" + case \FunctionSignatureSyntax.output: + return "output" + case \FunctionSignatureSyntax.unexpectedAfterOutput: + return "unexpectedAfterOutput" + case \FunctionTypeSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \FunctionTypeSyntax.leftParen: + return "leftParen" + case \FunctionTypeSyntax.unexpectedBetweenLeftParenAndArguments: + return "unexpectedBetweenLeftParenAndArguments" + case \FunctionTypeSyntax.arguments: + return "arguments" + case \FunctionTypeSyntax.unexpectedBetweenArgumentsAndRightParen: + return "unexpectedBetweenArgumentsAndRightParen" + case \FunctionTypeSyntax.rightParen: + return "rightParen" + case \FunctionTypeSyntax.unexpectedBetweenRightParenAndEffectSpecifiers: + return "unexpectedBetweenRightParenAndEffectSpecifiers" + case \FunctionTypeSyntax.effectSpecifiers: + return "effectSpecifiers" + case \FunctionTypeSyntax.unexpectedBetweenEffectSpecifiersAndOutput: + return "unexpectedBetweenEffectSpecifiersAndOutput" + case \FunctionTypeSyntax.output: + return "output" + case \FunctionTypeSyntax.unexpectedAfterOutput: + return "unexpectedAfterOutput" + case \GenericArgumentClauseSyntax.unexpectedBeforeLeftAngleBracket: + return "unexpectedBeforeLeftAngleBracket" + case \GenericArgumentClauseSyntax.leftAngleBracket: + return "leftAngleBracket" + case \GenericArgumentClauseSyntax.unexpectedBetweenLeftAngleBracketAndArguments: + return "unexpectedBetweenLeftAngleBracketAndArguments" + case \GenericArgumentClauseSyntax.arguments: + return "arguments" + case \GenericArgumentClauseSyntax.unexpectedBetweenArgumentsAndRightAngleBracket: + return "unexpectedBetweenArgumentsAndRightAngleBracket" + case \GenericArgumentClauseSyntax.rightAngleBracket: + return "rightAngleBracket" + case \GenericArgumentClauseSyntax.unexpectedAfterRightAngleBracket: + return "unexpectedAfterRightAngleBracket" + case \GenericArgumentSyntax.unexpectedBeforeArgumentType: + return "unexpectedBeforeArgumentType" + case \GenericArgumentSyntax.argumentType: + return "argumentType" + case \GenericArgumentSyntax.unexpectedBetweenArgumentTypeAndTrailingComma: + return "unexpectedBetweenArgumentTypeAndTrailingComma" + case \GenericArgumentSyntax.trailingComma: + return "trailingComma" + case \GenericArgumentSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \GenericParameterClauseSyntax.unexpectedBeforeLeftAngleBracket: + return "unexpectedBeforeLeftAngleBracket" + case \GenericParameterClauseSyntax.leftAngleBracket: + return "leftAngleBracket" + case \GenericParameterClauseSyntax.unexpectedBetweenLeftAngleBracketAndGenericParameterList: + return "unexpectedBetweenLeftAngleBracketAndGenericParameterList" + case \GenericParameterClauseSyntax.genericParameterList: + return "genericParameterList" + case \GenericParameterClauseSyntax.unexpectedBetweenGenericParameterListAndGenericWhereClause: + return "unexpectedBetweenGenericParameterListAndGenericWhereClause" + case \GenericParameterClauseSyntax.genericWhereClause: + return "genericWhereClause" + case \GenericParameterClauseSyntax.unexpectedBetweenGenericWhereClauseAndRightAngleBracket: + return "unexpectedBetweenGenericWhereClauseAndRightAngleBracket" + case \GenericParameterClauseSyntax.rightAngleBracket: + return "rightAngleBracket" + case \GenericParameterClauseSyntax.unexpectedAfterRightAngleBracket: + return "unexpectedAfterRightAngleBracket" + case \GenericParameterSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \GenericParameterSyntax.attributes: + return "attributes" + case \GenericParameterSyntax.unexpectedBetweenAttributesAndEach: + return "unexpectedBetweenAttributesAndEach" + case \GenericParameterSyntax.each: + return "each" + case \GenericParameterSyntax.unexpectedBetweenEachAndName: + return "unexpectedBetweenEachAndName" + case \GenericParameterSyntax.name: + return "name" + case \GenericParameterSyntax.unexpectedBetweenNameAndColon: + return "unexpectedBetweenNameAndColon" + case \GenericParameterSyntax.colon: + return "colon" + case \GenericParameterSyntax.unexpectedBetweenColonAndInheritedType: + return "unexpectedBetweenColonAndInheritedType" + case \GenericParameterSyntax.inheritedType: + return "inheritedType" + case \GenericParameterSyntax.unexpectedBetweenInheritedTypeAndTrailingComma: + return "unexpectedBetweenInheritedTypeAndTrailingComma" + case \GenericParameterSyntax.trailingComma: + return "trailingComma" + case \GenericParameterSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \GenericRequirementSyntax.unexpectedBeforeBody: + return "unexpectedBeforeBody" + case \GenericRequirementSyntax.body: + return "body" + case \GenericRequirementSyntax.unexpectedBetweenBodyAndTrailingComma: + return "unexpectedBetweenBodyAndTrailingComma" + case \GenericRequirementSyntax.trailingComma: + return "trailingComma" + case \GenericRequirementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \GenericWhereClauseSyntax.unexpectedBeforeWhereKeyword: + return "unexpectedBeforeWhereKeyword" + case \GenericWhereClauseSyntax.whereKeyword: + return "whereKeyword" + case \GenericWhereClauseSyntax.unexpectedBetweenWhereKeywordAndRequirementList: + return "unexpectedBetweenWhereKeywordAndRequirementList" + case \GenericWhereClauseSyntax.requirementList: + return "requirementList" + case \GenericWhereClauseSyntax.unexpectedAfterRequirementList: + return "unexpectedAfterRequirementList" + case \GuardStmtSyntax.unexpectedBeforeGuardKeyword: + return "unexpectedBeforeGuardKeyword" + case \GuardStmtSyntax.guardKeyword: + return "guardKeyword" + case \GuardStmtSyntax.unexpectedBetweenGuardKeywordAndConditions: + return "unexpectedBetweenGuardKeywordAndConditions" + case \GuardStmtSyntax.conditions: + return "conditions" + case \GuardStmtSyntax.unexpectedBetweenConditionsAndElseKeyword: + return "unexpectedBetweenConditionsAndElseKeyword" + case \GuardStmtSyntax.elseKeyword: + return "elseKeyword" + case \GuardStmtSyntax.unexpectedBetweenElseKeywordAndBody: + return "unexpectedBetweenElseKeywordAndBody" + case \GuardStmtSyntax.body: + return "body" + case \GuardStmtSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \IdentifierExprSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \IdentifierExprSyntax.identifier: + return "identifier" + case \IdentifierExprSyntax.unexpectedBetweenIdentifierAndDeclNameArguments: + return "unexpectedBetweenIdentifierAndDeclNameArguments" + case \IdentifierExprSyntax.declNameArguments: + return "declNameArguments" + case \IdentifierExprSyntax.unexpectedAfterDeclNameArguments: + return "unexpectedAfterDeclNameArguments" + case \IdentifierPatternSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \IdentifierPatternSyntax.identifier: + return "identifier" + case \IdentifierPatternSyntax.unexpectedAfterIdentifier: + return "unexpectedAfterIdentifier" + case \IfConfigClauseSyntax.unexpectedBeforePoundKeyword: + return "unexpectedBeforePoundKeyword" + case \IfConfigClauseSyntax.poundKeyword: + return "poundKeyword" + case \IfConfigClauseSyntax.unexpectedBetweenPoundKeywordAndCondition: + return "unexpectedBetweenPoundKeywordAndCondition" + case \IfConfigClauseSyntax.condition: + return "condition" + case \IfConfigClauseSyntax.unexpectedBetweenConditionAndElements: + return "unexpectedBetweenConditionAndElements" + case \IfConfigClauseSyntax.elements: + return "elements" + case \IfConfigClauseSyntax.unexpectedAfterElements: + return "unexpectedAfterElements" + case \IfConfigDeclSyntax.unexpectedBeforeClauses: + return "unexpectedBeforeClauses" + case \IfConfigDeclSyntax.clauses: + return "clauses" + case \IfConfigDeclSyntax.unexpectedBetweenClausesAndPoundEndif: + return "unexpectedBetweenClausesAndPoundEndif" + case \IfConfigDeclSyntax.poundEndif: + return "poundEndif" + case \IfConfigDeclSyntax.unexpectedAfterPoundEndif: + return "unexpectedAfterPoundEndif" + case \IfExprSyntax.unexpectedBeforeIfKeyword: + return "unexpectedBeforeIfKeyword" + case \IfExprSyntax.ifKeyword: + return "ifKeyword" + case \IfExprSyntax.unexpectedBetweenIfKeywordAndConditions: + return "unexpectedBetweenIfKeywordAndConditions" + case \IfExprSyntax.conditions: + return "conditions" + case \IfExprSyntax.unexpectedBetweenConditionsAndBody: + return "unexpectedBetweenConditionsAndBody" + case \IfExprSyntax.body: + return "body" + case \IfExprSyntax.unexpectedBetweenBodyAndElseKeyword: + return "unexpectedBetweenBodyAndElseKeyword" + case \IfExprSyntax.elseKeyword: + return "elseKeyword" + case \IfExprSyntax.unexpectedBetweenElseKeywordAndElseBody: + return "unexpectedBetweenElseKeywordAndElseBody" + case \IfExprSyntax.elseBody: + return "elseBody" + case \IfExprSyntax.unexpectedAfterElseBody: + return "unexpectedAfterElseBody" + case \ImplementsAttributeArgumentsSyntax.unexpectedBeforeType: + return "unexpectedBeforeType" + case \ImplementsAttributeArgumentsSyntax.type: + return "type" + case \ImplementsAttributeArgumentsSyntax.unexpectedBetweenTypeAndComma: + return "unexpectedBetweenTypeAndComma" + case \ImplementsAttributeArgumentsSyntax.comma: + return "comma" + case \ImplementsAttributeArgumentsSyntax.unexpectedBetweenCommaAndDeclBaseName: + return "unexpectedBetweenCommaAndDeclBaseName" + case \ImplementsAttributeArgumentsSyntax.declBaseName: + return "declBaseName" + case \ImplementsAttributeArgumentsSyntax.unexpectedBetweenDeclBaseNameAndDeclNameArguments: + return "unexpectedBetweenDeclBaseNameAndDeclNameArguments" + case \ImplementsAttributeArgumentsSyntax.declNameArguments: + return "declNameArguments" + case \ImplementsAttributeArgumentsSyntax.unexpectedAfterDeclNameArguments: + return "unexpectedAfterDeclNameArguments" + case \ImplicitlyUnwrappedOptionalTypeSyntax.unexpectedBeforeWrappedType: + return "unexpectedBeforeWrappedType" + case \ImplicitlyUnwrappedOptionalTypeSyntax.wrappedType: + return "wrappedType" + case \ImplicitlyUnwrappedOptionalTypeSyntax.unexpectedBetweenWrappedTypeAndExclamationMark: + return "unexpectedBetweenWrappedTypeAndExclamationMark" + case \ImplicitlyUnwrappedOptionalTypeSyntax.exclamationMark: + return "exclamationMark" + case \ImplicitlyUnwrappedOptionalTypeSyntax.unexpectedAfterExclamationMark: + return "unexpectedAfterExclamationMark" + case \ImportDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ImportDeclSyntax.attributes: + return "attributes" + case \ImportDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ImportDeclSyntax.modifiers: + return "modifiers" + case \ImportDeclSyntax.unexpectedBetweenModifiersAndImportTok: + return "unexpectedBetweenModifiersAndImportTok" + case \ImportDeclSyntax.importTok: + return "importTok" + case \ImportDeclSyntax.unexpectedBetweenImportTokAndImportKind: + return "unexpectedBetweenImportTokAndImportKind" + case \ImportDeclSyntax.importKind: + return "importKind" + case \ImportDeclSyntax.unexpectedBetweenImportKindAndPath: + return "unexpectedBetweenImportKindAndPath" + case \ImportDeclSyntax.path: + return "path" + case \ImportDeclSyntax.unexpectedAfterPath: + return "unexpectedAfterPath" + case \InOutExprSyntax.unexpectedBeforeAmpersand: + return "unexpectedBeforeAmpersand" + case \InOutExprSyntax.ampersand: + return "ampersand" + case \InOutExprSyntax.unexpectedBetweenAmpersandAndExpression: + return "unexpectedBetweenAmpersandAndExpression" + case \InOutExprSyntax.expression: + return "expression" + case \InOutExprSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \InfixOperatorExprSyntax.unexpectedBeforeLeftOperand: + return "unexpectedBeforeLeftOperand" + case \InfixOperatorExprSyntax.leftOperand: + return "leftOperand" + case \InfixOperatorExprSyntax.unexpectedBetweenLeftOperandAndOperatorOperand: + return "unexpectedBetweenLeftOperandAndOperatorOperand" + case \InfixOperatorExprSyntax.operatorOperand: + return "operatorOperand" + case \InfixOperatorExprSyntax.unexpectedBetweenOperatorOperandAndRightOperand: + return "unexpectedBetweenOperatorOperandAndRightOperand" + case \InfixOperatorExprSyntax.rightOperand: + return "rightOperand" + case \InfixOperatorExprSyntax.unexpectedAfterRightOperand: + return "unexpectedAfterRightOperand" + case \InheritedTypeSyntax.unexpectedBeforeHasWithout: + return "unexpectedBeforeHasWithout" + case \InheritedTypeSyntax.hasWithout: + return "hasWithout" + case \InheritedTypeSyntax.unexpectedBetweenHasWithoutAndTypeName: + return "unexpectedBetweenHasWithoutAndTypeName" + case \InheritedTypeSyntax.typeName: + return "typeName" + case \InheritedTypeSyntax.unexpectedBetweenTypeNameAndTrailingComma: + return "unexpectedBetweenTypeNameAndTrailingComma" + case \InheritedTypeSyntax.trailingComma: + return "trailingComma" + case \InheritedTypeSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \InitializerClauseSyntax.unexpectedBeforeEqual: + return "unexpectedBeforeEqual" + case \InitializerClauseSyntax.equal: + return "equal" + case \InitializerClauseSyntax.unexpectedBetweenEqualAndValue: + return "unexpectedBetweenEqualAndValue" + case \InitializerClauseSyntax.value: + return "value" + case \InitializerClauseSyntax.unexpectedAfterValue: + return "unexpectedAfterValue" + case \InitializerDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \InitializerDeclSyntax.attributes: + return "attributes" + case \InitializerDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \InitializerDeclSyntax.modifiers: + return "modifiers" + case \InitializerDeclSyntax.unexpectedBetweenModifiersAndInitKeyword: + return "unexpectedBetweenModifiersAndInitKeyword" + case \InitializerDeclSyntax.initKeyword: + return "initKeyword" + case \InitializerDeclSyntax.unexpectedBetweenInitKeywordAndOptionalMark: + return "unexpectedBetweenInitKeywordAndOptionalMark" + case \InitializerDeclSyntax.optionalMark: + return "optionalMark" + case \InitializerDeclSyntax.unexpectedBetweenOptionalMarkAndGenericParameterClause: + return "unexpectedBetweenOptionalMarkAndGenericParameterClause" + case \InitializerDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \InitializerDeclSyntax.unexpectedBetweenGenericParameterClauseAndSignature: + return "unexpectedBetweenGenericParameterClauseAndSignature" + case \InitializerDeclSyntax.signature: + return "signature" + case \InitializerDeclSyntax.unexpectedBetweenSignatureAndGenericWhereClause: + return "unexpectedBetweenSignatureAndGenericWhereClause" + case \InitializerDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \InitializerDeclSyntax.unexpectedBetweenGenericWhereClauseAndBody: + return "unexpectedBetweenGenericWhereClauseAndBody" + case \InitializerDeclSyntax.body: + return "body" + case \InitializerDeclSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \IntegerLiteralExprSyntax.unexpectedBeforeDigits: + return "unexpectedBeforeDigits" + case \IntegerLiteralExprSyntax.digits: + return "digits" + case \IntegerLiteralExprSyntax.unexpectedAfterDigits: + return "unexpectedAfterDigits" + case \IsExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \IsExprSyntax.expression: + return "expression" + case \IsExprSyntax.unexpectedBetweenExpressionAndIsTok: + return "unexpectedBetweenExpressionAndIsTok" + case \IsExprSyntax.isTok: + return "isTok" + case \IsExprSyntax.unexpectedBetweenIsTokAndTypeName: + return "unexpectedBetweenIsTokAndTypeName" + case \IsExprSyntax.typeName: + return "typeName" + case \IsExprSyntax.unexpectedAfterTypeName: + return "unexpectedAfterTypeName" + case \IsTypePatternSyntax.unexpectedBeforeIsKeyword: + return "unexpectedBeforeIsKeyword" + case \IsTypePatternSyntax.isKeyword: + return "isKeyword" + case \IsTypePatternSyntax.unexpectedBetweenIsKeywordAndType: + return "unexpectedBetweenIsKeywordAndType" + case \IsTypePatternSyntax.type: + return "type" + case \IsTypePatternSyntax.unexpectedAfterType: + return "unexpectedAfterType" + case \KeyPathComponentSyntax.unexpectedBeforePeriod: + return "unexpectedBeforePeriod" + case \KeyPathComponentSyntax.period: + return "period" + case \KeyPathComponentSyntax.unexpectedBetweenPeriodAndComponent: + return "unexpectedBetweenPeriodAndComponent" + case \KeyPathComponentSyntax.component: + return "component" + case \KeyPathComponentSyntax.unexpectedAfterComponent: + return "unexpectedAfterComponent" + case \KeyPathExprSyntax.unexpectedBeforeBackslash: + return "unexpectedBeforeBackslash" + case \KeyPathExprSyntax.backslash: + return "backslash" + case \KeyPathExprSyntax.unexpectedBetweenBackslashAndRoot: + return "unexpectedBetweenBackslashAndRoot" + case \KeyPathExprSyntax.root: + return "root" + case \KeyPathExprSyntax.unexpectedBetweenRootAndComponents: + return "unexpectedBetweenRootAndComponents" + case \KeyPathExprSyntax.components: + return "components" + case \KeyPathExprSyntax.unexpectedAfterComponents: + return "unexpectedAfterComponents" + case \KeyPathOptionalComponentSyntax.unexpectedBeforeQuestionOrExclamationMark: + return "unexpectedBeforeQuestionOrExclamationMark" + case \KeyPathOptionalComponentSyntax.questionOrExclamationMark: + return "questionOrExclamationMark" + case \KeyPathOptionalComponentSyntax.unexpectedAfterQuestionOrExclamationMark: + return "unexpectedAfterQuestionOrExclamationMark" + case \KeyPathPropertyComponentSyntax.unexpectedBeforeIdentifier: + return "unexpectedBeforeIdentifier" + case \KeyPathPropertyComponentSyntax.identifier: + return "identifier" + case \KeyPathPropertyComponentSyntax.unexpectedBetweenIdentifierAndDeclNameArguments: + return "unexpectedBetweenIdentifierAndDeclNameArguments" + case \KeyPathPropertyComponentSyntax.declNameArguments: + return "declNameArguments" + case \KeyPathPropertyComponentSyntax.unexpectedBetweenDeclNameArgumentsAndGenericArgumentClause: + return "unexpectedBetweenDeclNameArgumentsAndGenericArgumentClause" + case \KeyPathPropertyComponentSyntax.genericArgumentClause: + return "genericArgumentClause" + case \KeyPathPropertyComponentSyntax.unexpectedAfterGenericArgumentClause: + return "unexpectedAfterGenericArgumentClause" + case \KeyPathSubscriptComponentSyntax.unexpectedBeforeLeftBracket: + return "unexpectedBeforeLeftBracket" + case \KeyPathSubscriptComponentSyntax.leftBracket: + return "leftBracket" + case \KeyPathSubscriptComponentSyntax.unexpectedBetweenLeftBracketAndArgumentList: + return "unexpectedBetweenLeftBracketAndArgumentList" + case \KeyPathSubscriptComponentSyntax.argumentList: + return "argumentList" + case \KeyPathSubscriptComponentSyntax.unexpectedBetweenArgumentListAndRightBracket: + return "unexpectedBetweenArgumentListAndRightBracket" + case \KeyPathSubscriptComponentSyntax.rightBracket: + return "rightBracket" + case \KeyPathSubscriptComponentSyntax.unexpectedAfterRightBracket: + return "unexpectedAfterRightBracket" + case \LabeledSpecializeEntrySyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \LabeledSpecializeEntrySyntax.label: + return "label" + case \LabeledSpecializeEntrySyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \LabeledSpecializeEntrySyntax.colon: + return "colon" + case \LabeledSpecializeEntrySyntax.unexpectedBetweenColonAndValue: + return "unexpectedBetweenColonAndValue" + case \LabeledSpecializeEntrySyntax.value: + return "value" + case \LabeledSpecializeEntrySyntax.unexpectedBetweenValueAndTrailingComma: + return "unexpectedBetweenValueAndTrailingComma" + case \LabeledSpecializeEntrySyntax.trailingComma: + return "trailingComma" + case \LabeledSpecializeEntrySyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \LabeledStmtSyntax.unexpectedBeforeLabelName: + return "unexpectedBeforeLabelName" + case \LabeledStmtSyntax.labelName: + return "labelName" + case \LabeledStmtSyntax.unexpectedBetweenLabelNameAndLabelColon: + return "unexpectedBetweenLabelNameAndLabelColon" + case \LabeledStmtSyntax.labelColon: + return "labelColon" + case \LabeledStmtSyntax.unexpectedBetweenLabelColonAndStatement: + return "unexpectedBetweenLabelColonAndStatement" + case \LabeledStmtSyntax.statement: + return "statement" + case \LabeledStmtSyntax.unexpectedAfterStatement: + return "unexpectedAfterStatement" + case \LayoutRequirementSyntax.unexpectedBeforeTypeIdentifier: + return "unexpectedBeforeTypeIdentifier" + case \LayoutRequirementSyntax.typeIdentifier: + return "typeIdentifier" + case \LayoutRequirementSyntax.unexpectedBetweenTypeIdentifierAndColon: + return "unexpectedBetweenTypeIdentifierAndColon" + case \LayoutRequirementSyntax.colon: + return "colon" + case \LayoutRequirementSyntax.unexpectedBetweenColonAndLayoutConstraint: + return "unexpectedBetweenColonAndLayoutConstraint" + case \LayoutRequirementSyntax.layoutConstraint: + return "layoutConstraint" + case \LayoutRequirementSyntax.unexpectedBetweenLayoutConstraintAndLeftParen: + return "unexpectedBetweenLayoutConstraintAndLeftParen" + case \LayoutRequirementSyntax.leftParen: + return "leftParen" + case \LayoutRequirementSyntax.unexpectedBetweenLeftParenAndSize: + return "unexpectedBetweenLeftParenAndSize" + case \LayoutRequirementSyntax.size: + return "size" + case \LayoutRequirementSyntax.unexpectedBetweenSizeAndComma: + return "unexpectedBetweenSizeAndComma" + case \LayoutRequirementSyntax.comma: + return "comma" + case \LayoutRequirementSyntax.unexpectedBetweenCommaAndAlignment: + return "unexpectedBetweenCommaAndAlignment" + case \LayoutRequirementSyntax.alignment: + return "alignment" + case \LayoutRequirementSyntax.unexpectedBetweenAlignmentAndRightParen: + return "unexpectedBetweenAlignmentAndRightParen" + case \LayoutRequirementSyntax.rightParen: + return "rightParen" + case \LayoutRequirementSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \MacroDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \MacroDeclSyntax.attributes: + return "attributes" + case \MacroDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \MacroDeclSyntax.modifiers: + return "modifiers" + case \MacroDeclSyntax.unexpectedBetweenModifiersAndMacroKeyword: + return "unexpectedBetweenModifiersAndMacroKeyword" + case \MacroDeclSyntax.macroKeyword: + return "macroKeyword" + case \MacroDeclSyntax.unexpectedBetweenMacroKeywordAndIdentifier: + return "unexpectedBetweenMacroKeywordAndIdentifier" + case \MacroDeclSyntax.identifier: + return "identifier" + case \MacroDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \MacroDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \MacroDeclSyntax.unexpectedBetweenGenericParameterClauseAndSignature: + return "unexpectedBetweenGenericParameterClauseAndSignature" + case \MacroDeclSyntax.signature: + return "signature" + case \MacroDeclSyntax.unexpectedBetweenSignatureAndDefinition: + return "unexpectedBetweenSignatureAndDefinition" + case \MacroDeclSyntax.definition: + return "definition" + case \MacroDeclSyntax.unexpectedBetweenDefinitionAndGenericWhereClause: + return "unexpectedBetweenDefinitionAndGenericWhereClause" + case \MacroDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \MacroDeclSyntax.unexpectedAfterGenericWhereClause: + return "unexpectedAfterGenericWhereClause" + case \MacroExpansionDeclSyntax.unexpectedBeforePoundToken: + return "unexpectedBeforePoundToken" + case \MacroExpansionDeclSyntax.poundToken: + return "poundToken" + case \MacroExpansionDeclSyntax.unexpectedBetweenPoundTokenAndMacro: + return "unexpectedBetweenPoundTokenAndMacro" + case \MacroExpansionDeclSyntax.macro: + return "macro" + case \MacroExpansionDeclSyntax.unexpectedBetweenMacroAndGenericArguments: + return "unexpectedBetweenMacroAndGenericArguments" + case \MacroExpansionDeclSyntax.genericArguments: + return "genericArguments" + case \MacroExpansionDeclSyntax.unexpectedBetweenGenericArgumentsAndLeftParen: + return "unexpectedBetweenGenericArgumentsAndLeftParen" + case \MacroExpansionDeclSyntax.leftParen: + return "leftParen" + case \MacroExpansionDeclSyntax.unexpectedBetweenLeftParenAndArgumentList: + return "unexpectedBetweenLeftParenAndArgumentList" + case \MacroExpansionDeclSyntax.argumentList: + return "argumentList" + case \MacroExpansionDeclSyntax.unexpectedBetweenArgumentListAndRightParen: + return "unexpectedBetweenArgumentListAndRightParen" + case \MacroExpansionDeclSyntax.rightParen: + return "rightParen" + case \MacroExpansionDeclSyntax.unexpectedBetweenRightParenAndTrailingClosure: + return "unexpectedBetweenRightParenAndTrailingClosure" + case \MacroExpansionDeclSyntax.trailingClosure: + return "trailingClosure" + case \MacroExpansionDeclSyntax.unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures: + return "unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures" + case \MacroExpansionDeclSyntax.additionalTrailingClosures: + return "additionalTrailingClosures" + case \MacroExpansionDeclSyntax.unexpectedAfterAdditionalTrailingClosures: + return "unexpectedAfterAdditionalTrailingClosures" + case \MacroExpansionExprSyntax.unexpectedBeforePoundToken: + return "unexpectedBeforePoundToken" + case \MacroExpansionExprSyntax.poundToken: + return "poundToken" + case \MacroExpansionExprSyntax.unexpectedBetweenPoundTokenAndMacro: + return "unexpectedBetweenPoundTokenAndMacro" + case \MacroExpansionExprSyntax.macro: + return "macro" + case \MacroExpansionExprSyntax.unexpectedBetweenMacroAndGenericArguments: + return "unexpectedBetweenMacroAndGenericArguments" + case \MacroExpansionExprSyntax.genericArguments: + return "genericArguments" + case \MacroExpansionExprSyntax.unexpectedBetweenGenericArgumentsAndLeftParen: + return "unexpectedBetweenGenericArgumentsAndLeftParen" + case \MacroExpansionExprSyntax.leftParen: + return "leftParen" + case \MacroExpansionExprSyntax.unexpectedBetweenLeftParenAndArgumentList: + return "unexpectedBetweenLeftParenAndArgumentList" + case \MacroExpansionExprSyntax.argumentList: + return "argumentList" + case \MacroExpansionExprSyntax.unexpectedBetweenArgumentListAndRightParen: + return "unexpectedBetweenArgumentListAndRightParen" + case \MacroExpansionExprSyntax.rightParen: + return "rightParen" + case \MacroExpansionExprSyntax.unexpectedBetweenRightParenAndTrailingClosure: + return "unexpectedBetweenRightParenAndTrailingClosure" + case \MacroExpansionExprSyntax.trailingClosure: + return "trailingClosure" + case \MacroExpansionExprSyntax.unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures: + return "unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures" + case \MacroExpansionExprSyntax.additionalTrailingClosures: + return "additionalTrailingClosures" + case \MacroExpansionExprSyntax.unexpectedAfterAdditionalTrailingClosures: + return "unexpectedAfterAdditionalTrailingClosures" + case \MatchingPatternConditionSyntax.unexpectedBeforeCaseKeyword: + return "unexpectedBeforeCaseKeyword" + case \MatchingPatternConditionSyntax.caseKeyword: + return "caseKeyword" + case \MatchingPatternConditionSyntax.unexpectedBetweenCaseKeywordAndPattern: + return "unexpectedBetweenCaseKeywordAndPattern" + case \MatchingPatternConditionSyntax.pattern: + return "pattern" + case \MatchingPatternConditionSyntax.unexpectedBetweenPatternAndTypeAnnotation: + return "unexpectedBetweenPatternAndTypeAnnotation" + case \MatchingPatternConditionSyntax.typeAnnotation: + return "typeAnnotation" + case \MatchingPatternConditionSyntax.unexpectedBetweenTypeAnnotationAndInitializer: + return "unexpectedBetweenTypeAnnotationAndInitializer" + case \MatchingPatternConditionSyntax.initializer: + return "initializer" + case \MatchingPatternConditionSyntax.unexpectedAfterInitializer: + return "unexpectedAfterInitializer" + case \MemberAccessExprSyntax.unexpectedBeforeBase: + return "unexpectedBeforeBase" + case \MemberAccessExprSyntax.base: + return "base" + case \MemberAccessExprSyntax.unexpectedBetweenBaseAndDot: + return "unexpectedBetweenBaseAndDot" + case \MemberAccessExprSyntax.dot: + return "dot" + case \MemberAccessExprSyntax.unexpectedBetweenDotAndName: + return "unexpectedBetweenDotAndName" + case \MemberAccessExprSyntax.name: + return "name" + case \MemberAccessExprSyntax.unexpectedBetweenNameAndDeclNameArguments: + return "unexpectedBetweenNameAndDeclNameArguments" + case \MemberAccessExprSyntax.declNameArguments: + return "declNameArguments" + case \MemberAccessExprSyntax.unexpectedAfterDeclNameArguments: + return "unexpectedAfterDeclNameArguments" + case \MemberDeclBlockSyntax.unexpectedBeforeLeftBrace: + return "unexpectedBeforeLeftBrace" + case \MemberDeclBlockSyntax.leftBrace: + return "leftBrace" + case \MemberDeclBlockSyntax.unexpectedBetweenLeftBraceAndMembers: + return "unexpectedBetweenLeftBraceAndMembers" + case \MemberDeclBlockSyntax.members: + return "members" + case \MemberDeclBlockSyntax.unexpectedBetweenMembersAndRightBrace: + return "unexpectedBetweenMembersAndRightBrace" + case \MemberDeclBlockSyntax.rightBrace: + return "rightBrace" + case \MemberDeclBlockSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \MemberDeclListItemSyntax.unexpectedBeforeDecl: + return "unexpectedBeforeDecl" + case \MemberDeclListItemSyntax.decl: + return "decl" + case \MemberDeclListItemSyntax.unexpectedBetweenDeclAndSemicolon: + return "unexpectedBetweenDeclAndSemicolon" + case \MemberDeclListItemSyntax.semicolon: + return "semicolon" + case \MemberDeclListItemSyntax.unexpectedAfterSemicolon: + return "unexpectedAfterSemicolon" + case \MemberTypeIdentifierSyntax.unexpectedBeforeBaseType: + return "unexpectedBeforeBaseType" + case \MemberTypeIdentifierSyntax.baseType: + return "baseType" + case \MemberTypeIdentifierSyntax.unexpectedBetweenBaseTypeAndPeriod: + return "unexpectedBetweenBaseTypeAndPeriod" + case \MemberTypeIdentifierSyntax.period: + return "period" + case \MemberTypeIdentifierSyntax.unexpectedBetweenPeriodAndName: + return "unexpectedBetweenPeriodAndName" + case \MemberTypeIdentifierSyntax.name: + return "name" + case \MemberTypeIdentifierSyntax.unexpectedBetweenNameAndGenericArgumentClause: + return "unexpectedBetweenNameAndGenericArgumentClause" + case \MemberTypeIdentifierSyntax.genericArgumentClause: + return "genericArgumentClause" + case \MemberTypeIdentifierSyntax.unexpectedAfterGenericArgumentClause: + return "unexpectedAfterGenericArgumentClause" + case \MetatypeTypeSyntax.unexpectedBeforeBaseType: + return "unexpectedBeforeBaseType" + case \MetatypeTypeSyntax.baseType: + return "baseType" + case \MetatypeTypeSyntax.unexpectedBetweenBaseTypeAndPeriod: + return "unexpectedBetweenBaseTypeAndPeriod" + case \MetatypeTypeSyntax.period: + return "period" + case \MetatypeTypeSyntax.unexpectedBetweenPeriodAndTypeOrProtocol: + return "unexpectedBetweenPeriodAndTypeOrProtocol" + case \MetatypeTypeSyntax.typeOrProtocol: + return "typeOrProtocol" + case \MetatypeTypeSyntax.unexpectedAfterTypeOrProtocol: + return "unexpectedAfterTypeOrProtocol" + case \MissingDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \MissingDeclSyntax.attributes: + return "attributes" + case \MissingDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \MissingDeclSyntax.modifiers: + return "modifiers" + case \MissingDeclSyntax.unexpectedAfterModifiers: + return "unexpectedAfterModifiers" + case \MissingExprSyntax.unexpected: + return "unexpected" + case \MissingPatternSyntax.unexpected: + return "unexpected" + case \MissingStmtSyntax.unexpected: + return "unexpected" + case \MissingSyntax.unexpected: + return "unexpected" + case \MissingTypeSyntax.unexpected: + return "unexpected" + case \MoveExprSyntax.unexpectedBeforeMoveKeyword: + return "unexpectedBeforeMoveKeyword" + case \MoveExprSyntax.moveKeyword: + return "moveKeyword" + case \MoveExprSyntax.unexpectedBetweenMoveKeywordAndExpression: + return "unexpectedBetweenMoveKeywordAndExpression" + case \MoveExprSyntax.expression: + return "expression" + case \MoveExprSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \MultipleTrailingClosureElementSyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \MultipleTrailingClosureElementSyntax.label: + return "label" + case \MultipleTrailingClosureElementSyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \MultipleTrailingClosureElementSyntax.colon: + return "colon" + case \MultipleTrailingClosureElementSyntax.unexpectedBetweenColonAndClosure: + return "unexpectedBetweenColonAndClosure" + case \MultipleTrailingClosureElementSyntax.closure: + return "closure" + case \MultipleTrailingClosureElementSyntax.unexpectedAfterClosure: + return "unexpectedAfterClosure" + case \NamedOpaqueReturnTypeSyntax.unexpectedBeforeGenericParameters: + return "unexpectedBeforeGenericParameters" + case \NamedOpaqueReturnTypeSyntax.genericParameters: + return "genericParameters" + case \NamedOpaqueReturnTypeSyntax.unexpectedBetweenGenericParametersAndBaseType: + return "unexpectedBetweenGenericParametersAndBaseType" + case \NamedOpaqueReturnTypeSyntax.baseType: + return "baseType" + case \NamedOpaqueReturnTypeSyntax.unexpectedAfterBaseType: + return "unexpectedAfterBaseType" + case \NilLiteralExprSyntax.unexpectedBeforeNilKeyword: + return "unexpectedBeforeNilKeyword" + case \NilLiteralExprSyntax.nilKeyword: + return "nilKeyword" + case \NilLiteralExprSyntax.unexpectedAfterNilKeyword: + return "unexpectedAfterNilKeyword" + case \ObjCSelectorPieceSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \ObjCSelectorPieceSyntax.name: + return "name" + case \ObjCSelectorPieceSyntax.unexpectedBetweenNameAndColon: + return "unexpectedBetweenNameAndColon" + case \ObjCSelectorPieceSyntax.colon: + return "colon" + case \ObjCSelectorPieceSyntax.unexpectedAfterColon: + return "unexpectedAfterColon" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.unexpectedBeforeMangledName: + return "unexpectedBeforeMangledName" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.mangledName: + return "mangledName" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.unexpectedBetweenMangledNameAndComma: + return "unexpectedBetweenMangledNameAndComma" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.comma: + return "comma" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.unexpectedBetweenCommaAndOrdinal: + return "unexpectedBetweenCommaAndOrdinal" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.ordinal: + return "ordinal" + case \OpaqueReturnTypeOfAttributeArgumentsSyntax.unexpectedAfterOrdinal: + return "unexpectedAfterOrdinal" + case \OperatorDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \OperatorDeclSyntax.attributes: + return "attributes" + case \OperatorDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \OperatorDeclSyntax.modifiers: + return "modifiers" + case \OperatorDeclSyntax.unexpectedBetweenModifiersAndOperatorKeyword: + return "unexpectedBetweenModifiersAndOperatorKeyword" + case \OperatorDeclSyntax.operatorKeyword: + return "operatorKeyword" + case \OperatorDeclSyntax.unexpectedBetweenOperatorKeywordAndIdentifier: + return "unexpectedBetweenOperatorKeywordAndIdentifier" + case \OperatorDeclSyntax.identifier: + return "identifier" + case \OperatorDeclSyntax.unexpectedBetweenIdentifierAndOperatorPrecedenceAndTypes: + return "unexpectedBetweenIdentifierAndOperatorPrecedenceAndTypes" + case \OperatorDeclSyntax.operatorPrecedenceAndTypes: + return "operatorPrecedenceAndTypes" + case \OperatorDeclSyntax.unexpectedAfterOperatorPrecedenceAndTypes: + return "unexpectedAfterOperatorPrecedenceAndTypes" + case \OperatorPrecedenceAndTypesSyntax.unexpectedBeforeColon: + return "unexpectedBeforeColon" + case \OperatorPrecedenceAndTypesSyntax.colon: + return "colon" + case \OperatorPrecedenceAndTypesSyntax.unexpectedBetweenColonAndPrecedenceGroup: + return "unexpectedBetweenColonAndPrecedenceGroup" + case \OperatorPrecedenceAndTypesSyntax.precedenceGroup: + return "precedenceGroup" + case \OperatorPrecedenceAndTypesSyntax.unexpectedBetweenPrecedenceGroupAndDesignatedTypes: + return "unexpectedBetweenPrecedenceGroupAndDesignatedTypes" + case \OperatorPrecedenceAndTypesSyntax.designatedTypes: + return "designatedTypes" + case \OperatorPrecedenceAndTypesSyntax.unexpectedAfterDesignatedTypes: + return "unexpectedAfterDesignatedTypes" + case \OptionalBindingConditionSyntax.unexpectedBeforeBindingKeyword: + return "unexpectedBeforeBindingKeyword" + case \OptionalBindingConditionSyntax.bindingKeyword: + return "bindingKeyword" + case \OptionalBindingConditionSyntax.unexpectedBetweenBindingKeywordAndPattern: + return "unexpectedBetweenBindingKeywordAndPattern" + case \OptionalBindingConditionSyntax.pattern: + return "pattern" + case \OptionalBindingConditionSyntax.unexpectedBetweenPatternAndTypeAnnotation: + return "unexpectedBetweenPatternAndTypeAnnotation" + case \OptionalBindingConditionSyntax.typeAnnotation: + return "typeAnnotation" + case \OptionalBindingConditionSyntax.unexpectedBetweenTypeAnnotationAndInitializer: + return "unexpectedBetweenTypeAnnotationAndInitializer" + case \OptionalBindingConditionSyntax.initializer: + return "initializer" + case \OptionalBindingConditionSyntax.unexpectedAfterInitializer: + return "unexpectedAfterInitializer" + case \OptionalChainingExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \OptionalChainingExprSyntax.expression: + return "expression" + case \OptionalChainingExprSyntax.unexpectedBetweenExpressionAndQuestionMark: + return "unexpectedBetweenExpressionAndQuestionMark" + case \OptionalChainingExprSyntax.questionMark: + return "questionMark" + case \OptionalChainingExprSyntax.unexpectedAfterQuestionMark: + return "unexpectedAfterQuestionMark" + case \OptionalTypeSyntax.unexpectedBeforeWrappedType: + return "unexpectedBeforeWrappedType" + case \OptionalTypeSyntax.wrappedType: + return "wrappedType" + case \OptionalTypeSyntax.unexpectedBetweenWrappedTypeAndQuestionMark: + return "unexpectedBetweenWrappedTypeAndQuestionMark" + case \OptionalTypeSyntax.questionMark: + return "questionMark" + case \OptionalTypeSyntax.unexpectedAfterQuestionMark: + return "unexpectedAfterQuestionMark" + case \OriginallyDefinedInArgumentsSyntax.unexpectedBeforeModuleLabel: + return "unexpectedBeforeModuleLabel" + case \OriginallyDefinedInArgumentsSyntax.moduleLabel: + return "moduleLabel" + case \OriginallyDefinedInArgumentsSyntax.unexpectedBetweenModuleLabelAndColon: + return "unexpectedBetweenModuleLabelAndColon" + case \OriginallyDefinedInArgumentsSyntax.colon: + return "colon" + case \OriginallyDefinedInArgumentsSyntax.unexpectedBetweenColonAndModuleName: + return "unexpectedBetweenColonAndModuleName" + case \OriginallyDefinedInArgumentsSyntax.moduleName: + return "moduleName" + case \OriginallyDefinedInArgumentsSyntax.unexpectedBetweenModuleNameAndComma: + return "unexpectedBetweenModuleNameAndComma" + case \OriginallyDefinedInArgumentsSyntax.comma: + return "comma" + case \OriginallyDefinedInArgumentsSyntax.unexpectedBetweenCommaAndPlatforms: + return "unexpectedBetweenCommaAndPlatforms" + case \OriginallyDefinedInArgumentsSyntax.platforms: + return "platforms" + case \OriginallyDefinedInArgumentsSyntax.unexpectedAfterPlatforms: + return "unexpectedAfterPlatforms" + case \PackElementExprSyntax.unexpectedBeforeEachKeyword: + return "unexpectedBeforeEachKeyword" + case \PackElementExprSyntax.eachKeyword: + return "eachKeyword" + case \PackElementExprSyntax.unexpectedBetweenEachKeywordAndPackRefExpr: + return "unexpectedBetweenEachKeywordAndPackRefExpr" + case \PackElementExprSyntax.packRefExpr: + return "packRefExpr" + case \PackElementExprSyntax.unexpectedAfterPackRefExpr: + return "unexpectedAfterPackRefExpr" + case \PackExpansionExprSyntax.unexpectedBeforeRepeatKeyword: + return "unexpectedBeforeRepeatKeyword" + case \PackExpansionExprSyntax.repeatKeyword: + return "repeatKeyword" + case \PackExpansionExprSyntax.unexpectedBetweenRepeatKeywordAndPatternExpr: + return "unexpectedBetweenRepeatKeywordAndPatternExpr" + case \PackExpansionExprSyntax.patternExpr: + return "patternExpr" + case \PackExpansionExprSyntax.unexpectedAfterPatternExpr: + return "unexpectedAfterPatternExpr" + case \PackExpansionTypeSyntax.unexpectedBeforeRepeatKeyword: + return "unexpectedBeforeRepeatKeyword" + case \PackExpansionTypeSyntax.repeatKeyword: + return "repeatKeyword" + case \PackExpansionTypeSyntax.unexpectedBetweenRepeatKeywordAndPatternType: + return "unexpectedBetweenRepeatKeywordAndPatternType" + case \PackExpansionTypeSyntax.patternType: + return "patternType" + case \PackExpansionTypeSyntax.unexpectedAfterPatternType: + return "unexpectedAfterPatternType" + case \PackReferenceTypeSyntax.unexpectedBeforeEachKeyword: + return "unexpectedBeforeEachKeyword" + case \PackReferenceTypeSyntax.eachKeyword: + return "eachKeyword" + case \PackReferenceTypeSyntax.unexpectedBetweenEachKeywordAndPackType: + return "unexpectedBetweenEachKeywordAndPackType" + case \PackReferenceTypeSyntax.packType: + return "packType" + case \PackReferenceTypeSyntax.unexpectedAfterPackType: + return "unexpectedAfterPackType" + case \ParameterClauseSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \ParameterClauseSyntax.leftParen: + return "leftParen" + case \ParameterClauseSyntax.unexpectedBetweenLeftParenAndParameterList: + return "unexpectedBetweenLeftParenAndParameterList" + case \ParameterClauseSyntax.parameterList: + return "parameterList" + case \ParameterClauseSyntax.unexpectedBetweenParameterListAndRightParen: + return "unexpectedBetweenParameterListAndRightParen" + case \ParameterClauseSyntax.rightParen: + return "rightParen" + case \ParameterClauseSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \PatternBindingSyntax.unexpectedBeforePattern: + return "unexpectedBeforePattern" + case \PatternBindingSyntax.pattern: + return "pattern" + case \PatternBindingSyntax.unexpectedBetweenPatternAndTypeAnnotation: + return "unexpectedBetweenPatternAndTypeAnnotation" + case \PatternBindingSyntax.typeAnnotation: + return "typeAnnotation" + case \PatternBindingSyntax.unexpectedBetweenTypeAnnotationAndInitializer: + return "unexpectedBetweenTypeAnnotationAndInitializer" + case \PatternBindingSyntax.initializer: + return "initializer" + case \PatternBindingSyntax.unexpectedBetweenInitializerAndAccessor: + return "unexpectedBetweenInitializerAndAccessor" + case \PatternBindingSyntax.accessor: + return "accessor" + case \PatternBindingSyntax.unexpectedBetweenAccessorAndTrailingComma: + return "unexpectedBetweenAccessorAndTrailingComma" + case \PatternBindingSyntax.trailingComma: + return "trailingComma" + case \PatternBindingSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \PostfixIfConfigExprSyntax.unexpectedBeforeBase: + return "unexpectedBeforeBase" + case \PostfixIfConfigExprSyntax.base: + return "base" + case \PostfixIfConfigExprSyntax.unexpectedBetweenBaseAndConfig: + return "unexpectedBetweenBaseAndConfig" + case \PostfixIfConfigExprSyntax.config: + return "config" + case \PostfixIfConfigExprSyntax.unexpectedAfterConfig: + return "unexpectedAfterConfig" + case \PostfixUnaryExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \PostfixUnaryExprSyntax.expression: + return "expression" + case \PostfixUnaryExprSyntax.unexpectedBetweenExpressionAndOperatorToken: + return "unexpectedBetweenExpressionAndOperatorToken" + case \PostfixUnaryExprSyntax.operatorToken: + return "operatorToken" + case \PostfixUnaryExprSyntax.unexpectedAfterOperatorToken: + return "unexpectedAfterOperatorToken" + case \PoundSourceLocationArgsSyntax.unexpectedBeforeFileArgLabel: + return "unexpectedBeforeFileArgLabel" + case \PoundSourceLocationArgsSyntax.fileArgLabel: + return "fileArgLabel" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenFileArgLabelAndFileArgColon: + return "unexpectedBetweenFileArgLabelAndFileArgColon" + case \PoundSourceLocationArgsSyntax.fileArgColon: + return "fileArgColon" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenFileArgColonAndFileName: + return "unexpectedBetweenFileArgColonAndFileName" + case \PoundSourceLocationArgsSyntax.fileName: + return "fileName" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenFileNameAndComma: + return "unexpectedBetweenFileNameAndComma" + case \PoundSourceLocationArgsSyntax.comma: + return "comma" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenCommaAndLineArgLabel: + return "unexpectedBetweenCommaAndLineArgLabel" + case \PoundSourceLocationArgsSyntax.lineArgLabel: + return "lineArgLabel" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenLineArgLabelAndLineArgColon: + return "unexpectedBetweenLineArgLabelAndLineArgColon" + case \PoundSourceLocationArgsSyntax.lineArgColon: + return "lineArgColon" + case \PoundSourceLocationArgsSyntax.unexpectedBetweenLineArgColonAndLineNumber: + return "unexpectedBetweenLineArgColonAndLineNumber" + case \PoundSourceLocationArgsSyntax.lineNumber: + return "lineNumber" + case \PoundSourceLocationArgsSyntax.unexpectedAfterLineNumber: + return "unexpectedAfterLineNumber" + case \PoundSourceLocationSyntax.unexpectedBeforePoundSourceLocation: + return "unexpectedBeforePoundSourceLocation" + case \PoundSourceLocationSyntax.poundSourceLocation: + return "poundSourceLocation" + case \PoundSourceLocationSyntax.unexpectedBetweenPoundSourceLocationAndLeftParen: + return "unexpectedBetweenPoundSourceLocationAndLeftParen" + case \PoundSourceLocationSyntax.leftParen: + return "leftParen" + case \PoundSourceLocationSyntax.unexpectedBetweenLeftParenAndArgs: + return "unexpectedBetweenLeftParenAndArgs" + case \PoundSourceLocationSyntax.args: + return "args" + case \PoundSourceLocationSyntax.unexpectedBetweenArgsAndRightParen: + return "unexpectedBetweenArgsAndRightParen" + case \PoundSourceLocationSyntax.rightParen: + return "rightParen" + case \PoundSourceLocationSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \PrecedenceGroupAssignmentSyntax.unexpectedBeforeAssignmentKeyword: + return "unexpectedBeforeAssignmentKeyword" + case \PrecedenceGroupAssignmentSyntax.assignmentKeyword: + return "assignmentKeyword" + case \PrecedenceGroupAssignmentSyntax.unexpectedBetweenAssignmentKeywordAndColon: + return "unexpectedBetweenAssignmentKeywordAndColon" + case \PrecedenceGroupAssignmentSyntax.colon: + return "colon" + case \PrecedenceGroupAssignmentSyntax.unexpectedBetweenColonAndFlag: + return "unexpectedBetweenColonAndFlag" + case \PrecedenceGroupAssignmentSyntax.flag: + return "flag" + case \PrecedenceGroupAssignmentSyntax.unexpectedAfterFlag: + return "unexpectedAfterFlag" + case \PrecedenceGroupAssociativitySyntax.unexpectedBeforeAssociativityKeyword: + return "unexpectedBeforeAssociativityKeyword" + case \PrecedenceGroupAssociativitySyntax.associativityKeyword: + return "associativityKeyword" + case \PrecedenceGroupAssociativitySyntax.unexpectedBetweenAssociativityKeywordAndColon: + return "unexpectedBetweenAssociativityKeywordAndColon" + case \PrecedenceGroupAssociativitySyntax.colon: + return "colon" + case \PrecedenceGroupAssociativitySyntax.unexpectedBetweenColonAndValue: + return "unexpectedBetweenColonAndValue" + case \PrecedenceGroupAssociativitySyntax.value: + return "value" + case \PrecedenceGroupAssociativitySyntax.unexpectedAfterValue: + return "unexpectedAfterValue" + case \PrecedenceGroupDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \PrecedenceGroupDeclSyntax.attributes: + return "attributes" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \PrecedenceGroupDeclSyntax.modifiers: + return "modifiers" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenModifiersAndPrecedencegroupKeyword: + return "unexpectedBetweenModifiersAndPrecedencegroupKeyword" + case \PrecedenceGroupDeclSyntax.precedencegroupKeyword: + return "precedencegroupKeyword" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenPrecedencegroupKeywordAndIdentifier: + return "unexpectedBetweenPrecedencegroupKeywordAndIdentifier" + case \PrecedenceGroupDeclSyntax.identifier: + return "identifier" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenIdentifierAndLeftBrace: + return "unexpectedBetweenIdentifierAndLeftBrace" + case \PrecedenceGroupDeclSyntax.leftBrace: + return "leftBrace" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenLeftBraceAndGroupAttributes: + return "unexpectedBetweenLeftBraceAndGroupAttributes" + case \PrecedenceGroupDeclSyntax.groupAttributes: + return "groupAttributes" + case \PrecedenceGroupDeclSyntax.unexpectedBetweenGroupAttributesAndRightBrace: + return "unexpectedBetweenGroupAttributesAndRightBrace" + case \PrecedenceGroupDeclSyntax.rightBrace: + return "rightBrace" + case \PrecedenceGroupDeclSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \PrecedenceGroupNameElementSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \PrecedenceGroupNameElementSyntax.name: + return "name" + case \PrecedenceGroupNameElementSyntax.unexpectedBetweenNameAndTrailingComma: + return "unexpectedBetweenNameAndTrailingComma" + case \PrecedenceGroupNameElementSyntax.trailingComma: + return "trailingComma" + case \PrecedenceGroupNameElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \PrecedenceGroupRelationSyntax.unexpectedBeforeHigherThanOrLowerThan: + return "unexpectedBeforeHigherThanOrLowerThan" + case \PrecedenceGroupRelationSyntax.higherThanOrLowerThan: + return "higherThanOrLowerThan" + case \PrecedenceGroupRelationSyntax.unexpectedBetweenHigherThanOrLowerThanAndColon: + return "unexpectedBetweenHigherThanOrLowerThanAndColon" + case \PrecedenceGroupRelationSyntax.colon: + return "colon" + case \PrecedenceGroupRelationSyntax.unexpectedBetweenColonAndOtherNames: + return "unexpectedBetweenColonAndOtherNames" + case \PrecedenceGroupRelationSyntax.otherNames: + return "otherNames" + case \PrecedenceGroupRelationSyntax.unexpectedAfterOtherNames: + return "unexpectedAfterOtherNames" + case \PrefixOperatorExprSyntax.unexpectedBeforeOperatorToken: + return "unexpectedBeforeOperatorToken" + case \PrefixOperatorExprSyntax.operatorToken: + return "operatorToken" + case \PrefixOperatorExprSyntax.unexpectedBetweenOperatorTokenAndPostfixExpression: + return "unexpectedBetweenOperatorTokenAndPostfixExpression" + case \PrefixOperatorExprSyntax.postfixExpression: + return "postfixExpression" + case \PrefixOperatorExprSyntax.unexpectedAfterPostfixExpression: + return "unexpectedAfterPostfixExpression" + case \PrimaryAssociatedTypeClauseSyntax.unexpectedBeforeLeftAngleBracket: + return "unexpectedBeforeLeftAngleBracket" + case \PrimaryAssociatedTypeClauseSyntax.leftAngleBracket: + return "leftAngleBracket" + case \PrimaryAssociatedTypeClauseSyntax.unexpectedBetweenLeftAngleBracketAndPrimaryAssociatedTypeList: + return "unexpectedBetweenLeftAngleBracketAndPrimaryAssociatedTypeList" + case \PrimaryAssociatedTypeClauseSyntax.primaryAssociatedTypeList: + return "primaryAssociatedTypeList" + case \PrimaryAssociatedTypeClauseSyntax.unexpectedBetweenPrimaryAssociatedTypeListAndRightAngleBracket: + return "unexpectedBetweenPrimaryAssociatedTypeListAndRightAngleBracket" + case \PrimaryAssociatedTypeClauseSyntax.rightAngleBracket: + return "rightAngleBracket" + case \PrimaryAssociatedTypeClauseSyntax.unexpectedAfterRightAngleBracket: + return "unexpectedAfterRightAngleBracket" + case \PrimaryAssociatedTypeSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \PrimaryAssociatedTypeSyntax.name: + return "name" + case \PrimaryAssociatedTypeSyntax.unexpectedBetweenNameAndTrailingComma: + return "unexpectedBetweenNameAndTrailingComma" + case \PrimaryAssociatedTypeSyntax.trailingComma: + return "trailingComma" + case \PrimaryAssociatedTypeSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \ProtocolDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \ProtocolDeclSyntax.attributes: + return "attributes" + case \ProtocolDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \ProtocolDeclSyntax.modifiers: + return "modifiers" + case \ProtocolDeclSyntax.unexpectedBetweenModifiersAndProtocolKeyword: + return "unexpectedBetweenModifiersAndProtocolKeyword" + case \ProtocolDeclSyntax.protocolKeyword: + return "protocolKeyword" + case \ProtocolDeclSyntax.unexpectedBetweenProtocolKeywordAndIdentifier: + return "unexpectedBetweenProtocolKeywordAndIdentifier" + case \ProtocolDeclSyntax.identifier: + return "identifier" + case \ProtocolDeclSyntax.unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause: + return "unexpectedBetweenIdentifierAndPrimaryAssociatedTypeClause" + case \ProtocolDeclSyntax.primaryAssociatedTypeClause: + return "primaryAssociatedTypeClause" + case \ProtocolDeclSyntax.unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause: + return "unexpectedBetweenPrimaryAssociatedTypeClauseAndInheritanceClause" + case \ProtocolDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \ProtocolDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \ProtocolDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \ProtocolDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \ProtocolDeclSyntax.members: + return "members" + case \ProtocolDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \QualifiedDeclNameSyntax.unexpectedBeforeBaseType: + return "unexpectedBeforeBaseType" + case \QualifiedDeclNameSyntax.baseType: + return "baseType" + case \QualifiedDeclNameSyntax.unexpectedBetweenBaseTypeAndDot: + return "unexpectedBetweenBaseTypeAndDot" + case \QualifiedDeclNameSyntax.dot: + return "dot" + case \QualifiedDeclNameSyntax.unexpectedBetweenDotAndName: + return "unexpectedBetweenDotAndName" + case \QualifiedDeclNameSyntax.name: + return "name" + case \QualifiedDeclNameSyntax.unexpectedBetweenNameAndArguments: + return "unexpectedBetweenNameAndArguments" + case \QualifiedDeclNameSyntax.arguments: + return "arguments" + case \QualifiedDeclNameSyntax.unexpectedAfterArguments: + return "unexpectedAfterArguments" + case \RegexLiteralExprSyntax.unexpectedBeforeOpeningPounds: + return "unexpectedBeforeOpeningPounds" + case \RegexLiteralExprSyntax.openingPounds: + return "openingPounds" + case \RegexLiteralExprSyntax.unexpectedBetweenOpeningPoundsAndOpenSlash: + return "unexpectedBetweenOpeningPoundsAndOpenSlash" + case \RegexLiteralExprSyntax.openSlash: + return "openSlash" + case \RegexLiteralExprSyntax.unexpectedBetweenOpenSlashAndRegexPattern: + return "unexpectedBetweenOpenSlashAndRegexPattern" + case \RegexLiteralExprSyntax.regexPattern: + return "regexPattern" + case \RegexLiteralExprSyntax.unexpectedBetweenRegexPatternAndCloseSlash: + return "unexpectedBetweenRegexPatternAndCloseSlash" + case \RegexLiteralExprSyntax.closeSlash: + return "closeSlash" + case \RegexLiteralExprSyntax.unexpectedBetweenCloseSlashAndClosingPounds: + return "unexpectedBetweenCloseSlashAndClosingPounds" + case \RegexLiteralExprSyntax.closingPounds: + return "closingPounds" + case \RegexLiteralExprSyntax.unexpectedAfterClosingPounds: + return "unexpectedAfterClosingPounds" + case \RepeatWhileStmtSyntax.unexpectedBeforeRepeatKeyword: + return "unexpectedBeforeRepeatKeyword" + case \RepeatWhileStmtSyntax.repeatKeyword: + return "repeatKeyword" + case \RepeatWhileStmtSyntax.unexpectedBetweenRepeatKeywordAndBody: + return "unexpectedBetweenRepeatKeywordAndBody" + case \RepeatWhileStmtSyntax.body: + return "body" + case \RepeatWhileStmtSyntax.unexpectedBetweenBodyAndWhileKeyword: + return "unexpectedBetweenBodyAndWhileKeyword" + case \RepeatWhileStmtSyntax.whileKeyword: + return "whileKeyword" + case \RepeatWhileStmtSyntax.unexpectedBetweenWhileKeywordAndCondition: + return "unexpectedBetweenWhileKeywordAndCondition" + case \RepeatWhileStmtSyntax.condition: + return "condition" + case \RepeatWhileStmtSyntax.unexpectedAfterCondition: + return "unexpectedAfterCondition" + case \ReturnClauseSyntax.unexpectedBeforeArrow: + return "unexpectedBeforeArrow" + case \ReturnClauseSyntax.arrow: + return "arrow" + case \ReturnClauseSyntax.unexpectedBetweenArrowAndReturnType: + return "unexpectedBetweenArrowAndReturnType" + case \ReturnClauseSyntax.returnType: + return "returnType" + case \ReturnClauseSyntax.unexpectedAfterReturnType: + return "unexpectedAfterReturnType" + case \ReturnStmtSyntax.unexpectedBeforeReturnKeyword: + return "unexpectedBeforeReturnKeyword" + case \ReturnStmtSyntax.returnKeyword: + return "returnKeyword" + case \ReturnStmtSyntax.unexpectedBetweenReturnKeywordAndExpression: + return "unexpectedBetweenReturnKeywordAndExpression" + case \ReturnStmtSyntax.expression: + return "expression" + case \ReturnStmtSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \SameTypeRequirementSyntax.unexpectedBeforeLeftTypeIdentifier: + return "unexpectedBeforeLeftTypeIdentifier" + case \SameTypeRequirementSyntax.leftTypeIdentifier: + return "leftTypeIdentifier" + case \SameTypeRequirementSyntax.unexpectedBetweenLeftTypeIdentifierAndEqualityToken: + return "unexpectedBetweenLeftTypeIdentifierAndEqualityToken" + case \SameTypeRequirementSyntax.equalityToken: + return "equalityToken" + case \SameTypeRequirementSyntax.unexpectedBetweenEqualityTokenAndRightTypeIdentifier: + return "unexpectedBetweenEqualityTokenAndRightTypeIdentifier" + case \SameTypeRequirementSyntax.rightTypeIdentifier: + return "rightTypeIdentifier" + case \SameTypeRequirementSyntax.unexpectedAfterRightTypeIdentifier: + return "unexpectedAfterRightTypeIdentifier" + case \SequenceExprSyntax.unexpectedBeforeElements: + return "unexpectedBeforeElements" + case \SequenceExprSyntax.elements: + return "elements" + case \SequenceExprSyntax.unexpectedAfterElements: + return "unexpectedAfterElements" + case \SimpleTypeIdentifierSyntax.unexpectedBeforeName: + return "unexpectedBeforeName" + case \SimpleTypeIdentifierSyntax.name: + return "name" + case \SimpleTypeIdentifierSyntax.unexpectedBetweenNameAndGenericArgumentClause: + return "unexpectedBetweenNameAndGenericArgumentClause" + case \SimpleTypeIdentifierSyntax.genericArgumentClause: + return "genericArgumentClause" + case \SimpleTypeIdentifierSyntax.unexpectedAfterGenericArgumentClause: + return "unexpectedAfterGenericArgumentClause" + case \SourceFileSyntax.unexpectedBeforeStatements: + return "unexpectedBeforeStatements" + case \SourceFileSyntax.statements: + return "statements" + case \SourceFileSyntax.unexpectedBetweenStatementsAndEOFToken: + return "unexpectedBetweenStatementsAndEOFToken" + case \SourceFileSyntax.eofToken: + return "eofToken" + case \SourceFileSyntax.unexpectedAfterEOFToken: + return "unexpectedAfterEOFToken" + case \SpecializeExprSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \SpecializeExprSyntax.expression: + return "expression" + case \SpecializeExprSyntax.unexpectedBetweenExpressionAndGenericArgumentClause: + return "unexpectedBetweenExpressionAndGenericArgumentClause" + case \SpecializeExprSyntax.genericArgumentClause: + return "genericArgumentClause" + case \SpecializeExprSyntax.unexpectedAfterGenericArgumentClause: + return "unexpectedAfterGenericArgumentClause" + case \StringLiteralExprSyntax.unexpectedBeforeOpenDelimiter: + return "unexpectedBeforeOpenDelimiter" + case \StringLiteralExprSyntax.openDelimiter: + return "openDelimiter" + case \StringLiteralExprSyntax.unexpectedBetweenOpenDelimiterAndOpenQuote: + return "unexpectedBetweenOpenDelimiterAndOpenQuote" + case \StringLiteralExprSyntax.openQuote: + return "openQuote" + case \StringLiteralExprSyntax.unexpectedBetweenOpenQuoteAndSegments: + return "unexpectedBetweenOpenQuoteAndSegments" + case \StringLiteralExprSyntax.segments: + return "segments" + case \StringLiteralExprSyntax.unexpectedBetweenSegmentsAndCloseQuote: + return "unexpectedBetweenSegmentsAndCloseQuote" + case \StringLiteralExprSyntax.closeQuote: + return "closeQuote" + case \StringLiteralExprSyntax.unexpectedBetweenCloseQuoteAndCloseDelimiter: + return "unexpectedBetweenCloseQuoteAndCloseDelimiter" + case \StringLiteralExprSyntax.closeDelimiter: + return "closeDelimiter" + case \StringLiteralExprSyntax.unexpectedAfterCloseDelimiter: + return "unexpectedAfterCloseDelimiter" + case \StringSegmentSyntax.unexpectedBeforeContent: + return "unexpectedBeforeContent" + case \StringSegmentSyntax.content: + return "content" + case \StringSegmentSyntax.unexpectedAfterContent: + return "unexpectedAfterContent" + case \StructDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \StructDeclSyntax.attributes: + return "attributes" + case \StructDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \StructDeclSyntax.modifiers: + return "modifiers" + case \StructDeclSyntax.unexpectedBetweenModifiersAndStructKeyword: + return "unexpectedBetweenModifiersAndStructKeyword" + case \StructDeclSyntax.structKeyword: + return "structKeyword" + case \StructDeclSyntax.unexpectedBetweenStructKeywordAndIdentifier: + return "unexpectedBetweenStructKeywordAndIdentifier" + case \StructDeclSyntax.identifier: + return "identifier" + case \StructDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \StructDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \StructDeclSyntax.unexpectedBetweenGenericParameterClauseAndInheritanceClause: + return "unexpectedBetweenGenericParameterClauseAndInheritanceClause" + case \StructDeclSyntax.inheritanceClause: + return "inheritanceClause" + case \StructDeclSyntax.unexpectedBetweenInheritanceClauseAndGenericWhereClause: + return "unexpectedBetweenInheritanceClauseAndGenericWhereClause" + case \StructDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \StructDeclSyntax.unexpectedBetweenGenericWhereClauseAndMembers: + return "unexpectedBetweenGenericWhereClauseAndMembers" + case \StructDeclSyntax.members: + return "members" + case \StructDeclSyntax.unexpectedAfterMembers: + return "unexpectedAfterMembers" + case \SubscriptDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \SubscriptDeclSyntax.attributes: + return "attributes" + case \SubscriptDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \SubscriptDeclSyntax.modifiers: + return "modifiers" + case \SubscriptDeclSyntax.unexpectedBetweenModifiersAndSubscriptKeyword: + return "unexpectedBetweenModifiersAndSubscriptKeyword" + case \SubscriptDeclSyntax.subscriptKeyword: + return "subscriptKeyword" + case \SubscriptDeclSyntax.unexpectedBetweenSubscriptKeywordAndGenericParameterClause: + return "unexpectedBetweenSubscriptKeywordAndGenericParameterClause" + case \SubscriptDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \SubscriptDeclSyntax.unexpectedBetweenGenericParameterClauseAndIndices: + return "unexpectedBetweenGenericParameterClauseAndIndices" + case \SubscriptDeclSyntax.indices: + return "indices" + case \SubscriptDeclSyntax.unexpectedBetweenIndicesAndResult: + return "unexpectedBetweenIndicesAndResult" + case \SubscriptDeclSyntax.result: + return "result" + case \SubscriptDeclSyntax.unexpectedBetweenResultAndGenericWhereClause: + return "unexpectedBetweenResultAndGenericWhereClause" + case \SubscriptDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \SubscriptDeclSyntax.unexpectedBetweenGenericWhereClauseAndAccessor: + return "unexpectedBetweenGenericWhereClauseAndAccessor" + case \SubscriptDeclSyntax.accessor: + return "accessor" + case \SubscriptDeclSyntax.unexpectedAfterAccessor: + return "unexpectedAfterAccessor" + case \SubscriptExprSyntax.unexpectedBeforeCalledExpression: + return "unexpectedBeforeCalledExpression" + case \SubscriptExprSyntax.calledExpression: + return "calledExpression" + case \SubscriptExprSyntax.unexpectedBetweenCalledExpressionAndLeftBracket: + return "unexpectedBetweenCalledExpressionAndLeftBracket" + case \SubscriptExprSyntax.leftBracket: + return "leftBracket" + case \SubscriptExprSyntax.unexpectedBetweenLeftBracketAndArgumentList: + return "unexpectedBetweenLeftBracketAndArgumentList" + case \SubscriptExprSyntax.argumentList: + return "argumentList" + case \SubscriptExprSyntax.unexpectedBetweenArgumentListAndRightBracket: + return "unexpectedBetweenArgumentListAndRightBracket" + case \SubscriptExprSyntax.rightBracket: + return "rightBracket" + case \SubscriptExprSyntax.unexpectedBetweenRightBracketAndTrailingClosure: + return "unexpectedBetweenRightBracketAndTrailingClosure" + case \SubscriptExprSyntax.trailingClosure: + return "trailingClosure" + case \SubscriptExprSyntax.unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures: + return "unexpectedBetweenTrailingClosureAndAdditionalTrailingClosures" + case \SubscriptExprSyntax.additionalTrailingClosures: + return "additionalTrailingClosures" + case \SubscriptExprSyntax.unexpectedAfterAdditionalTrailingClosures: + return "unexpectedAfterAdditionalTrailingClosures" + case \SuperRefExprSyntax.unexpectedBeforeSuperKeyword: + return "unexpectedBeforeSuperKeyword" + case \SuperRefExprSyntax.superKeyword: + return "superKeyword" + case \SuperRefExprSyntax.unexpectedAfterSuperKeyword: + return "unexpectedAfterSuperKeyword" + case \SwitchCaseLabelSyntax.unexpectedBeforeCaseKeyword: + return "unexpectedBeforeCaseKeyword" + case \SwitchCaseLabelSyntax.caseKeyword: + return "caseKeyword" + case \SwitchCaseLabelSyntax.unexpectedBetweenCaseKeywordAndCaseItems: + return "unexpectedBetweenCaseKeywordAndCaseItems" + case \SwitchCaseLabelSyntax.caseItems: + return "caseItems" + case \SwitchCaseLabelSyntax.unexpectedBetweenCaseItemsAndColon: + return "unexpectedBetweenCaseItemsAndColon" + case \SwitchCaseLabelSyntax.colon: + return "colon" + case \SwitchCaseLabelSyntax.unexpectedAfterColon: + return "unexpectedAfterColon" + case \SwitchCaseSyntax.unexpectedBeforeUnknownAttr: + return "unexpectedBeforeUnknownAttr" + case \SwitchCaseSyntax.unknownAttr: + return "unknownAttr" + case \SwitchCaseSyntax.unexpectedBetweenUnknownAttrAndLabel: + return "unexpectedBetweenUnknownAttrAndLabel" + case \SwitchCaseSyntax.label: + return "label" + case \SwitchCaseSyntax.unexpectedBetweenLabelAndStatements: + return "unexpectedBetweenLabelAndStatements" + case \SwitchCaseSyntax.statements: + return "statements" + case \SwitchCaseSyntax.unexpectedAfterStatements: + return "unexpectedAfterStatements" + case \SwitchDefaultLabelSyntax.unexpectedBeforeDefaultKeyword: + return "unexpectedBeforeDefaultKeyword" + case \SwitchDefaultLabelSyntax.defaultKeyword: + return "defaultKeyword" + case \SwitchDefaultLabelSyntax.unexpectedBetweenDefaultKeywordAndColon: + return "unexpectedBetweenDefaultKeywordAndColon" + case \SwitchDefaultLabelSyntax.colon: + return "colon" + case \SwitchDefaultLabelSyntax.unexpectedAfterColon: + return "unexpectedAfterColon" + case \SwitchExprSyntax.unexpectedBeforeSwitchKeyword: + return "unexpectedBeforeSwitchKeyword" + case \SwitchExprSyntax.switchKeyword: + return "switchKeyword" + case \SwitchExprSyntax.unexpectedBetweenSwitchKeywordAndExpression: + return "unexpectedBetweenSwitchKeywordAndExpression" + case \SwitchExprSyntax.expression: + return "expression" + case \SwitchExprSyntax.unexpectedBetweenExpressionAndLeftBrace: + return "unexpectedBetweenExpressionAndLeftBrace" + case \SwitchExprSyntax.leftBrace: + return "leftBrace" + case \SwitchExprSyntax.unexpectedBetweenLeftBraceAndCases: + return "unexpectedBetweenLeftBraceAndCases" + case \SwitchExprSyntax.cases: + return "cases" + case \SwitchExprSyntax.unexpectedBetweenCasesAndRightBrace: + return "unexpectedBetweenCasesAndRightBrace" + case \SwitchExprSyntax.rightBrace: + return "rightBrace" + case \SwitchExprSyntax.unexpectedAfterRightBrace: + return "unexpectedAfterRightBrace" + case \TargetFunctionEntrySyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \TargetFunctionEntrySyntax.label: + return "label" + case \TargetFunctionEntrySyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \TargetFunctionEntrySyntax.colon: + return "colon" + case \TargetFunctionEntrySyntax.unexpectedBetweenColonAndDeclname: + return "unexpectedBetweenColonAndDeclname" + case \TargetFunctionEntrySyntax.declname: + return "declname" + case \TargetFunctionEntrySyntax.unexpectedBetweenDeclnameAndTrailingComma: + return "unexpectedBetweenDeclnameAndTrailingComma" + case \TargetFunctionEntrySyntax.trailingComma: + return "trailingComma" + case \TargetFunctionEntrySyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \TernaryExprSyntax.unexpectedBeforeConditionExpression: + return "unexpectedBeforeConditionExpression" + case \TernaryExprSyntax.conditionExpression: + return "conditionExpression" + case \TernaryExprSyntax.unexpectedBetweenConditionExpressionAndQuestionMark: + return "unexpectedBetweenConditionExpressionAndQuestionMark" + case \TernaryExprSyntax.questionMark: + return "questionMark" + case \TernaryExprSyntax.unexpectedBetweenQuestionMarkAndFirstChoice: + return "unexpectedBetweenQuestionMarkAndFirstChoice" + case \TernaryExprSyntax.firstChoice: + return "firstChoice" + case \TernaryExprSyntax.unexpectedBetweenFirstChoiceAndColonMark: + return "unexpectedBetweenFirstChoiceAndColonMark" + case \TernaryExprSyntax.colonMark: + return "colonMark" + case \TernaryExprSyntax.unexpectedBetweenColonMarkAndSecondChoice: + return "unexpectedBetweenColonMarkAndSecondChoice" + case \TernaryExprSyntax.secondChoice: + return "secondChoice" + case \TernaryExprSyntax.unexpectedAfterSecondChoice: + return "unexpectedAfterSecondChoice" + case \ThrowStmtSyntax.unexpectedBeforeThrowKeyword: + return "unexpectedBeforeThrowKeyword" + case \ThrowStmtSyntax.throwKeyword: + return "throwKeyword" + case \ThrowStmtSyntax.unexpectedBetweenThrowKeywordAndExpression: + return "unexpectedBetweenThrowKeywordAndExpression" + case \ThrowStmtSyntax.expression: + return "expression" + case \ThrowStmtSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \TryExprSyntax.unexpectedBeforeTryKeyword: + return "unexpectedBeforeTryKeyword" + case \TryExprSyntax.tryKeyword: + return "tryKeyword" + case \TryExprSyntax.unexpectedBetweenTryKeywordAndQuestionOrExclamationMark: + return "unexpectedBetweenTryKeywordAndQuestionOrExclamationMark" + case \TryExprSyntax.questionOrExclamationMark: + return "questionOrExclamationMark" + case \TryExprSyntax.unexpectedBetweenQuestionOrExclamationMarkAndExpression: + return "unexpectedBetweenQuestionOrExclamationMarkAndExpression" + case \TryExprSyntax.expression: + return "expression" + case \TryExprSyntax.unexpectedAfterExpression: + return "unexpectedAfterExpression" + case \TupleExprElementSyntax.unexpectedBeforeLabel: + return "unexpectedBeforeLabel" + case \TupleExprElementSyntax.label: + return "label" + case \TupleExprElementSyntax.unexpectedBetweenLabelAndColon: + return "unexpectedBetweenLabelAndColon" + case \TupleExprElementSyntax.colon: + return "colon" + case \TupleExprElementSyntax.unexpectedBetweenColonAndExpression: + return "unexpectedBetweenColonAndExpression" + case \TupleExprElementSyntax.expression: + return "expression" + case \TupleExprElementSyntax.unexpectedBetweenExpressionAndTrailingComma: + return "unexpectedBetweenExpressionAndTrailingComma" + case \TupleExprElementSyntax.trailingComma: + return "trailingComma" + case \TupleExprElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \TupleExprSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \TupleExprSyntax.leftParen: + return "leftParen" + case \TupleExprSyntax.unexpectedBetweenLeftParenAndElementList: + return "unexpectedBetweenLeftParenAndElementList" + case \TupleExprSyntax.elementList: + return "elementList" + case \TupleExprSyntax.unexpectedBetweenElementListAndRightParen: + return "unexpectedBetweenElementListAndRightParen" + case \TupleExprSyntax.rightParen: + return "rightParen" + case \TupleExprSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \TuplePatternElementSyntax.unexpectedBeforeLabelName: + return "unexpectedBeforeLabelName" + case \TuplePatternElementSyntax.labelName: + return "labelName" + case \TuplePatternElementSyntax.unexpectedBetweenLabelNameAndLabelColon: + return "unexpectedBetweenLabelNameAndLabelColon" + case \TuplePatternElementSyntax.labelColon: + return "labelColon" + case \TuplePatternElementSyntax.unexpectedBetweenLabelColonAndPattern: + return "unexpectedBetweenLabelColonAndPattern" + case \TuplePatternElementSyntax.pattern: + return "pattern" + case \TuplePatternElementSyntax.unexpectedBetweenPatternAndTrailingComma: + return "unexpectedBetweenPatternAndTrailingComma" + case \TuplePatternElementSyntax.trailingComma: + return "trailingComma" + case \TuplePatternElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \TuplePatternSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \TuplePatternSyntax.leftParen: + return "leftParen" + case \TuplePatternSyntax.unexpectedBetweenLeftParenAndElements: + return "unexpectedBetweenLeftParenAndElements" + case \TuplePatternSyntax.elements: + return "elements" + case \TuplePatternSyntax.unexpectedBetweenElementsAndRightParen: + return "unexpectedBetweenElementsAndRightParen" + case \TuplePatternSyntax.rightParen: + return "rightParen" + case \TuplePatternSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \TupleTypeElementSyntax.unexpectedBeforeInOut: + return "unexpectedBeforeInOut" + case \TupleTypeElementSyntax.inOut: + return "inOut" + case \TupleTypeElementSyntax.unexpectedBetweenInOutAndName: + return "unexpectedBetweenInOutAndName" + case \TupleTypeElementSyntax.name: + return "name" + case \TupleTypeElementSyntax.unexpectedBetweenNameAndSecondName: + return "unexpectedBetweenNameAndSecondName" + case \TupleTypeElementSyntax.secondName: + return "secondName" + case \TupleTypeElementSyntax.unexpectedBetweenSecondNameAndColon: + return "unexpectedBetweenSecondNameAndColon" + case \TupleTypeElementSyntax.colon: + return "colon" + case \TupleTypeElementSyntax.unexpectedBetweenColonAndType: + return "unexpectedBetweenColonAndType" + case \TupleTypeElementSyntax.type: + return "type" + case \TupleTypeElementSyntax.unexpectedBetweenTypeAndEllipsis: + return "unexpectedBetweenTypeAndEllipsis" + case \TupleTypeElementSyntax.ellipsis: + return "ellipsis" + case \TupleTypeElementSyntax.unexpectedBetweenEllipsisAndInitializer: + return "unexpectedBetweenEllipsisAndInitializer" + case \TupleTypeElementSyntax.initializer: + return "initializer" + case \TupleTypeElementSyntax.unexpectedBetweenInitializerAndTrailingComma: + return "unexpectedBetweenInitializerAndTrailingComma" + case \TupleTypeElementSyntax.trailingComma: + return "trailingComma" + case \TupleTypeElementSyntax.unexpectedAfterTrailingComma: + return "unexpectedAfterTrailingComma" + case \TupleTypeSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \TupleTypeSyntax.leftParen: + return "leftParen" + case \TupleTypeSyntax.unexpectedBetweenLeftParenAndElements: + return "unexpectedBetweenLeftParenAndElements" + case \TupleTypeSyntax.elements: + return "elements" + case \TupleTypeSyntax.unexpectedBetweenElementsAndRightParen: + return "unexpectedBetweenElementsAndRightParen" + case \TupleTypeSyntax.rightParen: + return "rightParen" + case \TupleTypeSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \TypeAnnotationSyntax.unexpectedBeforeColon: + return "unexpectedBeforeColon" + case \TypeAnnotationSyntax.colon: + return "colon" + case \TypeAnnotationSyntax.unexpectedBetweenColonAndType: + return "unexpectedBetweenColonAndType" + case \TypeAnnotationSyntax.type: + return "type" + case \TypeAnnotationSyntax.unexpectedAfterType: + return "unexpectedAfterType" + case \TypeEffectSpecifiersSyntax.unexpectedBeforeAsyncSpecifier: + return "unexpectedBeforeAsyncSpecifier" + case \TypeEffectSpecifiersSyntax.asyncSpecifier: + return "asyncSpecifier" + case \TypeEffectSpecifiersSyntax.unexpectedBetweenAsyncSpecifierAndThrowsSpecifier: + return "unexpectedBetweenAsyncSpecifierAndThrowsSpecifier" + case \TypeEffectSpecifiersSyntax.throwsSpecifier: + return "throwsSpecifier" + case \TypeEffectSpecifiersSyntax.unexpectedAfterThrowsSpecifier: + return "unexpectedAfterThrowsSpecifier" + case \TypeExprSyntax.unexpectedBeforeType: + return "unexpectedBeforeType" + case \TypeExprSyntax.type: + return "type" + case \TypeExprSyntax.unexpectedAfterType: + return "unexpectedAfterType" + case \TypeInheritanceClauseSyntax.unexpectedBeforeColon: + return "unexpectedBeforeColon" + case \TypeInheritanceClauseSyntax.colon: + return "colon" + case \TypeInheritanceClauseSyntax.unexpectedBetweenColonAndInheritedTypeCollection: + return "unexpectedBetweenColonAndInheritedTypeCollection" + case \TypeInheritanceClauseSyntax.inheritedTypeCollection: + return "inheritedTypeCollection" + case \TypeInheritanceClauseSyntax.unexpectedAfterInheritedTypeCollection: + return "unexpectedAfterInheritedTypeCollection" + case \TypeInitializerClauseSyntax.unexpectedBeforeEqual: + return "unexpectedBeforeEqual" + case \TypeInitializerClauseSyntax.equal: + return "equal" + case \TypeInitializerClauseSyntax.unexpectedBetweenEqualAndValue: + return "unexpectedBetweenEqualAndValue" + case \TypeInitializerClauseSyntax.value: + return "value" + case \TypeInitializerClauseSyntax.unexpectedAfterValue: + return "unexpectedAfterValue" + case \TypealiasDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \TypealiasDeclSyntax.attributes: + return "attributes" + case \TypealiasDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \TypealiasDeclSyntax.modifiers: + return "modifiers" + case \TypealiasDeclSyntax.unexpectedBetweenModifiersAndTypealiasKeyword: + return "unexpectedBetweenModifiersAndTypealiasKeyword" + case \TypealiasDeclSyntax.typealiasKeyword: + return "typealiasKeyword" + case \TypealiasDeclSyntax.unexpectedBetweenTypealiasKeywordAndIdentifier: + return "unexpectedBetweenTypealiasKeywordAndIdentifier" + case \TypealiasDeclSyntax.identifier: + return "identifier" + case \TypealiasDeclSyntax.unexpectedBetweenIdentifierAndGenericParameterClause: + return "unexpectedBetweenIdentifierAndGenericParameterClause" + case \TypealiasDeclSyntax.genericParameterClause: + return "genericParameterClause" + case \TypealiasDeclSyntax.unexpectedBetweenGenericParameterClauseAndInitializer: + return "unexpectedBetweenGenericParameterClauseAndInitializer" + case \TypealiasDeclSyntax.initializer: + return "initializer" + case \TypealiasDeclSyntax.unexpectedBetweenInitializerAndGenericWhereClause: + return "unexpectedBetweenInitializerAndGenericWhereClause" + case \TypealiasDeclSyntax.genericWhereClause: + return "genericWhereClause" + case \TypealiasDeclSyntax.unexpectedAfterGenericWhereClause: + return "unexpectedAfterGenericWhereClause" + case \UnavailableFromAsyncArgumentsSyntax.unexpectedBeforeMessageLabel: + return "unexpectedBeforeMessageLabel" + case \UnavailableFromAsyncArgumentsSyntax.messageLabel: + return "messageLabel" + case \UnavailableFromAsyncArgumentsSyntax.unexpectedBetweenMessageLabelAndColon: + return "unexpectedBetweenMessageLabelAndColon" + case \UnavailableFromAsyncArgumentsSyntax.colon: + return "colon" + case \UnavailableFromAsyncArgumentsSyntax.unexpectedBetweenColonAndMessage: + return "unexpectedBetweenColonAndMessage" + case \UnavailableFromAsyncArgumentsSyntax.message: + return "message" + case \UnavailableFromAsyncArgumentsSyntax.unexpectedAfterMessage: + return "unexpectedAfterMessage" + case \UnderscorePrivateAttributeArgumentsSyntax.unexpectedBeforeSourceFileLabel: + return "unexpectedBeforeSourceFileLabel" + case \UnderscorePrivateAttributeArgumentsSyntax.sourceFileLabel: + return "sourceFileLabel" + case \UnderscorePrivateAttributeArgumentsSyntax.unexpectedBetweenSourceFileLabelAndColon: + return "unexpectedBetweenSourceFileLabelAndColon" + case \UnderscorePrivateAttributeArgumentsSyntax.colon: + return "colon" + case \UnderscorePrivateAttributeArgumentsSyntax.unexpectedBetweenColonAndFilename: + return "unexpectedBetweenColonAndFilename" + case \UnderscorePrivateAttributeArgumentsSyntax.filename: + return "filename" + case \UnderscorePrivateAttributeArgumentsSyntax.unexpectedAfterFilename: + return "unexpectedAfterFilename" + case \UnresolvedAsExprSyntax.unexpectedBeforeAsTok: + return "unexpectedBeforeAsTok" + case \UnresolvedAsExprSyntax.asTok: + return "asTok" + case \UnresolvedAsExprSyntax.unexpectedBetweenAsTokAndQuestionOrExclamationMark: + return "unexpectedBetweenAsTokAndQuestionOrExclamationMark" + case \UnresolvedAsExprSyntax.questionOrExclamationMark: + return "questionOrExclamationMark" + case \UnresolvedAsExprSyntax.unexpectedAfterQuestionOrExclamationMark: + return "unexpectedAfterQuestionOrExclamationMark" + case \UnresolvedIsExprSyntax.unexpectedBeforeIsTok: + return "unexpectedBeforeIsTok" + case \UnresolvedIsExprSyntax.isTok: + return "isTok" + case \UnresolvedIsExprSyntax.unexpectedAfterIsTok: + return "unexpectedAfterIsTok" + case \UnresolvedPatternExprSyntax.unexpectedBeforePattern: + return "unexpectedBeforePattern" + case \UnresolvedPatternExprSyntax.pattern: + return "pattern" + case \UnresolvedPatternExprSyntax.unexpectedAfterPattern: + return "unexpectedAfterPattern" + case \UnresolvedTernaryExprSyntax.unexpectedBeforeQuestionMark: + return "unexpectedBeforeQuestionMark" + case \UnresolvedTernaryExprSyntax.questionMark: + return "questionMark" + case \UnresolvedTernaryExprSyntax.unexpectedBetweenQuestionMarkAndFirstChoice: + return "unexpectedBetweenQuestionMarkAndFirstChoice" + case \UnresolvedTernaryExprSyntax.firstChoice: + return "firstChoice" + case \UnresolvedTernaryExprSyntax.unexpectedBetweenFirstChoiceAndColonMark: + return "unexpectedBetweenFirstChoiceAndColonMark" + case \UnresolvedTernaryExprSyntax.colonMark: + return "colonMark" + case \UnresolvedTernaryExprSyntax.unexpectedAfterColonMark: + return "unexpectedAfterColonMark" + case \ValueBindingPatternSyntax.unexpectedBeforeBindingKeyword: + return "unexpectedBeforeBindingKeyword" + case \ValueBindingPatternSyntax.bindingKeyword: + return "bindingKeyword" + case \ValueBindingPatternSyntax.unexpectedBetweenBindingKeywordAndValuePattern: + return "unexpectedBetweenBindingKeywordAndValuePattern" + case \ValueBindingPatternSyntax.valuePattern: + return "valuePattern" + case \ValueBindingPatternSyntax.unexpectedAfterValuePattern: + return "unexpectedAfterValuePattern" + case \VariableDeclSyntax.unexpectedBeforeAttributes: + return "unexpectedBeforeAttributes" + case \VariableDeclSyntax.attributes: + return "attributes" + case \VariableDeclSyntax.unexpectedBetweenAttributesAndModifiers: + return "unexpectedBetweenAttributesAndModifiers" + case \VariableDeclSyntax.modifiers: + return "modifiers" + case \VariableDeclSyntax.unexpectedBetweenModifiersAndBindingKeyword: + return "unexpectedBetweenModifiersAndBindingKeyword" + case \VariableDeclSyntax.bindingKeyword: + return "bindingKeyword" + case \VariableDeclSyntax.unexpectedBetweenBindingKeywordAndBindings: + return "unexpectedBetweenBindingKeywordAndBindings" + case \VariableDeclSyntax.bindings: + return "bindings" + case \VariableDeclSyntax.unexpectedAfterBindings: + return "unexpectedAfterBindings" + case \VersionTupleSyntax.unexpectedBeforeMajor: + return "unexpectedBeforeMajor" + case \VersionTupleSyntax.major: + return "major" + case \VersionTupleSyntax.unexpectedBetweenMajorAndMinorPeriod: + return "unexpectedBetweenMajorAndMinorPeriod" + case \VersionTupleSyntax.minorPeriod: + return "minorPeriod" + case \VersionTupleSyntax.unexpectedBetweenMinorPeriodAndMinor: + return "unexpectedBetweenMinorPeriodAndMinor" + case \VersionTupleSyntax.minor: + return "minor" + case \VersionTupleSyntax.unexpectedBetweenMinorAndPatchPeriod: + return "unexpectedBetweenMinorAndPatchPeriod" + case \VersionTupleSyntax.patchPeriod: + return "patchPeriod" + case \VersionTupleSyntax.unexpectedBetweenPatchPeriodAndPatch: + return "unexpectedBetweenPatchPeriodAndPatch" + case \VersionTupleSyntax.patch: + return "patch" + case \VersionTupleSyntax.unexpectedAfterPatch: + return "unexpectedAfterPatch" + case \WhereClauseSyntax.unexpectedBeforeWhereKeyword: + return "unexpectedBeforeWhereKeyword" + case \WhereClauseSyntax.whereKeyword: + return "whereKeyword" + case \WhereClauseSyntax.unexpectedBetweenWhereKeywordAndGuardResult: + return "unexpectedBetweenWhereKeywordAndGuardResult" + case \WhereClauseSyntax.guardResult: + return "guardResult" + case \WhereClauseSyntax.unexpectedAfterGuardResult: + return "unexpectedAfterGuardResult" + case \WhileStmtSyntax.unexpectedBeforeWhileKeyword: + return "unexpectedBeforeWhileKeyword" + case \WhileStmtSyntax.whileKeyword: + return "whileKeyword" + case \WhileStmtSyntax.unexpectedBetweenWhileKeywordAndConditions: + return "unexpectedBetweenWhileKeywordAndConditions" + case \WhileStmtSyntax.conditions: + return "conditions" + case \WhileStmtSyntax.unexpectedBetweenConditionsAndBody: + return "unexpectedBetweenConditionsAndBody" + case \WhileStmtSyntax.body: + return "body" + case \WhileStmtSyntax.unexpectedAfterBody: + return "unexpectedAfterBody" + case \WildcardPatternSyntax.unexpectedBeforeWildcard: + return "unexpectedBeforeWildcard" + case \WildcardPatternSyntax.wildcard: + return "wildcard" + case \WildcardPatternSyntax.unexpectedBetweenWildcardAndTypeAnnotation: + return "unexpectedBetweenWildcardAndTypeAnnotation" + case \WildcardPatternSyntax.typeAnnotation: + return "typeAnnotation" + case \WildcardPatternSyntax.unexpectedAfterTypeAnnotation: + return "unexpectedAfterTypeAnnotation" + case \YieldExprListElementSyntax.unexpectedBeforeExpression: + return "unexpectedBeforeExpression" + case \YieldExprListElementSyntax.expression: + return "expression" + case \YieldExprListElementSyntax.unexpectedBetweenExpressionAndComma: + return "unexpectedBetweenExpressionAndComma" + case \YieldExprListElementSyntax.comma: + return "comma" + case \YieldExprListElementSyntax.unexpectedAfterComma: + return "unexpectedAfterComma" + case \YieldListSyntax.unexpectedBeforeLeftParen: + return "unexpectedBeforeLeftParen" + case \YieldListSyntax.leftParen: + return "leftParen" + case \YieldListSyntax.unexpectedBetweenLeftParenAndElementList: + return "unexpectedBetweenLeftParenAndElementList" + case \YieldListSyntax.elementList: + return "elementList" + case \YieldListSyntax.unexpectedBetweenElementListAndRightParen: + return "unexpectedBetweenElementListAndRightParen" + case \YieldListSyntax.rightParen: + return "rightParen" + case \YieldListSyntax.unexpectedAfterRightParen: + return "unexpectedAfterRightParen" + case \YieldStmtSyntax.unexpectedBeforeYieldKeyword: + return "unexpectedBeforeYieldKeyword" + case \YieldStmtSyntax.yieldKeyword: + return "yieldKeyword" + case \YieldStmtSyntax.unexpectedBetweenYieldKeywordAndYields: + return "unexpectedBetweenYieldKeywordAndYields" + case \YieldStmtSyntax.yields: + return "yields" + case \YieldStmtSyntax.unexpectedAfterYields: + return "unexpectedAfterYields" + default: + return nil + } +} diff --git a/Tests/SwiftSyntaxTest/CustomReflectableTests.swift b/Tests/SwiftSyntaxTest/DebugDescriptionTests.swift similarity index 86% rename from Tests/SwiftSyntaxTest/CustomReflectableTests.swift rename to Tests/SwiftSyntaxTest/DebugDescriptionTests.swift index 660ea06d923..7a83ab142c4 100644 --- a/Tests/SwiftSyntaxTest/CustomReflectableTests.swift +++ b/Tests/SwiftSyntaxTest/DebugDescriptionTests.swift @@ -21,8 +21,7 @@ private extension String { } } -public class CustomReflectableTests: XCTestCase { - +public class DebugDescriptionTests: XCTestCase { public func testDump() { struct TestCase { let syntax: Any @@ -120,12 +119,12 @@ public class CustomReflectableTests: XCTestCase { syntax: tuples, expectedDumped: """ - TupleExprElementListSyntax - ├─TupleExprElementSyntax - │ ╰─IntegerLiteralExprSyntax - │ ╰─integerLiteral("1") - ╰─TupleExprElementSyntax - ╰─IntegerLiteralExprSyntax - ╰─integerLiteral("2") + ├─[0]: TupleExprElementSyntax + │ ╰─expression: IntegerLiteralExprSyntax + │ ╰─digits: integerLiteral("1") + ╰─[1]: TupleExprElementSyntax + ╰─expression: IntegerLiteralExprSyntax + ╰─digits: integerLiteral("2") """ ) @@ -145,12 +144,12 @@ public class CustomReflectableTests: XCTestCase { expectedDumped: """ ▿ Swift.ReversedCollection - _base: TupleExprElementListSyntax - ├─TupleExprElementSyntax - │ ╰─IntegerLiteralExprSyntax - │ ╰─integerLiteral("1") - ╰─TupleExprElementSyntax - ╰─IntegerLiteralExprSyntax - ╰─integerLiteral("2") + ├─[0]: TupleExprElementSyntax + │ ╰─expression: IntegerLiteralExprSyntax + │ ╰─digits: integerLiteral("1") + ╰─[1]: TupleExprElementSyntax + ╰─expression: IntegerLiteralExprSyntax + ╰─digits: integerLiteral("2") """ ) @@ -160,7 +159,11 @@ public class CustomReflectableTests: XCTestCase { testCases.forEach { keyAndValue in let (key:line, value:testCase) = keyAndValue let actualDumped = dumped(testCase.syntax) - XCTAssertEqual(testCase.expectedDumped.trimmingTrailingWhitespace(), actualDumped.trimmingTrailingWhitespace(), line: line) + assertStringsEqualWithDiff( + actualDumped.trimmingTrailingWhitespace(), + testCase.expectedDumped.trimmingTrailingWhitespace(), + line: line + ) } } diff --git a/utils/group.json b/utils/group.json index 7a989792a9b..8873f1dec56 100644 --- a/utils/group.json +++ b/utils/group.json @@ -8,6 +8,7 @@ "RawSyntaxValidation.swift", ], "Syntax": [ + "ChildNameForKeyPath.swift", "Keyword.swift", "SyntaxChildren.swift", "SyntaxData.swift",