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 2021/09/26 13:02:55 UTC

[groovy] branch GROOVY_2_5_X updated: GROOVY-10262: MethodNode#getText can output incorrect modifiers (port to 2_5_X)

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

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


The following commit(s) were added to refs/heads/GROOVY_2_5_X by this push:
     new b208e0d  GROOVY-10262: MethodNode#getText can output incorrect modifiers (port to 2_5_X)
b208e0d is described below

commit b208e0dccd6d28bfad50268b7283717698f0eb88
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sun Sep 26 22:58:45 2021 +1000

    GROOVY-10262: MethodNode#getText can output incorrect modifiers (port to 2_5_X)
---
 src/main/java/org/codehaus/groovy/ast/MethodNode.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/MethodNode.java b/src/main/java/org/codehaus/groovy/ast/MethodNode.java
index 534057f..c4289b3 100644
--- a/src/main/java/org/codehaus/groovy/ast/MethodNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/MethodNode.java
@@ -23,6 +23,7 @@ import org.codehaus.groovy.ast.stmt.BlockStatement;
 import org.codehaus.groovy.ast.stmt.Statement;
 import org.objectweb.asm.Opcodes;
 
+import java.lang.reflect.Modifier;
 import java.util.List;
 
 /**
@@ -268,6 +269,7 @@ public class MethodNode extends AnnotatedNode implements Opcodes {
         String retType = AstToTextHelper.getClassText(returnType);
         String exceptionTypes = AstToTextHelper.getThrowsClauseText(exceptions);
         String parms = AstToTextHelper.getParametersText(parameters);
-        return AstToTextHelper.getModifiersText(modifiers) + " " + retType + " " + name + "(" + parms + ") " + exceptionTypes + " { ... }";
+        int mask = this instanceof ConstructorNode ? Modifier.constructorModifiers() : Modifier.methodModifiers();
+        return AstToTextHelper.getModifiersText(modifiers & mask) + " " + retType + " " + name + "(" + parms + ") " + exceptionTypes + " { ... }";
     }
 }