Uses of Package
edu.cmu.cs.crystal.flow

Packages that use edu.cmu.cs.crystal.flow
edu.cmu.cs.crystal.analysis.alias   
edu.cmu.cs.crystal.analysis.constant   
edu.cmu.cs.crystal.analysis.live   
edu.cmu.cs.crystal.bridge DEPRECATED PACKAGE! Do not use anything in this package; it only exists for the Plural analysis. 
edu.cmu.cs.crystal.cfg An internal package for defining a control flow graph. 
edu.cmu.cs.crystal.cfg.eclipse An internal package for creating a control flow graph from Eclipse. 
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.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.flow used by edu.cmu.cs.crystal.analysis.alias
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILabel
          A label is a named edge on a control flow graph.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
IResult
          Interface for mapping branch labels to analysis information.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.analysis.constant
AnalysisDirection
          This enumeration is used to specify the direction of a flow analysis.
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILabel
          A label is a named edge on a control flow graph.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
IResult
          Interface for mapping branch labels to analysis information.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.analysis.live
AnalysisDirection
          This enumeration is used to specify the direction of a flow analysis.
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.bridge
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.cfg
ILabel
          A label is a named edge on a control flow graph.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.cfg.eclipse
ILabel
          A label is a named edge on a control flow graph.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.flow
AnalysisDirection
          This enumeration is used to specify the direction of a flow analysis.
BooleanLabel
          A boolean label is a label which is either true or false.
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IBranchSensitiveTransferFunction
          Interface for defining branch-sensitive flow analyses.
IFlowAnalysis
          All flow analyses must be able to return the information defined by this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILabel
          A label is a named edge on a control flow graph.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
IResult
          Interface for mapping branch labels to analysis information.
IteratorLabel
          A label for control flow where the branching flow is due to an iterator, for example, in an enhanced for loop.
ITransferFunction
          Interface for defining standard flow analyses.
LabeledResult
          Maps each label to a unique value.
MotherFlowAnalysis
          Abstract base class for flow analyses that implements a worklist algorithm and provides various methods to access analysis results.
NormalLabel
          A normal label occurs from non-branching, non-exceptional control flow.
SingletonLatticeElement
          This is a degenerate lattice element class with exactly one element in it.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.flow.concur
IFlowAnalysis
          All flow analyses must be able to return the information defined by this interface.
IResult
          Interface for mapping branch labels to analysis information.
ITransferFunction
          Interface for defining standard flow analyses.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.flow.worklist
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IBranchSensitiveTransferFunction
          Interface for defining branch-sensitive flow analyses.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
IResult
          Interface for mapping branch labels to analysis information.
ITransferFunction
          Interface for defining standard flow analyses.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.simple
AnalysisDirection
          This enumeration is used to specify the direction of a flow analysis.
IAbstractLatticeOperations
          Analysis writers do not implement this interface directly; instead, they implement an extending interface that instantiates the node type parameter, N of this interface.
IFlowAnalysis
          All flow analyses must be able to return the information defined by this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILatticeOperations
          Implement this interface to provide typical lattice operations.
MotherFlowAnalysis
          Abstract base class for flow analyses that implements a worklist algorithm and provides various methods to access analysis results.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.tac
AnalysisDirection
          This enumeration is used to specify the direction of a flow analysis.
IFlowAnalysis
          All flow analyses must be able to return the information defined by this interface.
IFlowAnalysisDefinition
          This interface contains operations common to any transfer function accepted by Crystal's flow analysis framework: A direction: IFlowAnalysisDefinition.getAnalysisDirection() Lattice operations: #createLatticeOperations(MethodDeclaration) Entry lattice value: IFlowAnalysisDefinition.createEntryValue(MethodDeclaration) These will be called once whenever another method needs to be analyzed.
ILabel
          A label is a named edge on a control flow graph.
IResult
          Interface for mapping branch labels to analysis information.
MotherFlowAnalysis
          Abstract base class for flow analyses that implements a worklist algorithm and provides various methods to access analysis results.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.tac.eclipse
ILabel
          A label is a named edge on a control flow graph.
IResult
          Interface for mapping branch labels to analysis information.
 

Classes in edu.cmu.cs.crystal.flow used by edu.cmu.cs.crystal.tac.model
ILabel
          A label is a named edge on a control flow graph.
IResult
          Interface for mapping branch labels to analysis information.