From 2eabd8485df6fb01e05cf7bcf797d922b9d4e012 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 23 Mar 2021 04:58:20 +0100 Subject: [PATCH] [delombok] [prettyprinter] add support for the compact record constructor --- .../lombok/delombok/PrettyPrinter.java | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/delombok/lombok/delombok/PrettyPrinter.java b/src/delombok/lombok/delombok/PrettyPrinter.java index 05904815..8ce38c33 100644 --- a/src/delombok/lombok/delombok/PrettyPrinter.java +++ b/src/delombok/lombok/delombok/PrettyPrinter.java @@ -812,22 +812,32 @@ public class PrettyPrinter extends JCTree.Visitor { print(tree.name); } + boolean argsLessConstructor = false; + if (isConstructor && (tree.mods.flags & COMPACT_RECORD_CONSTRUCTOR) != 0) { + argsLessConstructor = true; + for (JCVariableDecl param : tree.params) { + if ((param.mods.flags & GENERATED_MEMBER) == 0) argsLessConstructor = false; + } + } + boolean first = true; - print("("); - - JCVariableDecl recvparam = readObject(tree, "recvparam", null); - if (recvparam != null) { - printVarDefInline(recvparam); - first = false; + if (!argsLessConstructor) { + print("("); + + JCVariableDecl recvparam = readObject(tree, "recvparam", null); + if (recvparam != null) { + printVarDefInline(recvparam); + first = false; + } + + for (JCVariableDecl param : tree.params) { + if (!first) print(", "); + first = false; + printVarDefInline(param); + } + print(")"); } - for (JCVariableDecl param : tree.params) { - if (!first) print(", "); - first = false; - printVarDefInline(param); - } - print(")"); - if (tree.thrown.nonEmpty()) { print(" throws "); print(tree.thrown, ", ");