From 9469dd885d31b0244b1582af40a49b06fe75071a Mon Sep 17 00:00:00 2001 From: Islon Scherer Date: Thu, 30 Oct 2025 13:36:56 +0100 Subject: [PATCH] Handle trailing commas in types (#1272) --- .../files/FormatterSnippetTests/input/comma-termination.pkl | 2 +- .../files/FormatterSnippetTests/output/comma-termination.pkl | 2 +- pkl-parser/src/main/java/org/pkl/parser/GenericParser.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl index 6a110348..e96ad099 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl @@ -15,4 +15,4 @@ trailingCommaInConstraints: String(isSomethingSomethingSomething, isSomethingEls trailingCommaInTypeParameters: Mapping -functionType: (ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType, ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2,) -> String +functionType: (ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType, ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2, /* comment */) -> String diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl index 269a5923..169971a3 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl @@ -36,6 +36,6 @@ trailingCommaInTypeParameters: Mapping< functionType: ( ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType, - ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2, + ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2 /* comment */, ) -> String diff --git a/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java b/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java index 4738b9c3..c8457cda 100644 --- a/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java +++ b/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java @@ -1170,7 +1170,8 @@ public class GenericParser { ff(elements); while (lookahead == Token.COMMA) { var comma = next(); - if (lookahead == Token.RPAREN) { + if (lookahead() == Token.RPAREN) { + ff(elements); break; } elements.add(makeTerminal(comma));