Uses of Interface
edu.cmu.cs.crystal.flow.IResult

Packages that use IResult
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.flow.concur This experimental package is for running analyses concurrently. 
edu.cmu.cs.crystal.flow.worklist An internal package for running a flow analysis. 
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 IResult in edu.cmu.cs.crystal.analysis.alias
 

Methods in edu.cmu.cs.crystal.analysis.alias that return IResult
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(ArrayInitInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(BinaryOperation binop, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(CastInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(CopyInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(DotClassInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(InstanceofInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(LoadArrayInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(LoadFieldInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(LoadLiteralInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(MethodCallInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(NewArrayInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(NewObjectInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(SourceVariableDeclaration instr, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 IResult<TupleLatticeElement<Variable,AliasLE>> MayAliasTransferFunction.transfer(UnaryOperation unop, List<ILabel> labels, TupleLatticeElement<Variable,AliasLE> value)
           
 

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

Methods in edu.cmu.cs.crystal.analysis.constant that return IResult
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(ArrayInitInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(BinaryOperation binop, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(CastInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(ConstructorCallInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(CopyInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(DotClassInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(EnhancedForConditionInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(InstanceofInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(LoadArrayInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(LoadFieldInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(LoadLiteralInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(MethodCallInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(NewArrayInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(NewObjectInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(ReturnInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(SourceVariableDeclaration instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(SourceVariableReadInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(StoreArrayInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(StoreFieldInstruction instr, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 IResult<TupleLatticeElement<Variable,BooleanConstantLE>> ConstantTransferFunction.transfer(UnaryOperation unop, List<ILabel> labels, TupleLatticeElement<Variable,BooleanConstantLE> value)
           
 

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

Classes in edu.cmu.cs.crystal.flow that implement IResult
 class LabeledResult<LE>
          Maps each label to a unique value.
 class LabeledSingleResult<LE>
          This class maps a set of known labels to a single lattice element.
 class SingleResult<LE>
          This is a degenerate result that maps all labels to a single lattice element and only knows a single label, NormalLabel.
 

Methods in edu.cmu.cs.crystal.flow that return IResult
static
<LE> IResult<LE>
LabeledSingleResult.createResult(LE value, Collection<ILabel> labels)
          Creates a result that maps the given labels to the given lattice element.
static
<LE> IResult<LE>
LabeledSingleResult.createResult(LE value, ILabel... labels)
          Creates a result that maps the given labels to the given lattice element.
 IResult<LE> MotherFlowAnalysis.getLabeledEndResult(MethodDeclaration d)
           
 IResult<LE> IFlowAnalysis.getLabeledEndResult(MethodDeclaration d)
          Gets the lattice results at the end of a method.
 IResult<LE> MotherFlowAnalysis.getLabeledResultsAfter(ASTNode node)
           
 IResult<LE> IFlowAnalysis.getLabeledResultsAfter(ASTNode node)
          Retrieves the analysis state that exists after analyzing the node in the control flow graph.
 IResult<LE> MotherFlowAnalysis.getLabeledResultsBefore(ASTNode node)
           
 IResult<LE> IFlowAnalysis.getLabeledResultsBefore(ASTNode node)
          Retrieves the analysis state that exists before analyzing the node in the control flow graph.
 IResult<LE> MotherFlowAnalysis.getLabeledStartResult(MethodDeclaration d)
           
 IResult<LE> IFlowAnalysis.getLabeledStartResult(MethodDeclaration d)
          Gets the lattice results at the start of a method.
 IResult<LE> SingleResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> LabeledSingleResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> LabeledResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> IResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> ops)
          Clients do not usually call this method.
 IResult<LE> IBranchSensitiveTransferFunction.transfer(ASTNode astNode, List<ILabel> labels, LE value)
          Transfer over a given AST node and return analysis information for each possible outcome of the given node.
 

Methods in edu.cmu.cs.crystal.flow with parameters of type IResult
 IResult<LE> SingleResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> LabeledSingleResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> LabeledResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> op)
           
 IResult<LE> IResult.join(IResult<LE> otherResult, IAbstractLatticeOperations<LE,?> ops)
          Clients do not usually call this method.
 

Uses of IResult in edu.cmu.cs.crystal.flow.concur
 

Methods in edu.cmu.cs.crystal.flow.concur that return IResult
 IResult<LE> ConcurrentFlowAnalysis.getLabeledEndResult(MethodDeclaration d)
           
 IResult<LE> ConcurrentFlowAnalysis.getLabeledResultsAfter(ASTNode node)
           
 IResult<LE> ConcurrentFlowAnalysis.getLabeledResultsBefore(ASTNode node)
           
 IResult<LE> ConcurrentFlowAnalysis.getLabeledStartResult(MethodDeclaration d)
           
 

Uses of IResult in edu.cmu.cs.crystal.flow.worklist
 

Methods in edu.cmu.cs.crystal.flow.worklist that return types with arguments of type IResult
 Map<ICFGNode<N>,IResult<LE>> AnalysisResult.getLabeledResultsAfter()
           
 Map<ICFGNode<N>,IResult<LE>> AnalysisResult.getLabeledResultsBefore()
           
 

Constructor parameters in edu.cmu.cs.crystal.flow.worklist with type arguments of type IResult
AnalysisResult(Map<N,Set<ICFGNode<N>>> _nm, Map<ICFGNode<N>,IResult<LE>> _lra, Map<ICFGNode<N>,IResult<LE>> _lrb, OP _l, ICFGNode<N> _startNode, ICFGNode<N> _endNode)
          Creates copies of the given maps to encapsulate a new, un-modifiable result of an analysis.
AnalysisResult(Map<N,Set<ICFGNode<N>>> _nm, Map<ICFGNode<N>,IResult<LE>> _lra, Map<ICFGNode<N>,IResult<LE>> _lrb, OP _l, ICFGNode<N> _startNode, ICFGNode<N> _endNode)
          Creates copies of the given maps to encapsulate a new, un-modifiable result of an analysis.
 

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

Methods in edu.cmu.cs.crystal.tac that return IResult
 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.
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(ArrayInitInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(ArrayInitInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(BinaryOperation binop, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(BinaryOperation binop, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(CastInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(CastInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(ConstructorCallInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(ConstructorCallInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(CopyInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(CopyInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(DotClassInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(DotClassInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(EnhancedForConditionInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(EnhancedForConditionInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(InstanceofInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(InstanceofInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(LoadArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(LoadArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(LoadFieldInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(LoadFieldInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(LoadLiteralInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(LoadLiteralInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(MethodCallInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(MethodCallInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(NewArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(NewArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(NewObjectInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(NewObjectInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(ReturnInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(ReturnInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(SourceVariableDeclaration instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(SourceVariableDeclaration instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(SourceVariableReadInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(SourceVariableReadInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(StoreArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(StoreArrayInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(StoreFieldInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(StoreFieldInstruction instr, List<ILabel> labels, LE value)
           
 IResult<LE> ITACBranchSensitiveTransferFunction.transfer(UnaryOperation unop, List<ILabel> labels, LE value)
           
 IResult<LE> AbstractTACBranchSensitiveTransferFunction.transfer(UnaryOperation unop, List<ILabel> labels, LE value)
           
 

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

Methods in edu.cmu.cs.crystal.tac.eclipse that return IResult
<LE> IResult<LE>
EclipseInstructionSequence.deriveResult(ITACBranchSensitiveTransferFunction<LE> tf, List<ILabel> labels, TACInstruction targetInstr, LE value, boolean afterResult)
           
<LE> IResult<LE>
EclipseInstructionSequence.transfer(ITACBranchSensitiveTransferFunction<LE> tf, List<ILabel> labels, LE value)
           
<LE> IResult<LE>
ReturnInstructionImpl.transfer(ITACBranchSensitiveTransferFunction<LE> tf, List<ILabel> labels, LE value)
           
 

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

Methods in edu.cmu.cs.crystal.tac.model that return IResult
<LE> IResult<LE>
TACInstruction.transfer(ITACBranchSensitiveTransferFunction<LE> tf, List<ILabel> labels, LE value)
          Use this method to transfer over an instruction.