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 2018/09/20 05:34:59 UTC
groovy git commit: GROOVY-8495: GroovyObject method implementations
are marked with ACC_SYNTHETIC (partial revert)
Repository: groovy
Updated Branches:
refs/heads/GROOVY_2_5_X 79d4b9788 -> fb125e42c
GROOVY-8495: GroovyObject method implementations are marked with ACC_SYNTHETIC (partial revert)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/fb125e42
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/fb125e42
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/fb125e42
Branch: refs/heads/GROOVY_2_5_X
Commit: fb125e42cf188ac98dc05d0b2188a72bad107ec3
Parents: 79d4b97
Author: Paul King <pa...@asert.com.au>
Authored: Thu Sep 20 15:15:00 2018 +1000
Committer: Paul King <pa...@asert.com.au>
Committed: Thu Sep 20 15:15:00 2018 +1000
----------------------------------------------------------------------
src/main/java/org/codehaus/groovy/classgen/Verifier.java | 11 ++++++-----
src/test/groovy/bugs/Groovy3175_Bug.groovy | 8 ++++++--
.../src/test/groovy/groovy/ant/Groovy8496Test.groovy | 3 +++
.../src/test/groovy/groovy/ant/Groovy8497Test.groovy | 3 +++
4 files changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/fb125e42/src/main/java/org/codehaus/groovy/classgen/Verifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index 31a2be2..babae32 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -84,6 +84,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import static java.lang.reflect.Modifier.isAbstract;
import static java.lang.reflect.Modifier.isFinal;
import static java.lang.reflect.Modifier.isPrivate;
import static java.lang.reflect.Modifier.isPublic;
@@ -411,7 +412,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
if (!node.hasMethod("getMetaClass", Parameter.EMPTY_ARRAY)) {
metaClassField = setMetaClassFieldIfNotExists(node, metaClassField);
- MethodNode methodNode = addMethod(node, !shouldAnnotate,
+ MethodNode methodNode = addMethod(node, !isAbstract(node.getModifiers()),
"getMetaClass",
ACC_PUBLIC,
ClassHelper.METACLASS_TYPE,
@@ -482,7 +483,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
setMetaClassCode = new BytecodeSequence(list);
}
- MethodNode methodNode = addMethod(node, !shouldAnnotate,
+ MethodNode methodNode = addMethod(node, !isAbstract(node.getModifiers()),
"setMetaClass",
ACC_PUBLIC, ClassHelper.VOID_TYPE,
SET_METACLASS_PARAMS, ClassNode.EMPTY_ARRAY,
@@ -501,7 +502,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
blockScope.putReferencedLocalVariable(vMethods);
blockScope.putReferencedLocalVariable(vArguments);
- MethodNode methodNode = addMethod(node, !shouldAnnotate,
+ MethodNode methodNode = addMethod(node, !isAbstract(node.getModifiers()),
"invokeMethod",
ACC_PUBLIC,
ClassHelper.OBJECT_TYPE, INVOKE_METHOD_PARAMS,
@@ -525,7 +526,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
}
if (!node.hasMethod("getProperty", GET_PROPERTY_PARAMS)) {
- MethodNode methodNode = addMethod(node, !shouldAnnotate,
+ MethodNode methodNode = addMethod(node, !isAbstract(node.getModifiers()),
"getProperty",
ACC_PUBLIC,
ClassHelper.OBJECT_TYPE,
@@ -549,7 +550,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
}
if (!node.hasMethod("setProperty", SET_PROPERTY_PARAMS)) {
- MethodNode methodNode = addMethod(node, !shouldAnnotate,
+ MethodNode methodNode = addMethod(node, !isAbstract(node.getModifiers()),
"setProperty",
ACC_PUBLIC,
ClassHelper.VOID_TYPE,
http://git-wip-us.apache.org/repos/asf/groovy/blob/fb125e42/src/test/groovy/bugs/Groovy3175_Bug.groovy
----------------------------------------------------------------------
diff --git a/src/test/groovy/bugs/Groovy3175_Bug.groovy b/src/test/groovy/bugs/Groovy3175_Bug.groovy
index 07e6c7d..b96645a 100644
--- a/src/test/groovy/bugs/Groovy3175_Bug.groovy
+++ b/src/test/groovy/bugs/Groovy3175_Bug.groovy
@@ -23,6 +23,7 @@ class Groovy3175_Bug extends GroovyTestCase {
void testSyntheticModifier() {
assertScript """
import groovy.transform.Generated
+ import groovy.transform.Internal
class MyService {
private fio
@@ -30,12 +31,15 @@ class Groovy3175_Bug extends GroovyTestCase {
def something() { }
def anotherSomething() { assert true }
}
+
def fields = MyService.getDeclaredFields().grep { !it.synthetic }
assert fields.size() == 2
def methods = MyService.getDeclaredMethods().grep { !it.synthetic }
- assert methods.size() == 9
+ assert methods.size() == 4 // two explicit plus getter/setter
+ methods = methods.grep { !it.getAnnotation(Internal) }
+ assert methods.size() == 4 // two explicit plus getter/setter
methods = methods.grep { !it.getAnnotation(Generated) }
- assert methods.size() == 2
+ assert methods.size() == 2 // two explicit
"""
}
}
http://git-wip-us.apache.org/repos/asf/groovy/blob/fb125e42/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8496Test.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8496Test.groovy b/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8496Test.groovy
index 981c0a0..d9b764b 100644
--- a/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8496Test.groovy
+++ b/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8496Test.groovy
@@ -18,7 +18,10 @@
*/
package groovy.ant
+import groovy.transform.NotYetImplemented
+
class Groovy8496Test extends AntTestCase {
+ @NotYetImplemented
void testGetProperty() {
// def debugLogger = new org.apache.tools.ant.DefaultLogger()
// debugLogger.setMessageOutputLevel(4)
http://git-wip-us.apache.org/repos/asf/groovy/blob/fb125e42/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8497Test.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8497Test.groovy b/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8497Test.groovy
index 1991c2d..2e0a9ff 100644
--- a/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8497Test.groovy
+++ b/subprojects/groovy-ant/src/test/groovy/groovy/ant/Groovy8497Test.groovy
@@ -18,7 +18,10 @@
*/
package groovy.ant
+import groovy.transform.NotYetImplemented
+
class Groovy8497Test extends AntTestCase {
+ @NotYetImplemented
void testGetProperty() {
// def debugLogger = new org.apache.tools.ant.DefaultLogger()
// debugLogger.setMessageOutputLevel(4)