||Associated with an AddressStoreStmt is a Subroutine whose address
(offset in the instruction sequence) is to be stored.
||ArithExpr represents a binary arithmetic expression.
||ArrayLengthExpr represents the arraylength opcode
which gets length of an array.
||ArrayRefExpr represents an expression that references an element in an
||AscendVisitor is the superclass of Type0Visitor and Type1Visitor,
conveniently containing the common code.
||CallExpr is a superclass of expressions that represent the
invocation of a method.
||CallMethodExpr represents the invocation of an object's method.
||CallStaticExpr represents the invokestatic opcode which invokes
a class (static) method.
||CastExpr represents an expression that casts an object to a given
||CatchExpr represents an expression that catches an exception.
||CheckExpr is a superclass for classes representing a check on an expression.
||CondExpr is a superclass for conditional expressions.
||ConstantExpr represents a constant expression.
||An expression in which a definition occurs.
||DefInformation contains information about the definition of a
||DecsendVisitor is the superclass of a few private classes of
Type0Visitor and Type1Visitor.
||Expr is the superclass for a number of other classes representing
expressions in byte code.
||ExprStmt is a statement consisting of an expression.
||FieldExpr represents the getfield opcode which fetches a field
from an object.
||Represents an unconditional branch to a basic block.
||IfCmpStmt consists of a comparison expression (a left-hand expression, a
comparison operator, and a right-hand expression) that is to be evaluated.
||IfStmt is a super class of statements in which some expression is evaluated
and one of two branches is taken.
||IfZeroStmt evaluates an expression and executes one of its two
branches depending on whether or not the expression evaluated to
||InitStmt groups together the initialization of local
||InstanceOfExpr represnts the instanceof opcode which determine
if an object is of a given type.
||JsrStmt represents a jsr instruction that jumps to a
||JumpStmt is the super class for several classes that
represent statements that chang the flow of control in a
||LabelStmt is a placeholder in a Tree for a Label (the target of a jump).
||LEGatherer visits a basic block and returns all the LocalExprs in
||LocalExpr represents an expression that accesses a variable in a
method's local variable table.
||An expression that accesses a memory location.
||MemRefExpr represents an expression that references a memory location as
opposed to a local variable or a variable on the stack.
||MonitorStmt represents the monitorenter and
monitorexit opcodes, which gain and release ownership of
the monitor associated with a given object.
||NegExpr represents the arithmetic negation of an expression.
||NewArrayExpr represents the newarray opcode which creates a
new array of a specified length and element type.
||NewExpr represents the new opcode that creates a new
object of a specified type.
||NewMultiArrayExpr represents the multianewarray opcode which
creates a new multidimensional array.
||Node represents a node in an expression tree.
||OperandStack is used to simulate the JVM stack.
||A PhiCatchStmt is used to handle variables that are used inside an
||PhiJoinStmt represents a phi-function inserted into a
control flow graph during conversion of variables to static
||A PhiStmt is inserted into a CFG in Single Static Assignment for.
||PrintVistor traverses a Tree and prints some information about each visited
Node to a stream.
||RCExpr represents a residency check.
||ReplaceVisitor traverses a tree and replaces each occurrence of one
Node with another Node.
||RetStmt represents the ret opcode which returns from a
||ReturnAddressExpr represents a return address used with the
||ReturnExprStmt represents the areturn opcode which returns a
reference from a method.
||ReturnStmt represents the return opcode which
returns void from a method.
||SCStmt represents a swizzle check on an element in an array.
||ShiftExpr represents a bit shift operation.
||SRStmt represents the swizzle of a range of elements in an array.
||StackExpr represents an expression that is stored on the stack.
||StackManipStmt represents the opcodes that manipulate the stack such as
swap and dup.
||StackOptimizer analyzes the relative distances of various uses of
the same definition of a local variable to add dups and swaps to the
bytecode and eliminate loads and stores.
||StaticFieldExpr represents the getstatic opcode which gets a
static (class) field from a class.
||Stmt is a super class used to represent statements in a Java bytecode
||StoreExpr represents a store of an expression into a memory location.
||SwitchStmt represents a switch statement.
||Swizzler represents an induction variable that is used as an index into an
||ThrowStmt represents the athrow opcode which throws an exception
||Tree represents the expression tree of a basic Block.
||TreeVisitor performs a traversal of a tree.
||Type0Visitor searches up the tree, starting at a LocalExpr, looking for
an earlier instance of the same definition of that LocalExpr in
a Type 0 relation.
||UPExpr represents an update check opcode which checks the persistent
store to determine if a variable needs to be updated.
||UseInformation stores information about a use of a local variable.
||VarExpr represents an expression that accesses a local variable or a
variable on the stack.
||ZeroCheckExpr represents a check for a zero value.