|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.cmu.cs.crystal.simple.TupleLatticeOperations<K,LE>
public class TupleLatticeOperations<K,LE>
Lattice operations for the TupleLatticeElement. To use TupleLatticeElement, create a TupleLatticeOperations with the appropriate lattice operations for the value lattice element and the default.
Constructor Summary | |
---|---|
TupleLatticeOperations(ILatticeOperations<LE> operations,
LE defaultElement)
|
Method Summary | |
---|---|
boolean |
atLeastAsPrecise(TupleLatticeElement<K,LE> left,
TupleLatticeElement<K,LE> right,
ASTNode node)
Compares analysis information for precision; more precisely, determines whether the first argument is at least as precise as the second. |
TupleLatticeElement<K,LE> |
bottom()
Responsible for returning a lattice that represents no knowledge. |
TupleLatticeElement<K,LE> |
copy(TupleLatticeElement<K,LE> original)
Creates a new deep copy of the given analysis information. |
TupleLatticeElement<K,LE> |
getDefault()
|
TupleLatticeElement<K,LE> |
join(TupleLatticeElement<K,LE> left,
TupleLatticeElement<K,LE> right,
ASTNode node)
Carries out a join on this lattice and another lattice. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TupleLatticeOperations(ILatticeOperations<LE> operations, LE defaultElement)
operations
- The operations for the LE latticedefaultElement
- The default LE, to be used when we have aMethod Detail |
---|
public boolean atLeastAsPrecise(TupleLatticeElement<K,LE> left, TupleLatticeElement<K,LE> right, ASTNode node)
IAbstractLatticeOperations
atLeastAsPrecise
in interface IAbstractLatticeOperations<TupleLatticeElement<K,LE>,ASTNode>
atLeastAsPrecise
in interface ILatticeOperations<TupleLatticeElement<K,LE>>
left
- Analysis information to be compared against reference
right
- the other LE to compare info
with.node
- 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.
true
if the first argument is at least as precise as the
second; false
otherwise, including if the two arguments are incomparable.public TupleLatticeElement<K,LE> bottom()
IAbstractLatticeOperations
bottom
in interface IAbstractLatticeOperations<TupleLatticeElement<K,LE>,ASTNode>
bottom
in interface ILatticeOperations<TupleLatticeElement<K,LE>>
public TupleLatticeElement<K,LE> copy(TupleLatticeElement<K,LE> original)
IAbstractLatticeOperations
copy
in interface IAbstractLatticeOperations<TupleLatticeElement<K,LE>,ASTNode>
copy
in interface ILatticeOperations<TupleLatticeElement<K,LE>>
original
- analysis information to be copied.
public TupleLatticeElement<K,LE> join(TupleLatticeElement<K,LE> left, TupleLatticeElement<K,LE> right, ASTNode node)
IAbstractLatticeOperations
join
in interface IAbstractLatticeOperations<TupleLatticeElement<K,LE>,ASTNode>
join
in interface ILatticeOperations<TupleLatticeElement<K,LE>>
left
- LE to join with otherInfo
.right
- 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.
public TupleLatticeElement<K,LE> getDefault()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |