DfaValue (@NotNull DfaBinOpValue value, @NotNull DfaMemoryState state, @NotNull PsiPrimitiveType type) { if (!TypeConversionUtil.isIntegralNumberType(type)) return value; LongRangeBinOp operation = value.getOperation(); if ((operation == LongRangeBinOp.PLUS || operation == LongRangeBinOp.MINUS) && JvmPsiRangeSetUtil.castTo(DfLongType.extractRange(state.getDfType(value.getRight())), type).equals(LongRangeSet.point(0))) { return value.getLeft(); } if (operation == LongRangeBinOp.PLUS && JvmPsiRangeSetUtil.castTo(DfLongType.extractRange(state.getDfType(value.getLeft())), type).equals(LongRangeSet.point(0))) { return value.getRight(); } return value; }