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;