boolean (DfaVariableValue value, DfConstantType<?> constant) { DfType dfType = constant.tryNegate(); if (dfType == null) return true; EqClass eqClass = getEqClass(value); if (eqClass == null) return true; for (DistinctPairSet.DistinctPair pair : getDistinctClassPairs().toArray(new DistinctPairSet.DistinctPair[0])) { EqClass other = pair.getFirst() == eqClass ? pair.getSecond() : pair.getSecond() == eqClass ? pair.getFirst() : null; if (other != null) { for (DfaVariableValue var : other.asList()) { if (!meetDfType(var, dfType)) return false; } } } return true; }