public static PsiType unaryNumericPromotion(PsiType type) {
    if (type == null) {
      return null;
    }
    if (type.equalsToText("java.lang.Byte") || type.equalsToText("java.lang.Short") ||
        type.equalsToText("java.lang.Character") || type.equalsToText("java.lang.Integer") ||
        type.equals(PsiTypes.byteType()) || type.equals(PsiTypes.shortType()) || type.equals(PsiTypes.charType())) {
      return PsiTypes.intType();
    }
    else if (type.equalsToText("java.lang.Long")) {
      return PsiTypes.longType();
    }
    else if (type.equalsToText("java.lang.Float")) {
      return PsiTypes.floatType();
    }
    else if (type.equalsToText("java.lang.Double")) {
      return PsiTypes.doubleType();
    }
    return type;
  }
public static PsiType unaryNumericPromotion(PsiType type)