|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
LE
- the LatticeElement implementation that represents the analysis knowledgepublic interface LatticeElement<LE extends LatticeElement<LE>>
This class is not to be used in new Crystal analyses and is kept for
older projects only.
A LatticeElement embodies the analysis knowledge at a particular point in the
program.
LatticeElementOps
allows using classes implementing this interface
in a Crystal flow analysis.
For simple lattices, this interface may be sufficient.
This interface is in particular useful for lattices which have
a fixed number of elements in them.
More sophisticated lattices are probably easier to implement using
ILatticeOperations
directly.
Furthermore, lattices based on existing datatypes such as Set
are more easily implemented with ILatticeOperations
.
Method Summary | |
---|---|
boolean |
atLeastAsPrecise(LE other,
ASTNode node)
Compares LatticeElements for precision. |
LE |
join(LE other,
ASTNode node)
Carries out a join on this lattice and another lattice. |
Methods inherited from interface edu.cmu.cs.crystal.util.Copyable |
---|
copy |
Method Detail |
---|
LE join(LE other, ASTNode node)
other
- The other LE to join with, do not modify.node
- ASTNode where the two paths were originally forked apart (e.g., if,
while, try, switch, etc.) or null
if this join occurs on a "dummy" node.
boolean atLeastAsPrecise(LE other, ASTNode node)
other
- the other LE to comparenode
- ASTNode where the two paths were originally forked apart (e.g., if,
while, try, switch, etc.) or null
if this comparison occurs on a "dummy" node.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |