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