Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/ReplaceTest.java @ 14628:a08b8694f556
Truffle: Node API changes
deprecate adoptChild, no longer needed in constructor
add Node#insert for inserting new nodes into the tree (previously adoptChild)
add Node#adoptChildren() helper method that adopts all (direct and indirect) children of a node, automatically called in TruffleRuntime#createCallTarget
author | Andreas Woess <andreas.woess@jku.at> |
---|---|
date | Wed, 19 Mar 2014 23:11:46 +0100 |
parents | df1d665ca846 |
children | 1cde96b96673 |
comparison
equal
deleted
inserted
replaced
14627:46c020971d9c | 14628:a08b8694f556 |
---|---|
57 public void test() { | 57 public void test() { |
58 TruffleRuntime runtime = Truffle.getRuntime(); | 58 TruffleRuntime runtime = Truffle.getRuntime(); |
59 UnresolvedNode leftChild = new UnresolvedNode("20"); | 59 UnresolvedNode leftChild = new UnresolvedNode("20"); |
60 UnresolvedNode rightChild = new UnresolvedNode("22"); | 60 UnresolvedNode rightChild = new UnresolvedNode("22"); |
61 TestRootNode rootNode = new TestRootNode(new ValueNode[]{leftChild, rightChild}); | 61 TestRootNode rootNode = new TestRootNode(new ValueNode[]{leftChild, rightChild}); |
62 CallTarget target = runtime.createCallTarget(rootNode); | |
62 assertEquals(rootNode, leftChild.getParent()); | 63 assertEquals(rootNode, leftChild.getParent()); |
63 assertEquals(rootNode, rightChild.getParent()); | 64 assertEquals(rootNode, rightChild.getParent()); |
64 Iterator<Node> iterator = rootNode.getChildren().iterator(); | 65 Iterator<Node> iterator = rootNode.getChildren().iterator(); |
65 Assert.assertEquals(leftChild, iterator.next()); | 66 Assert.assertEquals(leftChild, iterator.next()); |
66 Assert.assertEquals(rightChild, iterator.next()); | 67 Assert.assertEquals(rightChild, iterator.next()); |
67 Assert.assertFalse(iterator.hasNext()); | 68 Assert.assertFalse(iterator.hasNext()); |
68 CallTarget target = runtime.createCallTarget(rootNode); | |
69 Object result = target.call(); | 69 Object result = target.call(); |
70 assertEquals(42, result); | 70 assertEquals(42, result); |
71 assertEquals(42, target.call()); | 71 assertEquals(42, target.call()); |
72 iterator = rootNode.getChildren().iterator(); | 72 iterator = rootNode.getChildren().iterator(); |
73 Assert.assertEquals(ResolvedNode.class, iterator.next().getClass()); | 73 Assert.assertEquals(ResolvedNode.class, iterator.next().getClass()); |
83 | 83 |
84 @Children private final ValueNode[] children; | 84 @Children private final ValueNode[] children; |
85 | 85 |
86 public TestRootNode(ValueNode[] children) { | 86 public TestRootNode(ValueNode[] children) { |
87 super(null); | 87 super(null); |
88 this.children = adoptChildren(children); | 88 this.children = children; |
89 } | 89 } |
90 | 90 |
91 @Override | 91 @Override |
92 public Object execute(VirtualFrame frame) { | 92 public Object execute(VirtualFrame frame) { |
93 int sum = 0; | 93 int sum = 0; |