DfType (@NotNull LongRangeSet range, @Nullable LongRangeSet wideRange) { if (wideRange == null || wideRange.equals(range) || wideRange.isEmpty()) return intRange(range); if (range.isEmpty()) { return DfType.BOTTOM; } Long value = range.getConstantValue(); if (value != null) { return new DfIntConstantType(Math.toIntExact(value), wideRange); } return new DfIntRangeType(range, wideRange); }