comparison graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/ExecuteMethodTest.java @ 20940:476374f3fe9a

Truffle-DSL: generate better polymorphic execute signatures
author Christian Humer <christian.humer@gmail.com>
date Tue, 14 Apr 2015 15:12:48 +0200
parents 18c0f02fa4d2
children
comparison
equal deleted inserted replaced
20939:f83fd99b2962 20940:476374f3fe9a
135 } 135 }
136 } 136 }
137 137
138 @TypeSystemReference(ExecuteMethodTypes.class) 138 @TypeSystemReference(ExecuteMethodTypes.class)
139 @NodeChild(value = "a", type = ChildNoFrame.class) 139 @NodeChild(value = "a", type = ChildNoFrame.class)
140 @ExpectError("Multiple accessible and overridable generic execute methods found [executeInt(), executeObject()]. Remove all but one or mark all but one as final.")
141 abstract static class ExecuteThis8 extends Node { 140 abstract static class ExecuteThis8 extends Node {
142 141
143 abstract int executeInt(); 142 abstract int executeInt();
144 143
145 abstract Object executeObject(); 144 abstract Object executeObject();
194 } 193 }
195 } 194 }
196 195
197 @TypeSystemReference(ExecuteMethodTypes.class) 196 @TypeSystemReference(ExecuteMethodTypes.class)
198 @NodeChild(value = "a", type = ChildNoFrame.class) 197 @NodeChild(value = "a", type = ChildNoFrame.class)
199 @ExpectError("Multiple accessible and overridable generic execute methods found [executeVoid1(), executeVoid2()]. Remove all but one or mark all but one as final.")
200 abstract static class ExecuteThisVoid3 extends Node { 198 abstract static class ExecuteThisVoid3 extends Node {
201 199
202 // allow only one execute void 200 // allow only one execute void
203 abstract void executeVoid1(); 201 abstract void executeVoid1();
204 202