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

Packages that use TACInstruction
edu.cmu.cs.crystal.analysis.alias   
edu.cmu.cs.crystal.analysis.constant   
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. 
 

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

Methods in edu.cmu.cs.crystal.analysis.alias with parameters of type TACInstruction
 Set<ObjectLabel> MayAliasAnalysis.getAllLabelsAfter(TACInstruction instr)
           
 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.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
 

Methods in edu.cmu.cs.crystal.tac with parameters of type TACInstruction
 IResult<LE> TACFlowAnalysis.getLabeledResultsAfter(TACInstruction instr)
           
 IResult<LE> ITACFlowAnalysis.getLabeledResultsAfter(TACInstruction instr)
          Retrieves the analysis state that exists after analyzing the instruction.
 IResult<LE> TACFlowAnalysis.getLabeledResultsBefore(TACInstruction instr)
           
 IResult<LE> ITACFlowAnalysis.getLabeledResultsBefore(TACInstruction instr)
          Retrieves the analysis state that exists before analyzing the instruction.
 ASTNode TACFlowAnalysis.getNode(Variable x, TACInstruction 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 TACFlowAnalysis.getResultsAfter(TACInstruction instr)
           
 LE ITACFlowAnalysis.getResultsAfter(TACInstruction instr)
          Retrieves the analysis state that exists after analyzing the instruction.
 LE TACFlowAnalysis.getResultsBefore(TACInstruction instr)
           
 LE ITACFlowAnalysis.getResultsBefore(TACInstruction instr)
          Retrieves the analysis state that exists before analyzing the instruction.
 

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, 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)
           
 

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

Subinterfaces of TACInstruction in edu.cmu.cs.crystal.tac.model
 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 SourceVariableReadInstruction
          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.