diff --git a/CodeGeneration/Sources/generate-swift-syntax/GenerateSwiftSyntax.swift b/CodeGeneration/Sources/generate-swift-syntax/GenerateSwiftSyntax.swift index 4889bf1d639..1fe87302870 100644 --- a/CodeGeneration/Sources/generate-swift-syntax/GenerateSwiftSyntax.swift +++ b/CodeGeneration/Sources/generate-swift-syntax/GenerateSwiftSyntax.swift @@ -18,23 +18,6 @@ import SwiftSyntaxBuilder import SyntaxSupport import Utils -private let generatedDirName = "generated" - -private let swiftBasicFormatGeneratedDir = ["SwiftBasicFormat", generatedDirName] -private let swiftideUtilsGeneratedDir = ["SwiftIDEUtils", generatedDirName] -private let swiftParserGeneratedDir = ["SwiftParser", generatedDirName] -private let swiftParserDiagnosticsGeneratedDir = ["SwiftParserDiagnostics", generatedDirName] -private let swiftSyntaxGeneratedDir = ["SwiftSyntax", generatedDirName] -private let swiftSyntaxBuilderGeneratedDir = ["SwiftSyntaxBuilder", generatedDirName] -private let BASE_KIND_FILES: [SyntaxNodeKind: String] = [ - .decl: "SyntaxDeclNodes.swift", - .expr: "SyntaxExprNodes.swift", - .pattern: "SyntaxPatternNodes.swift", - .stmt: "SyntaxStmtNodes.swift", - .syntax: "SyntaxNodes.swift", - .type: "SyntaxTypeNodes.swift", -] - struct GeneratedFileSpec { let pathComponents: [String] private let contentsGenerator: () -> String @@ -74,7 +57,8 @@ struct TemplateSpec { @main struct GenerateSwiftSyntax: AsyncParsableCommand { @Argument( - help: "The path to the source directory (i.e. 'swift-syntax/Sources') where the source files are to be generated" + help: + "The path to the generated source directory (i.e. 'swift-syntax/generatedSources') where the files are to be generated" ) var destination: String = { let sourcesURL = URL(fileURLWithPath: #filePath) @@ -82,7 +66,7 @@ struct GenerateSwiftSyntax: AsyncParsableCommand { .deletingLastPathComponent() .deletingLastPathComponent() .deletingLastPathComponent() - .appendingPathComponent("Sources") + .appendingPathComponent("generatedSources") return sourcesURL.path }() @@ -94,61 +78,52 @@ struct GenerateSwiftSyntax: AsyncParsableCommand { var fileSpecs: [GeneratedFileSpec] = [ // SwiftParser - GeneratedFileSpec(swiftParserGeneratedDir + ["ExperimentalFeatures.swift"], experimentalFeaturesFile), - GeneratedFileSpec(swiftParserGeneratedDir + ["IsLexerClassified.swift"], isLexerClassifiedFile), - GeneratedFileSpec(swiftParserGeneratedDir + ["LayoutNodes+Parsable.swift"], layoutNodesParsableFile), - GeneratedFileSpec(swiftParserGeneratedDir + ["Parser+TokenSpecSet.swift"], parserTokenSpecSetFile), - GeneratedFileSpec(swiftParserGeneratedDir + ["TokenSpecStaticMembers.swift"], tokenSpecStaticMembersFile), + GeneratedFileSpec(["SwiftParser", "ExperimentalFeatures.swift"], experimentalFeaturesFile), + GeneratedFileSpec(["SwiftParser", "IsLexerClassified.swift"], isLexerClassifiedFile), + GeneratedFileSpec(["SwiftParser", "LayoutNodes+Parsable.swift"], layoutNodesParsableFile), + GeneratedFileSpec(["SwiftParser", "Parser+TokenSpecSet.swift"], parserTokenSpecSetFile), + GeneratedFileSpec(["SwiftParser", "TokenSpecStaticMembers.swift"], tokenSpecStaticMembersFile), // SwiftParserDiagnostics + GeneratedFileSpec(["SwiftParserDiagnostics", "ChildNameForDiagnostics.swift"], childNameForDiagnosticFile), GeneratedFileSpec( - swiftParserDiagnosticsGeneratedDir + ["ChildNameForDiagnostics.swift"], - childNameForDiagnosticFile - ), - GeneratedFileSpec( - swiftParserDiagnosticsGeneratedDir + ["SyntaxKindNameForDiagnostics.swift"], + ["SwiftParserDiagnostics", "SyntaxKindNameForDiagnostics.swift"], syntaxKindNameForDiagnosticFile ), - GeneratedFileSpec( - swiftParserDiagnosticsGeneratedDir + ["TokenNameForDiagnostics.swift"], - tokenNameForDiagnosticFile - ), + GeneratedFileSpec(["SwiftParserDiagnostics", "TokenNameForDiagnostics.swift"], tokenNameForDiagnosticFile), // SwiftSyntax - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["ChildNameForKeyPath.swift"], childNameForKeyPathFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["Keyword.swift"], keywordFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["raw", "RawSyntaxValidation.swift"], rawSyntaxValidationFile), + GeneratedFileSpec(["SwiftSyntax", "ChildNameForKeyPath.swift"], childNameForKeyPathFile), + GeneratedFileSpec(["SwiftSyntax", "Keyword.swift"], keywordFile), + GeneratedFileSpec(["SwiftSyntax", "raw", "RawSyntaxValidation.swift"], rawSyntaxValidationFile), + GeneratedFileSpec(["SwiftSyntax", "RenamedChildrenCompatibility.swift"], renamedChildrenCompatibilityFile), + GeneratedFileSpec(["SwiftSyntax", "RenamedNodesCompatibility.swift"], renamedSyntaxNodesFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxAnyVisitor.swift"], syntaxAnyVisitorFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxBaseNodes.swift"], syntaxBaseNodesFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxCollections.swift"], syntaxCollectionsFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxEnum.swift"], syntaxEnumFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxKind.swift"], syntaxKindFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxRewriter.swift"], syntaxRewriterFile), + GeneratedFileSpec(["SwiftSyntax", "SyntaxTraits.swift"], syntaxTraitsFile), GeneratedFileSpec( - swiftSyntaxGeneratedDir + ["RenamedChildrenCompatibility.swift"], - renamedChildrenCompatibilityFile - ), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["RenamedNodesCompatibility.swift"], renamedSyntaxNodesFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxAnyVisitor.swift"], syntaxAnyVisitorFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxBaseNodes.swift"], syntaxBaseNodesFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxCollections.swift"], syntaxCollectionsFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxEnum.swift"], syntaxEnumFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxKind.swift"], syntaxKindFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxRewriter.swift"], syntaxRewriterFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["SyntaxTraits.swift"], syntaxTraitsFile), - GeneratedFileSpec( - swiftSyntaxGeneratedDir + ["SyntaxVisitor.swift"], + ["SwiftSyntax", "SyntaxVisitor.swift"], syntaxVisitorFile, format: CodeGenerationFormat(maxElementsOnSameLine: 4) ), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["TokenKind.swift"], tokenKindFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["Tokens.swift"], tokensFile), - GeneratedFileSpec(swiftSyntaxGeneratedDir + ["TriviaPieces.swift"], triviaPiecesFile), - GeneratedFileSpec(["SwiftSyntax", "Documentation.docc", "generated", "SwiftSyntax.md"], swiftSyntaxDoccIndex), + GeneratedFileSpec(["SwiftSyntax", "TokenKind.swift"], tokenKindFile), + GeneratedFileSpec(["SwiftSyntax", "Tokens.swift"], tokensFile), + GeneratedFileSpec(["SwiftSyntax", "TriviaPieces.swift"], triviaPiecesFile), + GeneratedFileSpec(["SwiftSyntax", "Documentation.docc", "SwiftSyntax.md"], swiftSyntaxDoccIndex), // SwiftSyntaxBuilder - GeneratedFileSpec(swiftSyntaxBuilderGeneratedDir + ["BuildableNodes.swift"], buildableNodesFile), - GeneratedFileSpec(swiftSyntaxBuilderGeneratedDir + ["ResultBuilders.swift"], resultBuildersFile), + GeneratedFileSpec(["SwiftSyntaxBuilder", "BuildableNodes.swift"], buildableNodesFile), + GeneratedFileSpec(["SwiftSyntaxBuilder", "ResultBuilders.swift"], resultBuildersFile), GeneratedFileSpec( - swiftSyntaxBuilderGeneratedDir + ["SyntaxExpressibleByStringInterpolationConformances.swift"], + ["SwiftSyntaxBuilder", "SyntaxExpressibleByStringInterpolationConformances.swift"], syntaxExpressibleByStringInterpolationConformancesFile ), GeneratedFileSpec( - swiftSyntaxBuilderGeneratedDir + ["RenamedChildrenBuilderCompatibility.swift"], + ["SwiftSyntaxBuilder", "RenamedChildrenBuilderCompatibility.swift"], renamedChildrenBuilderCompatibilityFile ), ] @@ -158,30 +133,22 @@ struct GenerateSwiftSyntax: AsyncParsableCommand { (letters: String) -> [GeneratedFileSpec] in [ GeneratedFileSpec( - swiftSyntaxGeneratedDir + ["syntaxNodes", "SyntaxNodes\(letters).swift"], + ["SwiftSyntax", "syntaxNodes", "SyntaxNodes\(letters).swift"], syntaxNode(nodesStartingWith: Array(letters)) ), GeneratedFileSpec( - swiftSyntaxGeneratedDir + ["raw", "RawSyntaxNodes\(letters).swift"], + ["SwiftSyntax", "raw", "RawSyntaxNodes\(letters).swift"], rawSyntaxNodesFile(nodesStartingWith: Array(letters)) ), ] } - let modules = Set(fileSpecs.compactMap { $0.pathComponents.first }) - var previouslyGeneratedFiles = Set( - modules.flatMap { (module) -> [URL] in - let generatedDir = - destination - .appendingPathComponent(module) - .appendingPathComponent("generated") - return FileManager.default - .enumerator(at: generatedDir, includingPropertiesForKeys: nil)! - .compactMap { $0 as? URL } - .filter { !$0.hasDirectoryPath } - .map { $0.resolvingSymlinksInPath() } - } + FileManager.default + .enumerator(at: destination, includingPropertiesForKeys: nil)! + .compactMap { $0 as? URL } + .filter { !$0.hasDirectoryPath } + .map { $0.resolvingSymlinksInPath() } ) await withTaskGroup(of: (url: URL, error: Error?).self) { group in diff --git a/Sources/SwiftParser/generated b/Sources/SwiftParser/generated new file mode 120000 index 00000000000..8c49e07a2c0 --- /dev/null +++ b/Sources/SwiftParser/generated @@ -0,0 +1 @@ +../../generatedSources/SwiftParser \ No newline at end of file diff --git a/Sources/SwiftParserDiagnostics/generated b/Sources/SwiftParserDiagnostics/generated new file mode 120000 index 00000000000..207dc494345 --- /dev/null +++ b/Sources/SwiftParserDiagnostics/generated @@ -0,0 +1 @@ +../../generatedSources/SwiftParserDiagnostics \ No newline at end of file diff --git a/Sources/SwiftSyntax/Documentation.docc/generated b/Sources/SwiftSyntax/Documentation.docc/generated new file mode 120000 index 00000000000..320dee84ae0 --- /dev/null +++ b/Sources/SwiftSyntax/Documentation.docc/generated @@ -0,0 +1 @@ +../../../generatedSources/SwiftSyntax/Documentation.docc \ No newline at end of file diff --git a/Sources/SwiftSyntax/generated b/Sources/SwiftSyntax/generated new file mode 120000 index 00000000000..41c57453f10 --- /dev/null +++ b/Sources/SwiftSyntax/generated @@ -0,0 +1 @@ +../../generatedSources/SwiftSyntax \ No newline at end of file diff --git a/Sources/SwiftSyntaxBuilder/generated b/Sources/SwiftSyntaxBuilder/generated new file mode 120000 index 00000000000..46ed4c03c64 --- /dev/null +++ b/Sources/SwiftSyntaxBuilder/generated @@ -0,0 +1 @@ +../../generatedSources/SwiftSyntaxBuilder \ No newline at end of file diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Format.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Format.swift index a5c8248af9d..0ad9853bf73 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Format.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/Format.swift @@ -16,7 +16,7 @@ import Foundation /// Directories that should not be formatted. fileprivate let directoriesToExclude = [ "lit_tests", - "generated", + "generatedSources", "build", "Inputs", ".build", diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/GenerateSourceCode.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/GenerateSourceCode.swift index abdd478940b..a68cecc5c8e 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/GenerateSourceCode.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/GenerateSourceCode.swift @@ -26,7 +26,7 @@ struct GenerateSourceCode: ParsableCommand { toolchain: try arguments.toolchain, verbose: arguments.verbose ) - try executor.run(sourceDir: Paths.sourcesDir) + try executor.run(destinationDir: Paths.generatedSourcesDir) } } @@ -46,13 +46,13 @@ struct GenerateSourceCodeExecutor { self.verbose = verbose } - func run(sourceDir: URL) throws { + func run(destinationDir: URL) throws { logSection("Running code generation") var args = [ "run", "--package-path", Paths.codeGenerationDir.relativePath, - "generate-swift-syntax", sourceDir.relativePath, + "generate-swift-syntax", destinationDir.relativePath, ] if verbose { diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/LocalPrPrecheck.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/LocalPrPrecheck.swift index 3eec83dc46d..a3a726178dc 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/LocalPrPrecheck.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/LocalPrPrecheck.swift @@ -55,7 +55,7 @@ struct LocalPrPrecheckExecutor { func run() throws { try formatExecutor.run() - try generateSourceCodeExecutor.run(sourceDir: Paths.sourcesDir) + try generateSourceCodeExecutor.run(destinationDir: Paths.generatedSourcesDir) try buildExecutor.run() try testExecutor.run() } diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/VerifySourceCode.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/VerifySourceCode.swift index 5f339341ae0..0c03062b073 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/VerifySourceCode.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/commands/VerifySourceCode.swift @@ -14,13 +14,6 @@ import ArgumentParser import Foundation import RegexBuilder -fileprivate let modules: [String] = [ - "SwiftParser", - "SwiftParserDiagnostics", - "SwiftSyntax", - "SwiftSyntaxBuilder", -] - struct VerifySourceCode: ParsableCommand { static let configuration = CommandConfiguration( abstract: "Verify that the generated sources match the ones checked into the repository." @@ -66,40 +59,37 @@ struct VerifySourceCodeExecutor { } private func verifyCodeGeneratedFiles(tempDir: URL) throws { - try generateSourceCodeExecutor.run(sourceDir: tempDir) + try generateSourceCodeExecutor.run(destinationDir: tempDir) logSection("Verifing code generated files") - for module in modules { - let selfGeneratedDir = tempDir.appendingPathComponent(module).appendingPathComponent("generated") - let userGeneratedDir = Paths.sourcesDir.appendingPathComponent(module).appendingPathComponent("generated") - - let process = ProcessRunner( - executableURL: try Paths.diffExec, - arguments: [ - "--recursive", - "--exclude", - ".*", // Exclude dot files like .DS_Store - "--context=0", - selfGeneratedDir.path, - userGeneratedDir.path, - ] - ) + let selfGeneratedDir = tempDir + let userGeneratedDir = Paths.generatedSourcesDir + + let process = ProcessRunner( + executableURL: try Paths.diffExec, + arguments: [ + "--recursive", + "--exclude", + ".*", // Exclude dot files like .DS_Store + "--context=0", + selfGeneratedDir.path, + userGeneratedDir.path, + ] + ) + + let result = try process.run(verbose: verbose) - let result = try process.run(verbose: verbose) - - if !result.stderr.isEmpty { - throw ScriptExectutionError( - message: """ - FAIL: code-generated files committed to repository do - not match generated ones. Please re-generate the - code-generated-files using the following command, open a PR to the - SwiftSyntax project and merge it alongside the main PR. - $ swift run swift-syntax-dev-utils generate-source-code - /path/to/toolchain.xctoolchain/usr - """ - ) - } + if !result.stderr.isEmpty { + throw ScriptExectutionError( + message: """ + FAIL: code-generated files committed to repository do + not match generated ones. Please re-generate the + code-generated-files using the following command, open a PR to the + SwiftSyntax project and merge it alongside the main PR. + $ swift run swift-syntax-dev-utils generate-source-code + """ + ) } } } diff --git a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/Paths.swift b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/Paths.swift index 36d6d198cc6..7b995e0d37b 100644 --- a/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/Paths.swift +++ b/SwiftSyntaxDevUtils/Sources/swift-syntax-dev-utils/common/Paths.swift @@ -27,6 +27,11 @@ enum Paths { .appendingPathComponent("Sources") } + static var generatedSourcesDir: URL { + packageDir + .appendingPathComponent("generatedSources") + } + static var examplesDir: URL { packageDir .appendingPathComponent("Examples") diff --git a/Sources/SwiftParser/generated/ExperimentalFeatures.swift b/generatedSources/SwiftParser/ExperimentalFeatures.swift similarity index 100% rename from Sources/SwiftParser/generated/ExperimentalFeatures.swift rename to generatedSources/SwiftParser/ExperimentalFeatures.swift diff --git a/Sources/SwiftParser/generated/IsLexerClassified.swift b/generatedSources/SwiftParser/IsLexerClassified.swift similarity index 100% rename from Sources/SwiftParser/generated/IsLexerClassified.swift rename to generatedSources/SwiftParser/IsLexerClassified.swift diff --git a/Sources/SwiftParser/generated/LayoutNodes+Parsable.swift b/generatedSources/SwiftParser/LayoutNodes+Parsable.swift similarity index 100% rename from Sources/SwiftParser/generated/LayoutNodes+Parsable.swift rename to generatedSources/SwiftParser/LayoutNodes+Parsable.swift diff --git a/Sources/SwiftParser/generated/Parser+TokenSpecSet.swift b/generatedSources/SwiftParser/Parser+TokenSpecSet.swift similarity index 100% rename from Sources/SwiftParser/generated/Parser+TokenSpecSet.swift rename to generatedSources/SwiftParser/Parser+TokenSpecSet.swift diff --git a/Sources/SwiftParser/generated/TokenSpecStaticMembers.swift b/generatedSources/SwiftParser/TokenSpecStaticMembers.swift similarity index 100% rename from Sources/SwiftParser/generated/TokenSpecStaticMembers.swift rename to generatedSources/SwiftParser/TokenSpecStaticMembers.swift diff --git a/Sources/SwiftParserDiagnostics/generated/ChildNameForDiagnostics.swift b/generatedSources/SwiftParserDiagnostics/ChildNameForDiagnostics.swift similarity index 100% rename from Sources/SwiftParserDiagnostics/generated/ChildNameForDiagnostics.swift rename to generatedSources/SwiftParserDiagnostics/ChildNameForDiagnostics.swift diff --git a/Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift b/generatedSources/SwiftParserDiagnostics/SyntaxKindNameForDiagnostics.swift similarity index 100% rename from Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift rename to generatedSources/SwiftParserDiagnostics/SyntaxKindNameForDiagnostics.swift diff --git a/Sources/SwiftParserDiagnostics/generated/TokenNameForDiagnostics.swift b/generatedSources/SwiftParserDiagnostics/TokenNameForDiagnostics.swift similarity index 100% rename from Sources/SwiftParserDiagnostics/generated/TokenNameForDiagnostics.swift rename to generatedSources/SwiftParserDiagnostics/TokenNameForDiagnostics.swift diff --git a/Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift b/generatedSources/SwiftSyntax/ChildNameForKeyPath.swift similarity index 100% rename from Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift rename to generatedSources/SwiftSyntax/ChildNameForKeyPath.swift diff --git a/Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md b/generatedSources/SwiftSyntax/Documentation.docc/SwiftSyntax.md similarity index 100% rename from Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md rename to generatedSources/SwiftSyntax/Documentation.docc/SwiftSyntax.md diff --git a/Sources/SwiftSyntax/generated/Keyword.swift b/generatedSources/SwiftSyntax/Keyword.swift similarity index 100% rename from Sources/SwiftSyntax/generated/Keyword.swift rename to generatedSources/SwiftSyntax/Keyword.swift diff --git a/Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift b/generatedSources/SwiftSyntax/RenamedChildrenCompatibility.swift similarity index 100% rename from Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift rename to generatedSources/SwiftSyntax/RenamedChildrenCompatibility.swift diff --git a/Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift b/generatedSources/SwiftSyntax/RenamedNodesCompatibility.swift similarity index 100% rename from Sources/SwiftSyntax/generated/RenamedNodesCompatibility.swift rename to generatedSources/SwiftSyntax/RenamedNodesCompatibility.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift b/generatedSources/SwiftSyntax/SyntaxAnyVisitor.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxAnyVisitor.swift rename to generatedSources/SwiftSyntax/SyntaxAnyVisitor.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift b/generatedSources/SwiftSyntax/SyntaxBaseNodes.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxBaseNodes.swift rename to generatedSources/SwiftSyntax/SyntaxBaseNodes.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxCollections.swift b/generatedSources/SwiftSyntax/SyntaxCollections.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxCollections.swift rename to generatedSources/SwiftSyntax/SyntaxCollections.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxEnum.swift b/generatedSources/SwiftSyntax/SyntaxEnum.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxEnum.swift rename to generatedSources/SwiftSyntax/SyntaxEnum.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxKind.swift b/generatedSources/SwiftSyntax/SyntaxKind.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxKind.swift rename to generatedSources/SwiftSyntax/SyntaxKind.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxRewriter.swift b/generatedSources/SwiftSyntax/SyntaxRewriter.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxRewriter.swift rename to generatedSources/SwiftSyntax/SyntaxRewriter.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxTraits.swift b/generatedSources/SwiftSyntax/SyntaxTraits.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxTraits.swift rename to generatedSources/SwiftSyntax/SyntaxTraits.swift diff --git a/Sources/SwiftSyntax/generated/SyntaxVisitor.swift b/generatedSources/SwiftSyntax/SyntaxVisitor.swift similarity index 100% rename from Sources/SwiftSyntax/generated/SyntaxVisitor.swift rename to generatedSources/SwiftSyntax/SyntaxVisitor.swift diff --git a/Sources/SwiftSyntax/generated/TokenKind.swift b/generatedSources/SwiftSyntax/TokenKind.swift similarity index 100% rename from Sources/SwiftSyntax/generated/TokenKind.swift rename to generatedSources/SwiftSyntax/TokenKind.swift diff --git a/Sources/SwiftSyntax/generated/Tokens.swift b/generatedSources/SwiftSyntax/Tokens.swift similarity index 100% rename from Sources/SwiftSyntax/generated/Tokens.swift rename to generatedSources/SwiftSyntax/Tokens.swift diff --git a/Sources/SwiftSyntax/generated/TriviaPieces.swift b/generatedSources/SwiftSyntax/TriviaPieces.swift similarity index 100% rename from Sources/SwiftSyntax/generated/TriviaPieces.swift rename to generatedSources/SwiftSyntax/TriviaPieces.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesAB.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesAB.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesAB.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesC.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesC.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesC.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesD.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesD.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesD.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesD.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesEF.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesEF.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesEF.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesGHI.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesGHI.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesGHI.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesGHI.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesJKLMN.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesJKLMN.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesJKLMN.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesJKLMN.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesOP.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesOP.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesOP.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesQRS.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesQRS.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesQRS.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxNodesTUVWXYZ.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxNodesTUVWXYZ.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxNodesTUVWXYZ.swift diff --git a/Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift b/generatedSources/SwiftSyntax/raw/RawSyntaxValidation.swift similarity index 100% rename from Sources/SwiftSyntax/generated/raw/RawSyntaxValidation.swift rename to generatedSources/SwiftSyntax/raw/RawSyntaxValidation.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesAB.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesAB.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesAB.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesC.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesC.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesC.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesD.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesD.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesD.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesD.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesEF.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesEF.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesEF.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesGHI.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesGHI.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesGHI.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesGHI.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesJKLMN.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesJKLMN.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesJKLMN.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesJKLMN.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesOP.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesOP.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesOP.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesQRS.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesQRS.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesQRS.swift diff --git a/Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift b/generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesTUVWXYZ.swift similarity index 100% rename from Sources/SwiftSyntax/generated/syntaxNodes/SyntaxNodesTUVWXYZ.swift rename to generatedSources/SwiftSyntax/syntaxNodes/SyntaxNodesTUVWXYZ.swift diff --git a/Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift b/generatedSources/SwiftSyntaxBuilder/BuildableNodes.swift similarity index 100% rename from Sources/SwiftSyntaxBuilder/generated/BuildableNodes.swift rename to generatedSources/SwiftSyntaxBuilder/BuildableNodes.swift diff --git a/Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift b/generatedSources/SwiftSyntaxBuilder/RenamedChildrenBuilderCompatibility.swift similarity index 100% rename from Sources/SwiftSyntaxBuilder/generated/RenamedChildrenBuilderCompatibility.swift rename to generatedSources/SwiftSyntaxBuilder/RenamedChildrenBuilderCompatibility.swift diff --git a/Sources/SwiftSyntaxBuilder/generated/ResultBuilders.swift b/generatedSources/SwiftSyntaxBuilder/ResultBuilders.swift similarity index 100% rename from Sources/SwiftSyntaxBuilder/generated/ResultBuilders.swift rename to generatedSources/SwiftSyntaxBuilder/ResultBuilders.swift diff --git a/Sources/SwiftSyntaxBuilder/generated/SyntaxExpressibleByStringInterpolationConformances.swift b/generatedSources/SwiftSyntaxBuilder/SyntaxExpressibleByStringInterpolationConformances.swift similarity index 100% rename from Sources/SwiftSyntaxBuilder/generated/SyntaxExpressibleByStringInterpolationConformances.swift rename to generatedSources/SwiftSyntaxBuilder/SyntaxExpressibleByStringInterpolationConformances.swift