Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/TestHelper.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 | 62c43fcf5be2 |
children |
comparison
equal
deleted
inserted
replaced
20939:f83fd99b2962 | 20940:476374f3fe9a |
---|---|
30 import com.oracle.truffle.api.dsl.*; | 30 import com.oracle.truffle.api.dsl.*; |
31 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ArgumentNode; | 31 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ArgumentNode; |
32 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ChildrenNode; | 32 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ChildrenNode; |
33 import com.oracle.truffle.api.dsl.test.TypeSystemTest.TestRootNode; | 33 import com.oracle.truffle.api.dsl.test.TypeSystemTest.TestRootNode; |
34 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ValueNode; | 34 import com.oracle.truffle.api.dsl.test.TypeSystemTest.ValueNode; |
35 import com.oracle.truffle.api.frame.*; | |
36 import com.oracle.truffle.api.nodes.*; | |
35 | 37 |
36 /** | 38 /** |
37 * Utility class to provide some test helper functions. | 39 * Utility class to provide some test helper functions. |
38 */ | 40 */ |
39 class TestHelper { | 41 class TestHelper { |
42 | |
43 // make nodes replacable | |
44 public static <T extends Node> T createRoot(final T node) { | |
45 new RootNode() { | |
46 @Child T child = node; | |
47 | |
48 @Override | |
49 public Object execute(VirtualFrame frame) { | |
50 return null; | |
51 } | |
52 }.adoptChildren(); | |
53 return node; | |
54 } | |
40 | 55 |
41 private static ArgumentNode[] arguments(int count) { | 56 private static ArgumentNode[] arguments(int count) { |
42 ArgumentNode[] nodes = new ArgumentNode[count]; | 57 ArgumentNode[] nodes = new ArgumentNode[count]; |
43 for (int i = 0; i < nodes.length; i++) { | 58 for (int i = 0; i < nodes.length; i++) { |
44 nodes[i] = new ArgumentNode(i); | 59 nodes[i] = new ArgumentNode(i); |