public ThreeValue getBooleanValue(ObjectLabel label) {
ThreeValue value = cache.get(label);
if (value == null) {
BooleanConstantLE labelConstant = BooleanConstantLE.BOTTOM;
BooleanConstantLatticeOps boolOps = new BooleanConstantLatticeOps();
for (Variable var : aliasLattice.getVariables()) {
if (aliasLattice.getAliases(var).contains(label)) {
BooleanConstantLE varConstant = boolLattice.get(var);
labelConstant = boolOps.join(labelConstant, varConstant);
}
}
if (labelConstant == BooleanConstantLE.TRUE)
value = ThreeValue.TRUE;