DfType (@NotNull LongRangeSet range, @Nullable LongRangeSet wideRange) { if (wideRange == null || wideRange.equals(range) || wideRange.isEmpty()) return longRange(range); if (range.isEmpty()) { return DfType.BOTTOM; } Long value = range.getConstantValue(); if (value != null) { return new DfLongConstantType(value, wideRange); } return new DfLongRangeType(range, wideRange); }