You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2019/12/13 05:56:48 UTC

[groovy] branch master updated (9015d61 -> bb70c29)

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

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


    from 9015d61  Minor refactoring: extract common checking logic
     new da1ed50  Minor refactoring: remove redundant checks for closure type
     new bb70c29  Mark `GeneratedClosure` and `GeneratedLambda` as `Internal`

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java    | 2 +-
 src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java | 2 +-
 src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java | 1 -
 src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java      | 3 +++
 src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java       | 3 +++
 5 files changed, 8 insertions(+), 3 deletions(-)


[groovy] 02/02: Mark `GeneratedClosure` and `GeneratedLambda` as `Internal`

Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit bb70c2986d2590405391f399f228a8cb1c6cb580
Author: Daniel.Sun <re...@hotmail.com>
AuthorDate: Fri Dec 13 12:30:24 2019 +0800

    Mark `GeneratedClosure` and `GeneratedLambda` as `Internal`
---
 src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java | 3 +++
 src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java  | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java b/src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java
index efcfb5e..9a4745a 100644
--- a/src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java
+++ b/src/main/java/org/codehaus/groovy/runtime/GeneratedClosure.java
@@ -18,6 +18,8 @@
  */
 package org.codehaus.groovy.runtime;
 
+import groovy.transform.Internal;
+
 /**
  * Marker interface to identify closures generated by the groovy compiler.
  * For internal use only!
@@ -25,4 +27,5 @@ package org.codehaus.groovy.runtime;
  * @since 1.5
  * @see org.codehaus.groovy.runtime.metaclass.ClosureMetaClass
  */
+@Internal
 public interface GeneratedClosure {}
diff --git a/src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java b/src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java
index 0a74b99..bf02016 100644
--- a/src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java
+++ b/src/main/java/org/codehaus/groovy/runtime/GeneratedLambda.java
@@ -19,10 +19,13 @@
 
 package org.codehaus.groovy.runtime;
 
+import groovy.transform.Internal;
+
 /**
  * Marker interface to identify lambda generated by the groovy compiler.
  * For internal use only!
  *
  * @since 3.0.0
  */
+@Internal
 public interface GeneratedLambda { }


[groovy] 01/02: Minor refactoring: remove redundant checks for closure type

Posted by su...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit da1ed50653a8f0c56ca3aee52e280c5cbae7401d
Author: Daniel.Sun <re...@hotmail.com>
AuthorDate: Fri Dec 13 12:01:33 2019 +0800

    Minor refactoring: remove redundant checks for closure type
---
 src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java    | 2 +-
 src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java | 2 +-
 src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java | 1 -
 3 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
index 428436c..2f73345 100644
--- a/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
+++ b/src/main/java/org/codehaus/groovy/classgen/AsmClassGenerator.java
@@ -940,7 +940,7 @@ public class AsmClassGenerator extends ClassGenerator {
                 iterType = iterType.getOuterClass();
                 if (thisField == null) {
                     // closure within inner class
-                    while (iterType.isDerivedFrom(ClassHelper.CLOSURE_TYPE) && ClassHelper.isGeneratedFunction(iterType)) {
+                    while (ClassHelper.isGeneratedFunction(iterType)) {
                         // GROOVY-8881: cater for closures within closures - getThisObject is already outer class of all closures
                         iterType = iterType.getOuterClass();
                     }
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java
index 8cd5780..221361b 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/InvocationWriter.java
@@ -100,7 +100,7 @@ public class InvocationWriter {
     public void makeCall(final Expression origin, final Expression receiver, final Expression message, final Expression arguments, final MethodCallerMultiAdapter adapter, boolean safe, final boolean spreadSafe, boolean implicitThis) {
         ClassNode sender = controller.getClassNode();
         if (AsmClassGenerator.isSuperExpression(receiver) || (AsmClassGenerator.isThisExpression(receiver) && !implicitThis)) {
-            while (sender.isDerivedFrom(ClassHelper.CLOSURE_TYPE) && ClassHelper.isGeneratedFunction(sender)) {
+            while (ClassHelper.isGeneratedFunction(sender)) {
                 sender = sender.getOuterClass();
             }
             if (AsmClassGenerator.isSuperExpression(receiver)) {
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java b/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
index 6e21864..1db4a89 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
@@ -284,7 +284,6 @@ public class WriterController {
 
     public boolean isInClosure() {
         return classNode.getOuterClass() != null
-                && classNode.getSuperClass().equals(ClassHelper.CLOSURE_TYPE)
                 && ClassHelper.isGeneratedFunction(classNode);
     }