|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
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 | ||
---|---|---|
|
EclipseInstructionSequence.deriveResult(ITACBranchSensitiveTransferFunction<LE> tf,
List<ILabel> labels,
TACInstruction targetInstr,
LE value,
boolean afterResult)
|
|
|
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. |
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |