Uses of Interface
edu.cmu.cs.crystal.tac.TACInstruction

Packages that use TACInstruction
edu.cmu.cs.crystal.analysis.alias   
edu.cmu.cs.crystal.analysis.constant   
edu.cmu.cs.crystal.flow This package is used for flow analyses. 
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 The interfaces for the three-address code (TAC) instructions. 
edu.cmu.cs.crystal.tac.eclipse An internal package for creating three address code nodes. 
 

Uses of TACInstruction in edu.cmu.cs.crystal.analysis.alias
 

Methods in edu.cmu.cs.crystal.analysis.alias with parameters of type TACInstruction
 java.util.Set<ObjectLabel> MayAliasAnalysis.getAllLabelsAfter(TACInstruction instr)
           
 java.util.Set<ObjectLabel> MayAliasAnalysis.getAllLabelsBefore(TACInstruction instr)
           
 TupleLatticeElement<Variable,AliasLE> MayAliasAnalysis.getResultsAfter(TACInstruction instr)
           
 TupleLatticeElement<Variable,AliasLE> MayAliasAnalysis.getResultsBefore(TACInstruction instr)
           
 

Uses of TACInstruction in edu.cmu.cs.crystal.analysis.constant
 

Methods in edu.cmu.cs.crystal.analysis.constant with parameters of type TACInstruction
 TupleLatticeElement<Variable,BooleanConstantLE> ConstantAnalysis.getResultsAfter(TACInstruction instr)
           
 TupleLatticeElement<Variable,BooleanConstantLE> ConstantAnalysis.getResultsBefore(TACInstruction instr)
           
 

Uses of TACInstruction in edu.cmu.cs.crystal.flow
 

Methods in edu.cmu.cs.crystal.flow with parameters of type TACInstruction
 IResult<LE> ITACFlowAnalysis.getLabeledResultsAfter(TACInstruction instr)
          Retrieves the analysis state that exists after analyzing the instruction.
 IResult<LE> ITACFlowAnalysis.getLabeledResultsBefore(TACInstruction instr)
          Retrieves the analysis state that exists before analyzing the instruction.
 ASTNode ITACFlowAnalysis.getNode(Variable x, TACInstruction instruction)
          Returns for error-reporting purposes a AST node that surrounds or is represented by a variable mentioned in a given instruction.
 LE ITACFlowAnalysis.getResultsAfter(TACInstruction instr)
          Retrieves the analysis state that exists after analyzing the instruction.
 LE ITACFlowAnalysis.getResultsBefore(TACInstruction instr)
          Retrieves the analysis state that exists before analyzing the instruction.
 

Uses of TACInstruction in edu.cmu.cs.crystal.simple
 

Methods in edu.cmu.cs.crystal.simple with parameters of type TACInstruction
 LE AbstractingTransferFunction.transfer(TACInstruction instr, LE value)
           
 

Uses of TACInstruction in edu.cmu.cs.crystal.tac
 

Subinterfaces of TACInstruction in edu.cmu.cs.crystal.tac
 interface ArrayInitInstruction
          x = { y1, ..., yn }.
 interface AssignmentInstruction
          Abstract x = ?.
 interface BinaryOperation
          x = y binop z, representing all binary operations.
 interface CastInstruction
          x = (T) y.
 interface ConstructorCallInstruction
          x(y1, ..., yn), where x is "this" or "super".
 interface CopyInstruction
          x = y.
 interface DotClassInstruction
          x = T.class.
 interface EnhancedForConditionInstruction
          Instruction representing the "has next" test at the top of a Java 5 enhanced for loop.
 interface InstanceofInstruction
          x = y instanceof T.
 interface InvocationInstruction
          Abstract x = call(z1, ..., zn).
 interface LoadArrayInstruction
          x = y[z].
 interface LoadFieldInstruction
          x = y.f, where f is a field.
 interface LoadInstruction
          Marker interface for loads.
 interface LoadLiteralInstruction
          x = l, an assignment of a literal value to a variable.
 interface 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.
 interface NewArrayInstruction
          x = new T[y1]...[yn] or x = new T[]...[] = z.
 interface NewObjectInstruction
          x = new C(z1, ..., zn), including for anonymous inner classes.
 interface OneOperandInstruction
          x = f(y), i.e., the result of a one-operand instruction is somehow derived from a single operand.
 interface ReturnInstruction
          return x, the return of a value.
 interface SourceVariableDeclaration
          T x.
 interface SourceVariableRead
          This instruction indicates reading a variable that appears in the source program, i.e.
 interface StoreArrayInstruction
          x[y] = z.
 interface StoreFieldInstruction
          x.f = y, where f is a field.
 interface StoreInstruction
          This interface represents a store, i.e., a write into memory from a source.
 interface TACArrayAccess
          x[y]
 interface TACFieldAccess
          x.f, i.e., an access to a field.
 interface TACInvocation
          Interface defining instructions that represent some kind of invocation.
 interface UnaryOperation
          x = unop y; this class represents unary operations.
 

Methods in edu.cmu.cs.crystal.tac with parameters of type TACInstruction
 IResult<LE> TACFlowAnalysis.getLabeledResultsAfter(TACInstruction instr)
           
 IResult<LE> TACFlowAnalysis.getLabeledResultsBefore(TACInstruction instr)
           
 ASTNode TACFlowAnalysis.getNode(Variable x, TACInstruction instruction)
           
 LE TACFlowAnalysis.getResultsAfter(TACInstruction instr)
           
 LE TACFlowAnalysis.getResultsBefore(TACInstruction instr)
           
 

Uses of TACInstruction in edu.cmu.cs.crystal.tac.eclipse
 

Classes in edu.cmu.cs.crystal.tac.eclipse that implement TACInstruction
 class EclipseInstructionSequence
           
 class ReturnInstructionImpl
           
 

Methods in edu.cmu.cs.crystal.tac.eclipse that return TACInstruction
 TACInstruction EclipseTACInstructionFactory.create(ArrayAccess node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ArrayCreation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ArrayInitializer node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(Assignment node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(BooleanLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(CastExpression node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(CharacterLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ClassInstanceCreation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ConditionalExpression node, IEclipseVariableQuery query)
           
 TACInstruction EclipseTACInstructionFactory.create(ConstructorInvocation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(EnhancedForStatement node, EclipseTAC eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(FieldAccess node, IEclipseVariableQuery eclipseVariableQuery)
          This is not the only AST node that could represent a field access
 TACInstruction EclipseTACInstructionFactory.create(InfixExpression node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(InstanceofExpression node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(MethodInvocation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(NullLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(NumberLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(PostfixExpression node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(PrefixExpression node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(QualifiedName node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ReturnStatement node, EclipseTAC eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(SimpleName node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(StringLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(SuperConstructorInvocation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(SuperFieldAccess node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(SuperMethodInvocation node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(ThisExpression node, ThisVariable accessedVariable, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(TypeLiteral node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTACInstructionFactory.create(VariableDeclaration node, IEclipseVariableQuery eclipseVariableQuery)
           
 TACInstruction EclipseTAC.instruction(ASTNode astNode)
          Instruction for a given AST Node.
 

Methods in edu.cmu.cs.crystal.tac.eclipse with parameters of type TACInstruction
<LE> IResult<LE>
EclipseInstructionSequence.deriveResult(ITACBranchSensitiveTransferFunction<LE> tf, java.util.List<ILabel> labels, TACInstruction targetInstr, LE value, boolean afterResult)
           
<LE> LE
EclipseInstructionSequence.deriveResult(ITACTransferFunction<LE> tf, TACInstruction targetInstr, LE value, boolean afterResult)
           
 

Constructors in edu.cmu.cs.crystal.tac.eclipse with parameters of type TACInstruction
EclipseInstructionSequence(ASTNode node, TACInstruction[] instructions, IEclipseVariableQuery tac)
           
EclipseInstructionSequence(ASTNode node, TACInstruction[] instructions, int useAsResult, IEclipseVariableQuery tac)