Class NodeClass

java.lang.Object
com.oracle.truffle.api.nodes.NodeClass

public abstract class NodeClass extends Object
Information about a Node class. A single instance of this class is allocated for every subclass of Node that is used.
Since:
0.8 or earlier
  • Constructor Details

    • NodeClass

      public NodeClass(Class<? extends Node> clazz)
      Since:
      0.8 or earlier
  • Method Details

    • get

      public static NodeClass get(Class<? extends Node> clazz)
      Since:
      0.8 or earlier
    • get

      public static NodeClass get(Node node)
      Since:
      0.8 or earlier
    • makeIterator

      public Iterator<Node> makeIterator(Node node)
      Since:
      0.8 or earlier
    • isReplaceAllowed

      protected abstract boolean isReplaceAllowed()
      Returns true if DenyReplace was not set for this node.
      Since:
      22.2
    • getType

      public abstract Class<? extends Node> getType()
      The Class this NodeClass has been created for.
      Returns:
      the clazz of node this NodeClass describes
      Since:
      0.8 or earlier
    • getNodeFieldArray

      protected abstract Object[] getNodeFieldArray()
      Since:
      20.2
    • putFieldObject

      protected abstract void putFieldObject(Object field, Node receiver, Object value)
      Since:
      0.14
    • getFieldObject

      protected abstract Object getFieldObject(Object field, Node receiver)
      Since:
      0.14
    • getFieldValue

      protected abstract Object getFieldValue(Object field, Node receiver)
      Since:
      0.14
    • getFieldType

      protected abstract Class<?> getFieldType(Object field)
      Since:
      0.14
    • getFieldName

      protected abstract String getFieldName(Object field)
      Since:
      0.14
    • isChildField

      protected abstract boolean isChildField(Object field)
      Since:
      0.14
    • isChildrenField

      protected abstract boolean isChildrenField(Object field)
      Since:
      0.14
    • isCloneableField

      protected abstract boolean isCloneableField(Object field)
      Since:
      0.14