# All Classes

All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
AbstractAssumption
AlwaysValidAssumption: An assumption that is always valid.
AssumedValue<T>: A value that the compiler can assume is constant, but can be changed by invalidation.
Assumption: An assumption is a global boolean flag that starts with the value true (i.e., the assumption is valid) and can subsequently be invalidated (using `Assumption.invalidate()`).
ASTPrinter: Access to AST-based debugging support, which is could be language implementation specific in the details chosen to be presented.
ASTProber: Enables instrumentation by attaching Probes to some nodes in a (newly created, not yet executed) AST.
BaseLocation
BasicAllocator
BasicLayout
BasicLocations: Property location.
BasicLocations.ArrayLocation
BasicLocations.BooleanLocationDecorator
BasicLocations.DoubleLocationDecorator
BasicLocations.FieldLocation
BasicLocations.IntLocationDecorator
BasicLocations.LongArrayLocation
BasicLocations.LongFieldLocation
BasicLocations.LongLocationDecorator
BasicLocations.MethodHandleFieldLocation
BasicLocations.ObjectArrayLocation
BasicLocations.ObjectFieldLocation
BasicLocations.PrimitiveLocationDecorator
BasicLocations.SimpleLongFieldLocation
BasicLocations.SimpleObjectFieldLocation
BinaryConditionProfile: Utility class to speculate on conditions to be never true or to be never false.
BooleanLocation
BranchProfile: Utility class to speculate on branches to be never visited.
BytesDecoder: For a language where strings do not map into Java strings, provides utilities to find line endings and to decode raw bytes into an approximate representation for tools to display.
BytesDecoder.LineMarker
BytesDecoder.UTF8BytesDecoder
CallTarget: Represents the target of a call.
CompilerAsserts: Assertions about the code produced by the Truffle compiler.
CompilerDirectives: Directives that influence the optimizations of the Truffle compiler.
CompilerDirectives.CompilationFinal: Marks fields that should be considered final for a Truffle compilation although they are not final while executing in the interpreter.
CompilerDirectives.TruffleBoundary: Marks a method that it is considered as a boundary for Truffle partial evaluation.
CompilerDirectives.ValueType: Marks classes as value types.
CompilerOptions: Allows options to be set to control the compilation of a specific `RootNode`, without creating a dependency on the specific compiler used.
ConditionProfile: Abstract utility class to speculate on conditions.
ControlFlowException: An exception thrown to model control flow in a Truffle interpreter.
CountingConditionProfile: Utility class to speculate on conditions to be never true or to be never false.
CreateCast: Specifies a factory method that creates a `Node` which is used to cast this child.
CyclicAssumption: Holds an `Assumption`, and knows how to recreate it with the same properties on invalidation.
DebugCounter
DebugShapeVisitor<R>
DefaultASTPrinter: A language-agnostic for printing out various pieces of a Truffle AST.
DefaultCallTarget: This is an implementation-specific class.
DefaultCompilerOptions
DefaultDirectCallNode: This is runtime specific API.
DefaultEventReceiver: A receiver for AST execution events that provides a no-op implementation of every event.
DefaultLayoutFactory
DefaultLoopNode
DefaultTruffleRuntime: Default implementation of the Truffle runtime if the virtual machine does not provide a better performing alternative.
DefaultVisualizer
DirectCallNode: Represents a direct call to a `CallTarget`.
DoubleLocation
DSLMetadata: This is NOT public API.
DSLNode: This is NOT public API.
DSLShare: Contains utility classes shared across generated DSLNode implementations.
DynamicObject
DynamicObject.FlagsFunction
DynamicObjectBasic
DynamicObjectBasic.DynamicField
DynamicObjectFactory
DynamicObjectImpl
ExactClassValueProfile: Represents a `ValueProfile` that speculates on the exact class of a value.
ExactMath: This class contains methods that will be part of java.lang.Math starting with JDK 8.
ExecutionContext: Access to information and basic services in the runtime context for a Truffle-implemented guest language.
ExpectError: This annotation is internally known by the dsl processor and used to expect errors for testing purposes.
ExplodeLoop: Specifies for a method that the loops with constant number of invocations should be fully unrolled.
Fallback: A method annotated with `Fallback` is treated as a `Specialization` that implicitly links all the guards of all other declared `Specialization` annotated methods of the operation in a negated form.
FinalLocationException
Frame: Represents a frame containing values of local variables of the guest language.
FrameDescriptor: Descriptor of the slots of frame objects.
FrameInstance
FrameInstance.FrameAccess
FrameInstanceVisitor<T>: Callback interface for `TruffleRuntime.iterateFrames(com.oracle.truffle.api.frame.FrameInstanceVisitor<T>)`.
FrameSlot: A slot in a frame that can store a value of a given type.
FrameSlotKind
FrameSlotTypeException: Exception thrown if the frame slot type does not match the access type.
FrameUtil
GeneratedBy: Marks a type as being generated based on another class or method.
GraphPrintVisitor: Utility class for creating output for the ideal graph visualizer.
GraphPrintVisitor.ChildSupplier
GraphPrintVisitor.CustomGraphPrintHandler
GraphPrintVisitor.GraphDuplicate
GraphPrintVisitor.GraphPrintHandler
GraphPrintVisitor.HiddenField
GraphPrintVisitor.NullGraphPrintHandler
GraphvizShapeVisitor
HiddenKey
IdentityValueProfile: Represents a `ValueProfile` that speculates on the object identity of a value.
ImplicitCast
Implies
ImportGuards: Imports all public static methods usable as guards for `Specialization` annotations to the current class.
IncompatibleLocationException
IndirectCallNode: Represents an indirect call to a `CallTarget`.
Instrument: A dynamically added/removed binding between a `Probe`, which provides notification of execution events taking place at a `Node` in a Guest Language (GL) Truffle AST, and a receiver, which consumes notifications on behalf of an external tool.
InstrumentationNode: A marker interface for Truffle nodes that support Instrumentation and are should not be part of any Guest Language execution semantics.
IntLocation
InvalidAssumptionException: An exception that should be thrown if an assumption is checked and the check fails.
JSONHelper: Helper function that allows to dump the AST during creation to a JSON format.
JSONHelper.JSONArrayBuilder
JSONHelper.JSONObjectBuilder
JSONHelper.JSONStringBuilder
JSONShapeVisitor
KillException: Controls breaking out of an execution context, such as a shell or eval.
Layout
Layout.ImplicitCast
LayoutBuilder
LayoutFactory
LayoutImpl
LayoutStrategy
LineLocation: A specification for a location in guest language source, expressed as a line number in a specific instance of `Source`, suitable for hash table keys with equality defined in terms of content.
LineToProbesMap: A mapping from `LineLocation` (a line number in a specific piece of `Source` code) to a collection of `Probe`s whose associated `SourceSection` starts on that line.
LineToSourceSectionMap: A mapping from `LineLocation` (a line number in a specific piece of `Source` code) to a collection of `SourceSection`s that exist on that line.
Location: Property location.
LocationFactory
LocationImpl
LocationImpl.EffectivelyFinalLocation<T extends Location>
LocationImpl.InternalLongLocation
LocationImpl.TypedObjectLocation<T extends Location & ObjectLocation>
LocationModifier
Locations: Property location.
Locations.ConstantLocation
Locations.DeclaredDualLocation
Locations.DeclaredLocation
Locations.DualLocation
Locations.ValueLocation
LongLocation
LoopCountReceiver: Accepts the execution count of a loop that is a child of this node.
LoopNode: Experimental API: may change significantly without notice.
MaterializedFrame: Represents a materialized frame containing values of local variables of the guest language.
NativeFunctionHandle: A handle that can be used to call a native function.
NativeFunctionInterface: Interface to get a handle or pointer to a native function or a handle to an open native library.
NativeFunctionInterfaceRuntime: Class for obtaining the `NativeFunctionInterface` (if any) provided by the VM.
NativeFunctionPointer: An opaque representation of a native function pointer.
NativeLibraryHandle: An opaque representation of a native library handle.
NeverValidAssumption: An assumption that is never valid.
Node: Abstract base class for all Truffle nodes.
Node.Child: Marks fields that represent child nodes of this node.
Node.Children: Marks array fields that are children of this node.
NodeAssumptions: Declares one or multiple assumptions for use inside a source code generation enabled node.
NodeChild: A `NodeChild` element defines an executable child for the enclosing `Node`.
NodeChildren
NodeCloneable: Declarative base class for node fields that are to be cloned together with the containing node.
NodeCost: Represents a rough estimate for the cost of a `Node`.
NodeFactory<T>: Enables the dynamic creation of generated nodes.
NodeFactoryBase<T>: This is NOT public API.
NodeField: A `NodeField` element defines a field for the generated `Node`.
NodeFields: A `NodeFields` element defines a field for the generated `Node`.
NodeInfo: Annotation for providing additional information on nodes.
NodeInterface: Common base interface for all Truffle nodes.
NodeUtil: Utility class that manages the special access methods for node instances.
NodeUtil.FieldOffsetProvider: Interface that allows the customization of field offsets used for `Unsafe` field accesses.
NodeUtil.NodeClass: Information about a `Node` class.
NodeUtil.NodeCountFilter
NodeUtil.NodeField: Information about a field in a `Node` class.
NodeUtil.NodeFieldKind
NodeVisitor: Visitor for trees of nodes.
NullSourceSection: A special subtype of `SourceSection` that represents unavailable source, e.g.
ObjectLocation
ObjectStorageOptions
ObjectType
OptimizationFailedException
PostOrderDeserializer: Experimental API.
PostOrderSerializer: Experimental API.
PrimitiveValueProfile: Represents a `ValueProfile` that speculates on the primitive equality or object identity of values.
Probe: A binding between a particular location in the Truffle AST representation of a running Guest Language (GL) program (i.e.
Probe.ProbeListener: An observer of events related to `Probe`s: creating and tagging.
ProbeNode: Implementation interfaces and classes for attaching `Probe`s to `ProbeNode.WrapperNode`s.
ProbeNode.Instrumentable: Any Truffle node implementing this interface can be "instrumented" by installing a `Probe` that intercepts execution events at the node and routes them to any `Instrument`s that have been attached to the `Probe`.
ProbeNode.WrapperNode: A node that can be inserted into a Truffle AST, and which enables instrumentation at a particular Guest Language (GL) node.
Property: Property objects represent the mapping between low-level stores and high-level data.
PropertyImpl: Property objects represent the mapping between low-level stores and high-level data.
PropertyMap
QuitException: Controls breaking out of all executions and ending Truffle execution.
RepeatingNode: Experimental API: may change significantly without notice.
ReplaceObserver: An observer that is notified whenever a child node is replaced.
RootCallTarget: Represents the target of a call to a `RootNode`, i.e., to another tree of nodes.
RootNode: A root node is a node with a method to execute it given only a frame as a parameter.
SerializerConstantPool: Experimental API.
Shape: Shape objects create a mapping of Property objects to Locations.
Shape.Allocator
Shape.Pred<T>: Represents a predicate (boolean-valued function) of one argument.
ShapeBasic
ShapeImpl: Shape objects create a mapping of Property objects to indexes.
ShapeImpl.BaseAllocator
ShapeProfiler
ShapeVisitor<R>
ShortCircuit
SimpleEventReceiver: An abstract receiver for AST execution events that ignores return values and supports handling all events by overriding only two methods: `SimpleEventReceiver.enter(Node, VirtualFrame)`, and `SimpleEventReceiver.returnAny(Node, VirtualFrame)`.
SlowPathException: An exception thrown to enter a slow path.
Source: Representation of a guest language source code unit and its contents.
SourceSection: Description of contiguous section of text within a `Source` of program code; supports multiple modes of access to the text and its location.
Specialization
StandardSyntaxTag: A somewhat language-agnostic set of user-sensible syntactic categories, suitable for conventional imperative languages, and is being developed incrementally.
SyntaxTag: Program element "tags", presumed to be singletons (best implemented as enums) that define user-visible behavior for debugging and other simple tools.
SyntaxTagged: Information about a guest language program element in a Truffle AST that can be marked as belonging to 0 or more tags.
SyntaxTagTrap: A trap that can be set to interrupt execution at probed nodes carrying a specific tag.
Transition
Transition.AddPropertyTransition
Transition.ObjectTypeTransition
Transition.PropertyTransition
Transition.RemovePropertyTransition
Transition.ReplacePropertyTransition
Transition.ReservePrimitiveArrayTransition
Truffle: Class for obtaining the Truffle runtime singleton object of this virtual machine.
TruffleEventReceiver: A receiver of Truffle AST runtime execution events that can collect information and possibly intervene on behalf of an external tool.
TruffleOptions: Class containing general Truffle options.
TruffleRuntime: Interface representing a Truffle runtime object.
TruffleScriptEngineFactory: Tool access to the creation of Truffle execution engines.
TypeCast
TypeCheck: Provides a way to define a custom type check for a defined type.
TypedLocation
TypedObject
TypeSystem: Each `Node` has one `TypeSystem` at its root to define the types that can be used throughout the system.
TypeSystemReference: References a `TypeSystem` on a node.
UnexpectedResultException: An exception that should be thrown if the return value cannot be represented as a value of the return type.
UnionAssumption: An assumption that combines two other assumptions.
UnsupportedConstantPoolTypeException: Experimental API.
UnsupportedSpecializationException: Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for the provided values.
ValueProfile: Utility class to speculate on certain properties of values.
VariableLengthIntBuffer: Experimental API.
VirtualFrame: Represents a frame containing values of local variables of the guest language.
Visualizer: Visualization services for the benefit of instrumentation-based tools, possibly specialized for each guest language and possibly specialized for relevant information from the underlying Truffle implementation.