diff truffle/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/CachedTest.java @ 22516:687bc1dda125

Truffle-DSL: fix wrong resolution when multiple public static methods are imported from a cached type.
author Christian Humer <christian.humer@oracle.com>
date Fri, 18 Dec 2015 14:41:06 +0100
parents dbbcd8eb5dae
children
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/CachedTest.java	Fri Dec 18 14:47:13 2015 +0100
+++ b/truffle/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/CachedTest.java	Fri Dec 18 14:41:06 2015 +0100
@@ -310,6 +310,30 @@
     }
 
     @NodeChild
+    static class TestCachedWithProfile extends ValueNode {
+
+        @Specialization
+        static int do1(int value, @Cached("create()") MySubClass mySubclass) {
+            return 42;
+        }
+    }
+
+    public static class MyClass {
+
+        public static MyClass create() {
+            return new MyClass();
+        }
+    }
+
+    public static class MySubClass extends MyClass {
+
+        public static MySubClass create() {
+            return new MySubClass();
+        }
+
+    }
+
+    @NodeChild
     static class TestCachesOrder extends ValueNode {
 
         @Specialization(guards = "boundByGuard != 0")