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 2019/04/08 12:59:06 UTC

[groovy] 14/20: Simplify the prefix of synthetic method name

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

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

commit d8aac4e063ebc3981c6efe7c42c278a1c2f580ef
Author: Daniel Sun <su...@apache.org>
AuthorDate: Mon Mar 18 23:18:14 2019 +0800

    Simplify the prefix of synthetic method name
---
 src/main/java/org/codehaus/groovy/ast/ClassNode.java             | 4 +++-
 src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/ClassNode.java b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
index 8099c8c..ead078e 100644
--- a/src/main/java/org/codehaus/groovy/ast/ClassNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
@@ -1140,12 +1140,14 @@ public class ClassNode extends AnnotatedNode implements Opcodes {
     }
 
     private void visitMethods(GroovyClassVisitor visitor) {
+        // create snapshot of the method list to avoid java.util.ConcurrentModificationException
         List<MethodNode> methodList = new ArrayList<>(getMethods());
         for (MethodNode mn : methodList) {
             visitor.visitMethod(mn);
         }
 
-        // visit the method node added while iterating the above methodList, e.g. synthetic method for constructor reference
+        // visit the method nodes added while iterating,
+        // e.g. synthetic method for constructor reference
         List<MethodNode> changedMethodList = new ArrayList<>(getMethods());
         boolean changed = changedMethodList.removeAll(methodList);
         if (changed) {
diff --git a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
index c80a8dd..ea4f973 100644
--- a/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
+++ b/src/main/java/org/codehaus/groovy/classgen/GeneratorContext.java
@@ -76,7 +76,7 @@ public class GeneratorContext {
     }
 
     public String getNextConstructorReferenceSyntheticMethodName(MethodNode enclosingMethodNode) {
-        return "constructorReference$"
+        return "ctorRef$"
                 + (null == enclosingMethodNode
                         ? ""
                         : enclosingMethodNode.getName().replace("<", "").replace(">", "") + "$" )