From 70ac222e648ea0af82200f671a727e3165cbb5c6 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Fri, 1 Aug 2025 00:58:01 +0200 Subject: [PATCH] [pretty][jdk25] Pretty printer now supports module imports; also: test that confirms this. --- src/delombok/lombok/delombok/PrettyPrinter.java | 10 ++++++++++ test/pretty/resource/after/ModuleImport.java | 4 ++++ test/pretty/resource/before/ModuleImport.java | 5 +++++ 3 files changed, 19 insertions(+) create mode 100644 test/pretty/resource/after/ModuleImport.java create mode 100644 test/pretty/resource/before/ModuleImport.java diff --git a/src/delombok/lombok/delombok/PrettyPrinter.java b/src/delombok/lombok/delombok/PrettyPrinter.java index fa8eaf6d..3aef2ced 100644 --- a/src/delombok/lombok/delombok/PrettyPrinter.java +++ b/src/delombok/lombok/delombok/PrettyPrinter.java @@ -514,6 +514,14 @@ public class PrettyPrinter extends JCTree.Visitor { println(";", tree); } + void printModuleImport(JCTree tree) { + JCExpression qualid = readObject(tree, "module", null); + + aPrint("import module "); + print(qualid); + println(";", tree); + } + private Name currentTypeName; @Override public void visitClassDef(JCClassDecl tree) { println(); @@ -1710,6 +1718,8 @@ public class PrettyPrinter extends JCTree.Visitor { printRecordPattern(tree); } else if (className.endsWith("$JCAnyPattern")) { // Introduced in JDK22 print("_"); + } else if (className.endsWith("$JCModuleImport")) { // Introduced in JDK25 + printModuleImport(tree); } else { throw new AssertionError("Unhandled tree type: " + tree.getClass() + ": " + tree); } diff --git a/test/pretty/resource/after/ModuleImport.java b/test/pretty/resource/after/ModuleImport.java new file mode 100644 index 00000000..90b7ea72 --- /dev/null +++ b/test/pretty/resource/after/ModuleImport.java @@ -0,0 +1,4 @@ +import module java.base; + +public class ModuleImport { +} diff --git a/test/pretty/resource/before/ModuleImport.java b/test/pretty/resource/before/ModuleImport.java new file mode 100644 index 00000000..782680f1 --- /dev/null +++ b/test/pretty/resource/before/ModuleImport.java @@ -0,0 +1,5 @@ +// version 25: + +import module java.base; + +public class ModuleImport {}