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 2022/09/06 11:10:25 UTC

[groovy] branch GROOVY_4_0_X updated: minor groovydoc refactor - was letting through synthetic members

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

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


The following commit(s) were added to refs/heads/GROOVY_4_0_X by this push:
     new e297d00644 minor groovydoc refactor - was letting through synthetic members
e297d00644 is described below

commit e297d006449603e01f20926cf1b59e750c60d085
Author: Paul King <pa...@asert.com.au>
AuthorDate: Tue Sep 6 21:09:59 2022 +1000

    minor groovydoc refactor - was letting through synthetic members
---
 .../main/java/org/apache/groovy/antlr/GroovydocVisitor.java  | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java
index f5f0882064..8ca5c3b43a 100644
--- a/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java
+++ b/subprojects/groovy-groovydoc/src/main/java/org/apache/groovy/antlr/GroovydocVisitor.java
@@ -50,6 +50,7 @@ import org.codehaus.groovy.tools.groovydoc.SimpleGroovyMethodDoc;
 import org.codehaus.groovy.tools.groovydoc.SimpleGroovyParameter;
 import org.codehaus.groovy.tools.groovydoc.SimpleGroovyProgramElementDoc;
 import org.codehaus.groovy.tools.groovydoc.SimpleGroovyType;
+import org.objectweb.asm.Opcodes;
 
 import java.lang.reflect.Modifier;
 import java.util.ArrayList;
@@ -96,6 +97,8 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport {
 
     @Override
     public void visitClass(ClassNode node) {
+        boolean isSynthetic = (node.getModifiers() & Opcodes.ACC_SYNTHETIC) != 0;
+        if (isSynthetic || node.isSynthetic()) return;
         final Map<String, String> aliases = new HashMap<>();
         final List<String> imports = new ArrayList<>();
         for (ImportNode iNode : node.getModule().getImports()) {
@@ -206,7 +209,8 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport {
 
     @Override
     public void visitConstructor(ConstructorNode node) {
-        if (node.isSynthetic()) return;
+        boolean isSynthetic = (node.getModifiers() & Opcodes.ACC_SYNTHETIC) != 0;
+        if (isSynthetic || node.isSynthetic()) return;
         SimpleGroovyConstructorDoc cons = new SimpleGroovyConstructorDoc(currentClassDoc.simpleTypeName(), currentClassDoc);
         setConstructorOrMethodCommon(node, cons);
         currentClassDoc.add(cons);
@@ -217,7 +221,8 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport {
     public void visitMethod(MethodNode node) {
         if (currentClassDoc.isEnum() && "$INIT".equals(node.getName()))
             return;
-        if (node.isSynthetic()) return;
+        boolean isSynthetic = (node.getModifiers() & Opcodes.ACC_SYNTHETIC) != 0;
+        if (isSynthetic || node.isSynthetic()) return;
         if ("false".equals(properties.getProperty("includeMainForScripts", "true"))
                 && currentClassDoc.isScript() && "main".equals(node.getName()) && node.isStatic() && node.getParameters().length == 1)
             return;
@@ -370,7 +375,8 @@ public class GroovydocVisitor extends ClassCodeVisitorSupport {
 
     @Override
     public void visitField(FieldNode node) {
-        if (node.isSynthetic()) return;
+        boolean isSynthetic = (node.getModifiers() & Opcodes.ACC_SYNTHETIC) != 0;
+        if (isSynthetic || node.isSynthetic()) return;
         String name = node.getName();
         SimpleGroovyFieldDoc fieldDoc = new SimpleGroovyFieldDoc(name, currentClassDoc);
         fieldDoc.setType(new SimpleGroovyType(makeType(node.getType())));