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/05/19 13:57:55 UTC
groovy git commit: GROOVY-8579: No bytecode level check is done
before producing JDK8+ bytecode (avoid fix for DGM methods)
Repository: groovy
Updated Branches:
refs/heads/master 1351501ee -> 11c145d01
GROOVY-8579: No bytecode level check is done before producing JDK8+ bytecode (avoid fix for DGM methods)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/11c145d0
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/11c145d0
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/11c145d0
Branch: refs/heads/master
Commit: 11c145d01413cbdf7a562d2ab5dbc52f981a617a
Parents: 1351501
Author: Paul King <pa...@asert.com.au>
Authored: Sat May 19 23:57:11 2018 +1000
Committer: Paul King <pa...@asert.com.au>
Committed: Sat May 19 23:57:43 2018 +1000
----------------------------------------------------------------------
.../codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/11c145d0/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index c28604a..c538352 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -3255,7 +3255,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
storeType(call, returnType);
storeTargetMethod(call, directMethodCallCandidate);
ClassNode declaringClass = directMethodCallCandidate.getDeclaringClass();
- if (declaringClass.isInterface() && directMethodCallCandidate.isStatic()) {
+ if (declaringClass.isInterface() && directMethodCallCandidate.isStatic() && !(directMethodCallCandidate instanceof ExtensionMethodNode)) {
typeCheckingContext.getEnclosingClassNode().putNodeMetaData(MINIMUM_BYTECODE_VERSION, Opcodes.V1_8);
}
String data = chosenReceiver.getData();