# Package com.oracle.truffle.api.nodes

Interface Summary
GraphPrintVisitor.ChildSupplier
GraphPrintVisitor.GraphPrintHandler
NodeInterface: Common base interface for all Truffle nodes.
NodeUtil.FieldOffsetProvider: Interface that allows the customization of field offsets used for `Unsafe` field accesses.
NodeUtil.NodeCountFilter
NodeVisitor: Visitor for trees of nodes.
RepeatingNode: Experimental API: may change significantly without notice.

Class Summary
DirectCallNode: Represents a direct call to a `CallTarget`.
GraphPrintVisitor: Utility class for creating output for the ideal graph visualizer.
IndirectCallNode: Represents an indirect call to a `CallTarget`.
LoopNode: Experimental API: may change significantly without notice.
Node: Abstract base class for all Truffle nodes.
NodeCloneable: Declarative base class for node fields that are to be cloned together with the containing node.
NodeUtil: Utility class that manages the special access methods for node instances.
NodeUtil.NodeClass: Information about a `Node` class.
NodeUtil.NodeField: Information about a field in a `Node` class.
RootNode: A root node is a node with a method to execute it given only a frame as a parameter.

Enum Summary
NodeCost: Represents a rough estimate for the cost of a `Node`.
NodeUtil.NodeFieldKind

Exception Summary
ControlFlowException: An exception thrown to model control flow in a Truffle interpreter.
InvalidAssumptionException: An exception that should be thrown if an assumption is checked and the check fails.
SlowPathException: An exception thrown to enter a slow path.
UnexpectedResultException: An exception that should be thrown if the return value cannot be represented as a value of the return type.

Annotation Types Summary
ExplodeLoop: Specifies for a method that the loops with constant number of invocations should be fully unrolled.
GraphPrintVisitor.CustomGraphPrintHandler
GraphPrintVisitor.GraphDuplicate
GraphPrintVisitor.HiddenField
GraphPrintVisitor.NullGraphPrintHandler
Node.Child: Marks fields that represent child nodes of this node.
Node.Children: Marks array fields that are children of this node.
NodeInfo: Annotation for providing additional information on nodes.