You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/09/05 10:04:34 UTC

[groovy] 03/04: GROOVY-9717: 3.0 stubs include packages annotations on classes other than package-info.groovy

This is an automated email from the ASF dual-hosted git repository.

paulk pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit 8db8b1b302e03b44a7b1eec30443018949f03e9f
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sat Sep 5 17:14:14 2020 +1000

    GROOVY-9717: 3.0 stubs include packages annotations on classes other than package-info.groovy
---
 .../groovy/tools/javac/JavaStubGenerator.java         | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/tools/javac/JavaStubGenerator.java b/src/main/java/org/codehaus/groovy/tools/javac/JavaStubGenerator.java
index ccce303..aa0d051 100644
--- a/src/main/java/org/codehaus/groovy/tools/javac/JavaStubGenerator.java
+++ b/src/main/java/org/codehaus/groovy/tools/javac/JavaStubGenerator.java
@@ -158,10 +158,17 @@ public class JavaStubGenerator {
         Writer writer = new StringBuilderWriter(DEFAULT_BUFFER_SIZE);
 
         try (PrintWriter out = new PrintWriter(writer)) {
-            printPackage(out, classNode);
+            boolean packageInfo = "package-info".equals(classNode.getNameWithoutPackage());
+            String packageName = classNode.getPackageName();
+            if (packageName != null) {
+                if (packageInfo) {
+                    printAnnotations(out, classNode.getPackage());
+                }
+                out.println("package " + packageName + ";");
+            }
 
             // should just output the package statement for `package-info` class node
-            if (!"package-info".equals(classNode.getNameWithoutPackage())) {
+            if (!packageInfo) {
                 printImports(out, classNode);
                 printClassContents(out, classNode);
             }
@@ -170,14 +177,6 @@ public class JavaStubGenerator {
         return writer.toString();
     }
 
-    private void printPackage(PrintWriter out, ClassNode classNode) {
-        String packageName = classNode.getPackageName();
-        if (packageName != null) {
-            printAnnotations(out, classNode.getPackage());
-            out.println("package " + packageName + ";");
-        }
-    }
-
     private static Iterable<ClassNode> findTraits(ClassNode node) {
         Set<ClassNode> traits = new LinkedHashSet<>();