static @Nls String getPresentationText(@NotNull DfType type, @Nullable PsiType psiType) {
    if (type == DfType.TOP) {
      return "";
    }
    if (type instanceof DfIntegralType) {
      LongRangeSet psiRange = JvmPsiRangeSetUtil.typeRange(psiType);
      LongRangeSet dfRange = ((DfIntegralType)type).getRange();
      if (psiRange != null && dfRange.contains(psiRange)) return "";
      // chop 'int' or 'long' prefix
      return JvmPsiRangeSetUtil.getPresentationText(dfRange, psiType);
    }
    if (type instanceof DfConstantType) {
      return type.toString();
    }
    if (type instanceof DfReferenceType) {
      DfReferenceType stripped = ((DfReferenceType)type).dropNullability();
      DfaNullability nullability = ((DfReferenceType)type).getNullability();
      TypeConstraint constraint = ((DfReferenceType)type).getConstraint();
      if (constraint.getPresentationText(psiType).isEmpty()) {
        stripped = stripped.dropTypeConstraint();
      }
      @Nls String constraintText = stripped.toString();
      if (nullability == DfaNullability.NOT_NULL) {
        if (constraintText.isEmpty()) {
          return JavaBundle.message("dfa.constraint.not.null");
        }
        return JavaBundle.message("dfa.constraint.0.not.null", constraintText);
      }
      else if (nullability != DfaNullability.NULL) {
        if (constraintText.isEmpty()) {
          return "";
        }
        return JavaBundle.message("dfa.constraint.null.or.0", constraintText);
      }
    }
    return type.toString();
  }
static @Nls String getPresentationText(@NotNull DfType type, @Nullable PsiType psiType)