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);