# HG changeset patch # User Andreas Woess # Date 1433158348 -7200 # Node ID 45ed86c4d1279d6ee4a1fd965cd9d653ddae97f2 # Parent 1c76a5662753d4c5da271a744cc46d5dfd7b4907 Truffle: change NodeUtil.findFirstNodeInstance to include root in potential matches diff -r 1c76a5662753 -r 45ed86c4d127 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Mon Jun 01 17:47:28 2015 -0700 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Mon Jun 01 13:32:28 2015 +0200 @@ -352,7 +352,7 @@ public final Iterable getChildren() { return new Iterable() { public Iterator iterator() { - return nodeClass.makeIterator(Node.this); + return getNodeClass().makeIterator(Node.this); } }; } diff -r 1c76a5662753 -r 45ed86c4d127 graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Mon Jun 01 17:47:28 2015 -0700 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Mon Jun 01 13:32:28 2015 +0200 @@ -454,14 +454,13 @@ } public static T findFirstNodeInstance(Node root, Class clazz) { - for (Node childNode : findNodeChildren(root)) { - if (clazz.isInstance(childNode)) { - return clazz.cast(childNode); - } else { - T node = findFirstNodeInstance(childNode, clazz); - if (node != null) { - return node; - } + if (clazz.isInstance(root)) { + return clazz.cast(root); + } + for (Node child : root.getChildren()) { + T node = findFirstNodeInstance(child, clazz); + if (node != null) { + return node; } } return null;