Uses of Package
edu.cmu.cs.crystal.tac.model

Packages that use edu.cmu.cs.crystal.tac.model
edu.cmu.cs.crystal.analysis.alias   
edu.cmu.cs.crystal.analysis.constant   
edu.cmu.cs.crystal.analysis.live   
edu.cmu.cs.crystal.simple This package is for creating very simple flow analyses; if you're new to flow analyses, start here. 
edu.cmu.cs.crystal.tac This package contains classes and interfaces for writing flow analyses based on three-address code (TAC). 
edu.cmu.cs.crystal.tac.eclipse An internal package for creating three address code nodes based on the Eclipse AST. 
edu.cmu.cs.crystal.tac.model The interfaces for the three-address code (TAC) instructions and variables. 
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.analysis.alias
ArrayInitInstruction
          x = { y1, ..., yn }.
BinaryOperation
          x = y binop z, representing all binary operations.
CastInstruction
          x = (T) y.
CopyInstruction
          x = y.
DotClassInstruction
          x = T.class.
InstanceofInstruction
          x = y instanceof T.
LoadArrayInstruction
          x = y[z].
LoadFieldInstruction
          x = y.f, where f is a field.
LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
MethodCallInstruction
          x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.
NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
SourceVariableDeclaration
          T x.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
UnaryOperation
          x = unop y; this class represents unary operations.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.analysis.constant
ArrayInitInstruction
          x = { y1, ..., yn }.
BinaryOperation
          x = y binop z, representing all binary operations.
CastInstruction
          x = (T) y.
ConstructorCallInstruction
          x(y1, ..., yn), where x is "this" or "super".
CopyInstruction
          x = y.
DotClassInstruction
          x = T.class.
EnhancedForConditionInstruction
          Instruction representing the "has next" test at the top of a Java 5 enhanced for loop.
InstanceofInstruction
          x = y instanceof T.
LoadArrayInstruction
          x = y[z].
LoadFieldInstruction
          x = y.f, where f is a field.
LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
MethodCallInstruction
          x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.
NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
ReturnInstruction
          return x, the return of a value.
SourceVariableDeclaration
          T x.
SourceVariableReadInstruction
          This instruction indicates reading a variable that appears in the source program, i.e.
StoreArrayInstruction
          x[y] = z.
StoreFieldInstruction
          x.f = y, where f is a field.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
UnaryOperation
          x = unop y; this class represents unary operations.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.analysis.live
ArrayInitInstruction
          x = { y1, ..., yn }.
BinaryOperation
          x = y binop z, representing all binary operations.
CastInstruction
          x = (T) y.
ConstructorCallInstruction
          x(y1, ..., yn), where x is "this" or "super".
CopyInstruction
          x = y.
DotClassInstruction
          x = T.class.
EnhancedForConditionInstruction
          Instruction representing the "has next" test at the top of a Java 5 enhanced for loop.
InstanceofInstruction
          x = y instanceof T.
LoadArrayInstruction
          x = y[z].
LoadFieldInstruction
          x = y.f, where f is a field.
LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
MethodCallInstruction
          x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.
NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
ReturnInstruction
          return x, the return of a value.
SourceVariableDeclaration
          T x.
SourceVariableReadInstruction
          This instruction indicates reading a variable that appears in the source program, i.e.
StoreArrayInstruction
          x[y] = z.
StoreFieldInstruction
          x.f = y, where f is a field.
UnaryOperation
          x = unop y; this class represents unary operations.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.simple
ArrayInitInstruction
          x = { y1, ..., yn }.
AssignmentInstruction
          Abstract x = ?.
BinaryOperation
          x = y binop z, representing all binary operations.
CastInstruction
          x = (T) y.
ConstructorCallInstruction
          x(y1, ..., yn), where x is "this" or "super".
CopyInstruction
          x = y.
DotClassInstruction
          x = T.class.
EnhancedForConditionInstruction
          Instruction representing the "has next" test at the top of a Java 5 enhanced for loop.
InstanceofInstruction
          x = y instanceof T.
InvocationInstruction
          Abstract x = call(z1, ..., zn).
LoadArrayInstruction
          x = y[z].
LoadFieldInstruction
          x = y.f, where f is a field.
LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
MethodCallInstruction
          x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.
NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
OneOperandInstruction
          x = f(y), i.e., the result of a one-operand instruction is somehow derived from a single operand.
ReturnInstruction
          return x, the return of a value.
SourceVariableDeclaration
          T x.
SourceVariableReadInstruction
          This instruction indicates reading a variable that appears in the source program, i.e.
StoreArrayInstruction
          x[y] = z.
StoreFieldInstruction
          x.f = y, where f is a field.
StoreInstruction
          This interface represents a store, i.e., a write into memory from a source.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
UnaryOperation
          x = unop y; this class represents unary operations.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.tac
ArrayInitInstruction
          x = { y1, ..., yn }.
BinaryOperation
          x = y binop z, representing all binary operations.
CastInstruction
          x = (T) y.
ConstructorCallInstruction
          x(y1, ..., yn), where x is "this" or "super".
CopyInstruction
          x = y.
DotClassInstruction
          x = T.class.
EnhancedForConditionInstruction
          Instruction representing the "has next" test at the top of a Java 5 enhanced for loop.
InstanceofInstruction
          x = y instanceof T.
LoadArrayInstruction
          x = y[z].
LoadFieldInstruction
          x = y.f, where f is a field.
LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
MethodCallInstruction
          x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.
NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
ReturnInstruction
          return x, the return of a value.
SourceVariable
          A source variable is a variable in three address code that actually existed in the original Java source code.
SourceVariableDeclaration
          T x.
SourceVariableReadInstruction
          This instruction indicates reading a variable that appears in the source program, i.e.
StoreArrayInstruction
          x[y] = z.
StoreFieldInstruction
          x.f = y, where f is a field.
SuperVariable
          The Super class represents the super keyword.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
ThisVariable
          This class represents the this keyword, which is treated much like any other variable.
UnaryOperation
          x = unop y; this class represents unary operations.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.tac.eclipse
ReturnInstruction
          return x, the return of a value.
SourceVariable
          A source variable is a variable in three address code that actually existed in the original Java source code.
SuperVariable
          The Super class represents the super keyword.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
ThisVariable
          This class represents the this keyword, which is treated much like any other variable.
TypeVariable
          In Java you can make calls that look like the following:
System.exit(0);
Here System is a class, but because out is a static field we access it directly from the class name.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.
 

Classes in edu.cmu.cs.crystal.tac.model used by edu.cmu.cs.crystal.tac.model
AssignmentInstruction
          Abstract x = ?.
BinaryOperator
          Binary operators including arithmetic, relational, and bitwise operators as well as bit shifts and string concatenation.
InvocationInstruction
          Abstract x = call(z1, ..., zn).
IVariableVisitor
           
KeywordVariable
          Java and our three address code contain two 'special' variables that correspond with Java keywords and must be treated in a different manner than traditional source code variables.
LoadInstruction
          Marker interface for loads.
OneOperandInstruction
          x = f(y), i.e., the result of a one-operand instruction is somehow derived from a single operand.
SourceVariable
          A source variable is a variable in three address code that actually existed in the original Java source code.
StoreInstruction
          This interface represents a store, i.e., a write into memory from a source.
SuperVariable
          The Super class represents the super keyword.
TACArrayAccess
          x[y]
TACFieldAccess
          x.f, i.e., an access to a field.
TACInstruction
          Abstract base class for 3-Address-Code instructions built from Eclipse AST nodes.
TACInvocation
          Interface defining instructions that represent some kind of invocation.
TempVariable
          Temporary variables created during the course of translating to three address code are represented by instances of this class.
ThisVariable
          This class represents the this keyword, which is treated much like any other variable.
TypeVariable
          In Java you can make calls that look like the following:
System.exit(0);
Here System is a class, but because out is a static field we access it directly from the class name.
UnaryOperator
          Unary operators.
Variable
          This class is the abstract super type of all variables in the three address code representation of a given Java program.