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