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<>();