Skip to content

Commit 8eb538d

Browse files
authored
Add missing code for parser entry template and fix build-script.py (#1352)
1 parent e3f9d0e commit 8eb538d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

CodeGeneration/Sources/generate-swiftsyntax/templates/swiftparser/ParserEntryFile.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,15 @@ let parserEntryFile = SourceFileSyntax(leadingTrivia: generateCopyrightHeader(fo
8787
return into
8888
}
8989
90-
let unexpected = RawUnexpectedNodesSyntax(elements: remainingTokens, arena: self.arena)
90+
let existingUnexpected: [RawSyntax]
91+
if let unexpectedNode = layout.children[layout.children.count - 1] {
92+
assert(unexpectedNode.is(RawUnexpectedNodesSyntax.self))
93+
existingUnexpected = unexpectedNode.as(RawUnexpectedNodesSyntax.self).elements
94+
} else {
95+
existingUnexpected = []
96+
}
97+
let unexpected = RawUnexpectedNodesSyntax(elements: existingUnexpected + remainingTokens, arena: self.arena)
98+
9199
let withUnexpected = layout.replacingChild(at: layout.children.count - 1, with: unexpected.raw, arena: self.arena)
92100
return R.init(withUnexpected)!
93101
}

build-script.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -433,8 +433,8 @@ def verify_gyb_generated_files(gyb_exec: str, verbose: bool) -> None:
433433
def verify_code_generated_files(
434434
toolchain: str, verbose: bool
435435
) -> None:
436-
437-
436+
self_temp_dir = tempfile.mkdtemp()
437+
438438
try:
439439
run_code_generation(
440440
source_dir=self_temp_dir,
@@ -451,7 +451,7 @@ def verify_code_generated_files(
451451

452452
for module in ["SwiftBasicFormat", "IDEUtils", \
453453
"SwiftParser", "SwiftSyntax", "SwiftSyntaxBuilder"]:
454-
self_generated_dir = os.path.join(self_temp_dir, "Sources", module, "generated")
454+
self_generated_dir = os.path.join(self_temp_dir, module, "generated")
455455
user_generated_dir = os.path.join(SOURCES_DIR, module, "generated")
456456
check_generated_files_match(self_generated_dir, user_generated_dir)
457457

0 commit comments

Comments
 (0)