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 2017/05/07 01:30:03 UTC
groovy git commit: rename subproject to better reflect that it isn't
a normal module
Repository: groovy
Updated Branches:
refs/heads/groovy_2_6_X [created] 58d0fb1bd
rename subproject to better reflect that it isn't a normal module
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/58d0fb1b
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/58d0fb1b
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/58d0fb1b
Branch: refs/heads/groovy_2_6_X
Commit: 58d0fb1bd4dafb2c9a8163d4ef9b8539998756b3
Parents: 694a624
Author: paulk <pa...@asert.com.au>
Authored: Sun May 7 11:29:46 2017 +1000
Committer: paulk <pa...@asert.com.au>
Committed: Sun May 7 11:29:46 2017 +1000
----------------------------------------------------------------------
build.gradle | 4 +-
settings.gradle | 2 +-
subprojects/groovy-tests-vm8/build.gradle | 42 ----------------
...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 -----------------
subprojects/tests-vm8/build.gradle | 42 ++++++++++++++++
...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 +++++++++++++++++
14 files changed, 261 insertions(+), 261 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index e80da6d..63776eb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -65,7 +65,7 @@ buildScan {
}
ext.modules = {
- subprojects.findAll{ !['performance', 'groovy-tests-vm8'].contains(it.name) }
+ subprojects.findAll{ !['performance', 'tests-vm8'].contains(it.name) }
}
apply from: 'gradle/filter.gradle'
@@ -452,7 +452,7 @@ allprojects {
}
tasks.withType(JavaCompile) {
// exclude projects which set their own specific source/target levels
- if (!(project.name in ['performance', 'groovy-tests-vm8'])) {
+ if (!(project.name in ['performance', 'tests-vm8'])) {
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/settings.gradle
----------------------------------------------------------------------
diff --git a/settings.gradle b/settings.gradle
index 32af155..64575ff 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -31,7 +31,7 @@ def subprojects = ['groovy-ant',
'groovy-swing',
'groovy-templates',
'groovy-test',
- 'groovy-tests-vm8',
+ 'tests-vm8',
'groovy-testng',
'groovy-xml',
'groovy-macro'
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/subprojects/groovy-tests-vm8/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/groovy-tests-vm8/build.gradle b/subprojects/groovy-tests-vm8/build.gradle
deleted file mode 100644
index 82c9330..0000000
--- a/subprojects/groovy-tests-vm8/build.gradle
+++ /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.
- */
-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/*'
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/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
deleted file mode 100644
index b43de1e..0000000
--- a/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/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.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/58d0fb1b/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
deleted file mode 100644
index df9c87a..0000000
--- a/subprojects/groovy-tests-vm8/src/test/groovy/org/apache/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.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/58d0fb1b/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
deleted file mode 100644
index 300a385..0000000
--- a/subprojects/groovy-tests-vm8/src/test/java/org/apache/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.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/58d0fb1b/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
deleted file mode 100644
index 55dbc09..0000000
--- a/subprojects/groovy-tests-vm8/src/test/java/org/apache/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.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/58d0fb1b/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
deleted file mode 100644
index 11d230f..0000000
--- a/subprojects/groovy-tests-vm8/src/test/java/org/apache/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.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);
- }
-}
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/subprojects/tests-vm8/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/build.gradle b/subprojects/tests-vm8/build.gradle
new file mode 100644
index 0000000..82c9330
--- /dev/null
+++ b/subprojects/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/*'
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/groovy/blob/58d0fb1b/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy b/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadCompileStaticTest.groovy
new file mode 100644
index 0000000..b43de1e
--- /dev/null
+++ b/subprojects/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/58d0fb1b/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy b/subprojects/tests-vm8/src/test/groovy/org/apache/groovy/runtime/methoddispatching/vm8/StaticMethodOverloadTest.groovy
new file mode 100644
index 0000000..df9c87a
--- /dev/null
+++ b/subprojects/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/58d0fb1b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooOne.java
new file mode 100644
index 0000000..300a385
--- /dev/null
+++ b/subprojects/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/58d0fb1b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooThree.java
new file mode 100644
index 0000000..55dbc09
--- /dev/null
+++ b/subprojects/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/58d0fb1b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java
----------------------------------------------------------------------
diff --git a/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java b/subprojects/tests-vm8/src/test/java/org/apache/groovy/runtime/methoddispatching/vm8/FooTwo.java
new file mode 100644
index 0000000..11d230f
--- /dev/null
+++ b/subprojects/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);
+ }
+}