diff --git a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java index 91d0902fac89..f29bc362decc 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java @@ -397,9 +397,10 @@ public class MethodParameterInfoHandler implements ParameterInfoHandlerWithTabAc if (substitutor != null) { returnType = substitutor.substitute(returnType); } + assert returnType != null : method; appendModifierList(buffer, method); - buffer.append(returnType.getPresentableText()); + buffer.append(returnType.getPresentableText(true)); buffer.append(" "); } buffer.append(method.getName()); @@ -426,7 +427,7 @@ public class MethodParameterInfoHandler implements ParameterInfoHandlerWithTabAc paramType = substitutor.substitute(paramType); } appendModifierList(buffer, param); - buffer.append(paramType.getPresentableText()); + buffer.append(paramType.getPresentableText(true)); String name = param.getName(); if (name != null) { buffer.append(" "); diff --git a/java/java-psi-api/src/com/intellij/psi/PsiArrayType.java b/java/java-psi-api/src/com/intellij/psi/PsiArrayType.java index 284b99f6852b..1fd91471b5a6 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiArrayType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiArrayType.java @@ -42,8 +42,8 @@ public class PsiArrayType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { - return getText(myComponentType.getPresentableText(), "[]", false, true); + public String getPresentableText(boolean annotated) { + return getText(myComponentType.getPresentableText(), "[]", false, annotated); } @NotNull diff --git a/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java b/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java index 0655f17c41d8..bc7d2c74ec5c 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java @@ -133,8 +133,8 @@ public class PsiCapturedWildcardType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { - return "capture of " + myExistential.getPresentableText(); + public String getPresentableText(boolean annotated) { + return "capture of " + myExistential.getPresentableText(annotated); } @NotNull diff --git a/java/java-psi-api/src/com/intellij/psi/PsiClassType.java b/java/java-psi-api/src/com/intellij/psi/PsiClassType.java index 4c11523f2c46..38c9978c7ad0 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiClassType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiClassType.java @@ -295,18 +295,25 @@ public abstract class PsiClassType extends PsiType { }; } - /** - * Temporary class to facilitate transition to {@link #getCanonicalText(boolean)}. - */ public static abstract class Stub extends PsiClassType { protected Stub(LanguageLevel languageLevel, @NotNull PsiAnnotation[] annotations) { super(languageLevel, annotations); } - public Stub(LanguageLevel languageLevel, @NotNull TypeAnnotationProvider annotations) { + protected Stub(LanguageLevel languageLevel, @NotNull TypeAnnotationProvider annotations) { super(languageLevel, annotations); } + @NotNull + @Override + public final String getPresentableText() { + return getPresentableText(false); + } + + @NotNull + @Override + public abstract String getPresentableText(boolean annotated); + @NotNull @Override public final String getCanonicalText() { diff --git a/java/java-psi-api/src/com/intellij/psi/PsiDisjunctionType.java b/java/java-psi-api/src/com/intellij/psi/PsiDisjunctionType.java index d2c4a2ea0651..9753cbd29a41 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiDisjunctionType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiDisjunctionType.java @@ -83,11 +83,11 @@ public class PsiDisjunctionType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { + public String getPresentableText(final boolean annotated) { return StringUtil.join(myTypes, new Function() { @Override public String fun(PsiType psiType) { - return psiType.getPresentableText(); + return psiType.getPresentableText(annotated); } }, " | "); } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiEllipsisType.java b/java/java-psi-api/src/com/intellij/psi/PsiEllipsisType.java index 8269de3ce2da..4b4aa3a6ad01 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiEllipsisType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiEllipsisType.java @@ -43,8 +43,8 @@ public class PsiEllipsisType extends PsiArrayType { @NotNull @Override - public String getPresentableText() { - return getText(getComponentType().getPresentableText(), "...", false, true); + public String getPresentableText(boolean annotated) { + return getText(getComponentType().getPresentableText(), "...", false, annotated); } @NotNull diff --git a/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java b/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java index 0adc5e1c79e9..4968aa676b2d 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiIntersectionType.java @@ -116,11 +116,11 @@ public class PsiIntersectionType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { + public String getPresentableText(final boolean annotated) { return StringUtil.join(myConjuncts, new Function() { @Override public String fun(PsiType psiType) { - return psiType.getPresentableText(); + return psiType.getPresentableText(annotated); } }, " & "); } diff --git a/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java b/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java index 4466c2f51c1c..a91ab231de2d 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java @@ -61,8 +61,8 @@ public class PsiPrimitiveType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { - return getText(false, true); + public String getPresentableText(boolean annotated) { + return getText(false, annotated); } @NotNull diff --git a/java/java-psi-api/src/com/intellij/psi/PsiType.java b/java/java-psi-api/src/com/intellij/psi/PsiType.java index d5c550e76633..69ae291af077 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiType.java @@ -99,6 +99,14 @@ public abstract class PsiType implements PsiAnnotationOwner, Cloneable { * Returns text of the type that can be presented to a user (references normally non-qualified). */ @NotNull + public String getPresentableText(boolean annotated) { + return getPresentableText(); + } + + /** + * Same as {@code getPresentableText(false)}. + */ + @NotNull public abstract String getPresentableText(); /** @@ -336,9 +344,6 @@ public abstract class PsiType implements PsiAnnotationOwner, Cloneable { return "PsiType:" + getPresentableText(); } - /** - * Temporary class to facilitate transition to {@link #getCanonicalText(boolean)}. - */ protected static abstract class Stub extends PsiType { protected Stub(@NotNull PsiAnnotation[] annotations) { super(annotations); @@ -348,6 +353,16 @@ public abstract class PsiType implements PsiAnnotationOwner, Cloneable { super(annotations); } + @NotNull + @Override + public final String getPresentableText() { + return getPresentableText(false); + } + + @NotNull + @Override + public abstract String getPresentableText(boolean annotated); + @NotNull @Override public final String getCanonicalText() { diff --git a/java/java-psi-api/src/com/intellij/psi/PsiWildcardType.java b/java/java-psi-api/src/com/intellij/psi/PsiWildcardType.java index c0155dbe52af..c66acbd6b180 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiWildcardType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiWildcardType.java @@ -83,8 +83,8 @@ public class PsiWildcardType extends PsiType.Stub { @NotNull @Override - public String getPresentableText() { - return getText(false, true, myBound == null ? null : myBound.getPresentableText()); + public String getPresentableText(boolean annotated) { + return getText(false, annotated, myBound == null ? null : myBound.getPresentableText()); } @Override diff --git a/java/java-psi-api/src/com/intellij/psi/util/PsiFormatUtil.java b/java/java-psi-api/src/com/intellij/psi/util/PsiFormatUtil.java index 2a67e3fc09dd..bedc7c99106c 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/PsiFormatUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/PsiFormatUtil.java @@ -395,7 +395,7 @@ public class PsiFormatUtil extends PsiFormatUtilBase { } } if (type == null) return "null"; - return !BitUtil.isSet(options, SHOW_FQ_CLASS_NAMES) ? type.getPresentableText() : + return !BitUtil.isSet(options, SHOW_FQ_CLASS_NAMES) ? type.getPresentableText(false) : !BitUtil.isSet(options, USE_INTERNAL_CANONICAL_TEXT) ? type.getCanonicalText(false) : type.getInternalCanonicalText(); } diff --git a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java index 31e8027ad2e2..48026716b246 100644 --- a/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java +++ b/java/java-psi-api/src/com/intellij/psi/util/TypeConversionUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -29,7 +29,6 @@ import gnu.trove.THashMap; import gnu.trove.THashSet; import gnu.trove.TObjectIntHashMap; import org.jetbrains.annotations.Contract; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -62,7 +61,7 @@ public class TypeConversionUtil { private static final int BOOL_RANK = 10; private static final int STRING_RANK = 100; private static final int MAX_NUMERIC_RANK = DOUBLE_RANK; - public static final PsiType NULL_TYPE = new PsiEllipsisType(PsiType.NULL){ + public static final PsiType NULL_TYPE = new PsiEllipsisType(PsiType.NULL) { @Override public boolean isValid() { return true; @@ -70,8 +69,7 @@ public class TypeConversionUtil { @NotNull @Override - @NonNls - public String getPresentableText() { + public String getPresentableText(boolean annotated) { return "FAKE TYPE"; } }; diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/TypeCorrector.java b/java/java-psi-impl/src/com/intellij/psi/impl/TypeCorrector.java index c6063e0b05bd..952c744e685c 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/TypeCorrector.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/TypeCorrector.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2015 JetBrains s.r.o. + * Copyright 2000-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -153,12 +153,6 @@ class TypeCorrector extends PsiTypeMapper { myResolveResult = resolveResult; } - @NotNull - @Override - public String getCanonicalText(boolean annotated) { - return myDelegate.getCanonicalText(annotated); - } - @NotNull @Override public PsiClass resolve() { @@ -224,8 +218,14 @@ class TypeCorrector extends PsiTypeMapper { @NotNull @Override - public String getPresentableText() { - return myDelegate.getPresentableText(); + public String getPresentableText(boolean annotated) { + return myDelegate.getPresentableText(annotated); + } + + @NotNull + @Override + public String getCanonicalText(boolean annotated) { + return myDelegate.getCanonicalText(annotated); } @NotNull diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java index aa14ab230c2c..3545f6e3213a 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiClassReferenceType.java @@ -185,9 +185,10 @@ public class PsiClassReferenceType extends PsiClassType.Stub { @NotNull @Override - public String getPresentableText() { + public String getPresentableText(boolean annotated) { String presentableText = PsiNameHelper.getPresentableText(myReference); - PsiAnnotation[] annotations = getAnnotations(); + + PsiAnnotation[] annotations = annotated ? getAnnotations() : PsiAnnotation.EMPTY_ARRAY; if (annotations.length == 0) return presentableText; StringBuilder sb = new StringBuilder(); diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImmediateClassType.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImmediateClassType.java index 104c0bc887c4..110a1ab1ec15 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImmediateClassType.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiImmediateClassType.java @@ -151,9 +151,9 @@ public class PsiImmediateClassType extends PsiClassType.Stub { @NotNull @Override - public String getPresentableText() { + public String getPresentableText(boolean annotated) { if (myPresentableText == null) { - myPresentableText = getText(TextType.PRESENTABLE, true); + myPresentableText = getText(TextType.PRESENTABLE, annotated); } return myPresentableText; }