Mercurial > hg > truffle
changeset 22405:fd53ccebb10b
Providing public getter for the Class NodeClass has been created for
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Fri, 20 Nov 2015 18:02:49 +0100 |
parents | 23d2b5513c83 |
children | 16b59063cfb9 |
files | truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClassImpl.java |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java Fri Nov 20 17:27:42 2015 +0100 +++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClass.java Fri Nov 20 18:02:49 2015 +0100 @@ -71,4 +71,12 @@ public abstract NodeFieldAccessor[] getChildrenFields(); public abstract Iterator<Node> makeIterator(Node node); + + /** + * The {@link Class} this <code>NodeClass</code> has been {@link #NodeClass(java.lang.Class) + * created for}. + * + * @return the clazz of node this <code>NodeClass</code> describes + */ + public abstract Class<? extends Node> getType(); }
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClassImpl.java Fri Nov 20 17:27:42 2015 +0100 +++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeClassImpl.java Fri Nov 20 18:02:49 2015 +0100 @@ -191,6 +191,11 @@ return new NodeIterator(this, node); } + @Override + public Class<? extends Node> getType() { + return clazz; + } + private static final class NodeIterator implements Iterator<Node> { private final NodeFieldAccessor[] childFields; private final NodeFieldAccessor[] childrenFields;