Quantcast

[1/2] groovy git commit: GROOVY-7879: Groovy calls wrong method if there is a static method on an interface (tests only for JDK8+)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[1/2] groovy git commit: GROOVY-7879: Groovy calls wrong method if there is a static method on an interface (tests only for JDK8+)

paulk
Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X ed091e501 -> ecf1a796e


GROOVY-7879: Groovy calls wrong method if there is a static method on an interface (tests only for JDK8+)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/ecf1a796
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/ecf1a796
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/ecf1a796

Branch: refs/heads/GROOVY_2_6_X
Commit: ecf1a796e5e4c4d87f3cd0a018d92fb11faea7cb
Parents: 5ff4ebd
Author: paulk <[hidden email]>
Authored: Fri Apr 21 20:11:21 2017 +1000
Committer: paulk <[hidden email]>
Committed: Fri Apr 21 20:48:37 2017 +1000

----------------------------------------------------------------------
 ...StaticMethodOverloadCompileStaticTest.groovy | 45 +++++++++++++++++
 .../vm8/StaticMethodOverloadTest.groovy         | 42 ++++++++++++++++
 .../runtime/methoddispatching/vm8/FooOne.java   | 31 ++++++++++++
 .../runtime/methoddispatching/vm8/FooThree.java | 53 ++++++++++++++++++++
 .../runtime/methoddispatching/vm8/FooTwo.java   | 45 +++++++++++++++++
 5 files changed, 216 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/ecf1a796/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy b/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
new file mode 100644
index 0000000..b43de1e
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
@@ -0,0 +1,45 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.groovy.runtime.methoddispatching.vm8
+
+import groovy.transform.CompileStatic
+
+@CompileStatic
+class StaticMethodOverloadCompileStaticTest extends GroovyTestCase {
+    void testOneStaticMethod() {
+        assert FooOne.foo() == "FooOne.foo()"
+        assert BarOne.foo() == "BarOne.foo()"
+    }
+
+    void testTwoStaticMethods() {
+        assert FooTwo.foo() == "FooTwo.foo()"
+        assert FooTwo.foo(0) == "FooTwo.foo(0)"
+        assert BarTwo.foo() == "BarTwo.foo()"
+        assert BarTwo.foo(0) == "BarTwo.foo(0)"
+    }
+
+    void testMoreThanTwoStaticMethods() {
+        assert FooThree.foo() == "FooThree.foo()"
+        assert FooThree.foo(0) == "FooThree.foo(0)"
+        assert FooThree.foo(0, 1) == "FooThree.foo(0, 1)"
+        assert BarThree.foo() == "BarThree.foo()"
+        assert BarThree.foo(0) == "BarThree.foo(0)"
+        assert BarThree.foo(0, 1) == "BarThree.foo(0, 1)"
+    }
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/ecf1a796/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy b/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
new file mode 100644
index 0000000..df9c87a
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
@@ -0,0 +1,42 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.groovy.runtime.methoddispatching.vm8
+
+class StaticMethodOverloadTest extends GroovyTestCase {
+    void testOneStaticMethod() {
+        assert FooOne.foo() == "FooOne.foo()"
+        assert BarOne.foo() == "BarOne.foo()"
+    }
+
+    void testTwoStaticMethods() {
+        assert FooTwo.foo() == "FooTwo.foo()"
+        assert FooTwo.foo(0) == "FooTwo.foo(0)"
+        assert BarTwo.foo() == "BarTwo.foo()"
+        assert BarTwo.foo(0) == "BarTwo.foo(0)"
+    }
+
+    void testMoreThanTwoStaticMethods() {
+        assert FooThree.foo() == "FooThree.foo()"
+        assert FooThree.foo(0) == "FooThree.foo(0)"
+        assert FooThree.foo(0, 1) == "FooThree.foo(0, 1)"
+        assert BarThree.foo() == "BarThree.foo()"
+        assert BarThree.foo(0) == "BarThree.foo(0)"
+        assert BarThree.foo(0, 1) == "BarThree.foo(0, 1)"
+    }
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/ecf1a796/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java
new file mode 100644
index 0000000..300a385
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java
@@ -0,0 +1,31 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.groovy.runtime.methoddispatching.vm8;
+
+interface FooOne {
+    static String foo() {
+        return "FooOne.foo()";
+    }
+}
+
+class BarOne implements FooOne {
+    static String foo() {
+        return "BarOne.foo()";
+    }
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/ecf1a796/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java
new file mode 100644
index 0000000..55dbc09
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java
@@ -0,0 +1,53 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.groovy.runtime.methoddispatching.vm8;
+
+import org.codehaus.groovy.runtime.metaclass.MetaMethodIndex;
+
+/**
+ * To test the case when we call a static method on a class and while we load all the methods from its interface,
+ * {@link MetaMethodIndex.Entry} contains more than one method from interface already
+ */
+interface FooThree {
+    static String foo() {
+        return "FooThree.foo()";
+    }
+
+    static String foo(int a) {
+        return String.format("FooThree.foo(%1$d)", a);
+    }
+
+    static String foo(int a, int b) {
+        return String.format("FooThree.foo(%1$d, %2$d)", a, b);
+    }
+}
+
+class BarThree implements FooThree {
+    static String foo() {
+        return "BarThree.foo()";
+    }
+
+    static String foo(int a) {
+        return String.format("BarThree.foo(%1$d)", a);
+    }
+
+    static String foo(int a, int b) {
+        return String.format("BarThree.foo(%1$d, %2$d)", a, b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/groovy/blob/ecf1a796/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java
new file mode 100644
index 0000000..11d230f
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java
@@ -0,0 +1,45 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.groovy.runtime.methoddispatching.vm8;
+
+import org.codehaus.groovy.runtime.metaclass.MetaMethodIndex;
+
+/**
+ * To test the case when we call a static method on a class and {@link MetaMethodIndex.Entry}
+ * contains more than one method from interface already
+ */
+interface FooTwo {
+    static String foo() {
+        return "FooTwo.foo()";
+    }
+
+    static String foo(int a) {
+        return String.format("FooTwo.foo(%1$d)", a);
+    }
+}
+
+class BarTwo implements FooTwo {
+    static String foo() {
+        return "BarTwo.foo()";
+    }
+
+    static String foo(int a) {
+        return String.format("BarTwo.foo(%1$d)", a);
+    }
+}

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[2/2] groovy git commit: GROOVY-7879: Groovy calls wrong method if there is a static method on an interface (tests only for JDK8+)

paulk
GROOVY-7879: Groovy calls wrong method if there is a static method on an interface (tests only for JDK8+)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/5ff4ebd2
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/5ff4ebd2
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/5ff4ebd2

Branch: refs/heads/GROOVY_2_6_X
Commit: 5ff4ebd28360c094267961b27807304a38884ab1
Parents: ed091e5
Author: paulk <[hidden email]>
Authored: Fri Apr 21 19:46:44 2017 +1000
Committer: paulk <[hidden email]>
Committed: Fri Apr 21 20:48:37 2017 +1000

----------------------------------------------------------------------
 settings.gradle                                 |  1 +
 .../runtime/methoddispatching/vm8/FooOne.java   | 31 ------------
 .../runtime/methoddispatching/vm8/FooThree.java | 53 --------------------
 .../runtime/methoddispatching/vm8/FooTwo.java   | 45 -----------------
 ...StaticMethodOverloadCompileStaticTest.groovy | 45 -----------------
 .../vm8/StaticMethodOverloadTest.groovy         | 42 ----------------
 subprojects/groovy-tests-vm8/build.gradle       | 42 ++++++++++++++++
 7 files changed, 43 insertions(+), 216 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/settings.gradle
----------------------------------------------------------------------
diff --git a/settings.gradle b/settings.gradle
index 5df4d51..32af155 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -31,6 +31,7 @@ def subprojects = ['groovy-ant',
         'groovy-swing',
         'groovy-templates',
         'groovy-test',
+        'groovy-tests-vm8',
         'groovy-testng',
         'groovy-xml',
         'groovy-macro'

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooOne.java
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooOne.java b/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooOne.java
deleted file mode 100644
index 7e50432..0000000
--- a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooOne.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.runtime.methoddispatching.vm8;
-
-interface FooOne {
-    static String foo() {
-        return "FooOne.foo()";
-    }
-}
-
-class BarOne implements FooOne {
-    static String foo() {
-        return "BarOne.foo()";
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooThree.java
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooThree.java b/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooThree.java
deleted file mode 100644
index d74871b..0000000
--- a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooThree.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.runtime.methoddispatching.vm8;
-
-import org.codehaus.groovy.runtime.metaclass.MetaMethodIndex;
-
-/**
- * To test the case when we call a static method on a class and while we load all the methods from its interface,
- * {@link MetaMethodIndex.Entry} contains more than one method from interface already
- */
-interface FooThree {
-    static String foo() {
-        return "FooThree.foo()";
-    }
-
-    static String foo(int a) {
-        return String.format("FooThree.foo(%1$d)", a);
-    }
-
-    static String foo(int a, int b) {
-        return String.format("FooThree.foo(%1$d, %2$d)", a, b);
-    }
-}
-
-class BarThree implements FooThree {
-    static String foo() {
-        return "BarThree.foo()";
-    }
-
-    static String foo(int a) {
-        return String.format("BarThree.foo(%1$d)", a);
-    }
-
-    static String foo(int a, int b) {
-        return String.format("BarThree.foo(%1$d, %2$d)", a, b);
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooTwo.java
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooTwo.java b/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooTwo.java
deleted file mode 100644
index f91e9d8..0000000
--- a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/FooTwo.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.runtime.methoddispatching.vm8;
-
-import org.codehaus.groovy.runtime.metaclass.MetaMethodIndex;
-
-/**
- * To test the case when we call a static method on a class and {@link MetaMethodIndex.Entry}
- * contains more than one method from interface already
- */
-interface FooTwo {
-    static String foo() {
-        return "FooTwo.foo()";
-    }
-
-    static String foo(int a) {
-        return String.format("FooTwo.foo(%1$d)", a);
-    }
-}
-
-class BarTwo implements FooTwo {
-    static String foo() {
-        return "BarTwo.foo()";
-    }
-
-    static String foo(int a) {
-        return String.format("BarTwo.foo(%1$d)", a);
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy b/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
deleted file mode 100644
index b62b978..0000000
--- a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.runtime.methoddispatching.vm8
-
-import groovy.transform.CompileStatic
-
-@CompileStatic
-class StaticMethodOverloadCompileStaticTest extends GroovyTestCase {
-    void testOneStaticMethod() {
-        assert FooOne.foo() == "FooOne.foo()"
-        assert BarOne.foo() == "BarOne.foo()"
-    }
-
-    void testTwoStaticMethods() {
-        assert FooTwo.foo() == "FooTwo.foo()"
-        assert FooTwo.foo(0) == "FooTwo.foo(0)"
-        assert BarTwo.foo() == "BarTwo.foo()"
-        assert BarTwo.foo(0) == "BarTwo.foo(0)"
-    }
-
-    void testMoreThanTwoStaticMethods() {
-        assert FooThree.foo() == "FooThree.foo()"
-        assert FooThree.foo(0) == "FooThree.foo(0)"
-        assert FooThree.foo(0, 1) == "FooThree.foo(0, 1)"
-        assert BarThree.foo() == "BarThree.foo()"
-        assert BarThree.foo(0) == "BarThree.foo(0)"
-        assert BarThree.foo(0, 1) == "BarThree.foo(0, 1)"
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
----------------------------------------------------------------------
diff --git a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy b/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
deleted file mode 100644
index 1442421..0000000
--- a/src/test/org/codehaus/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.codehaus.groovy.runtime.methoddispatching.vm8
-
-class StaticMethodOverloadTest extends GroovyTestCase {
-    void testOneStaticMethod() {
-        assert FooOne.foo() == "FooOne.foo()"
-        assert BarOne.foo() == "BarOne.foo()"
-    }
-
-    void testTwoStaticMethods() {
-        assert FooTwo.foo() == "FooTwo.foo()"
-        assert FooTwo.foo(0) == "FooTwo.foo(0)"
-        assert BarTwo.foo() == "BarTwo.foo()"
-        assert BarTwo.foo(0) == "BarTwo.foo(0)"
-    }
-
-    void testMoreThanTwoStaticMethods() {
-        assert FooThree.foo() == "FooThree.foo()"
-        assert FooThree.foo(0) == "FooThree.foo(0)"
-        assert FooThree.foo(0, 1) == "FooThree.foo(0, 1)"
-        assert BarThree.foo() == "BarThree.foo()"
-        assert BarThree.foo(0) == "BarThree.foo(0)"
-        assert BarThree.foo(0, 1) == "BarThree.foo(0, 1)"
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/5ff4ebd2/subprojects/groovy-tests-vm8/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/build.gradle b/subprojects/groovy-tests-vm8/build.gradle
new file mode 100644
index 0000000..82c9330
--- /dev/null
+++ b/subprojects/groovy-tests-vm8/build.gradle
@@ -0,0 +1,42 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+dependencies {
+    compile rootProject
+    testCompile project(':groovy-test')
+}
+
+tasks.withType(JavaCompile) {
+    sourceCompatibility = 1.8
+    targetCompatibility = 1.8
+}
+
+sourceSets {
+    test {
+        java {
+            if (!JavaVersion.current().isJava8Compatible()) {
+                exclude '**/vm8/*'
+            }
+        }
+        groovy {
+            if (!JavaVersion.current().isJava8Compatible()) {
+                exclude '**/vm8/*'
+            }
+        }
+    }
+}

Loading...