diff options
Diffstat (limited to 'java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java')
-rw-r--r-- | java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java | 20 |
1 files changed, 15 insertions, 5 deletions
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 dd6b0d4d6ef9..cad6cfda7234 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java @@ -30,7 +30,7 @@ import java.util.Map; /** * Represents primitive types of Java language. */ -public class PsiPrimitiveType extends PsiType { +public class PsiPrimitiveType extends PsiType.Stub { private static final Map<String, PsiPrimitiveType> ourQNameToUnboxed = new THashMap<String, PsiPrimitiveType>(); private static final Map<PsiPrimitiveType, String> ourUnboxedToQName = new THashMap<PsiPrimitiveType, String>(); @@ -52,19 +52,29 @@ public class PsiPrimitiveType extends PsiType { @NotNull @Override public String getPresentableText() { - return getAnnotationsTextPrefix(false, false, true) + myName; + return getText(false, true); } @NotNull @Override - public String getCanonicalText() { - return myName; + public String getCanonicalText(boolean annotated) { + return getText(true, annotated); } @NotNull @Override public String getInternalCanonicalText() { - return getAnnotationsTextPrefix(true, false, true) + myName; + return getText(true, true); + } + + private String getText(boolean qualified, boolean annotated) { + PsiAnnotation[] annotations = getAnnotations(); + if (!annotated || annotations.length == 0) return myName; + + StringBuilder sb = new StringBuilder(); + PsiNameHelper.appendAnnotations(sb, annotations, qualified); + sb.append(myName); + return sb.toString(); } /** |