summaryrefslogtreecommitdiff
path: root/java/java-psi-api/src/com/intellij/psi/PsiPrimitiveType.java
diff options
context:
space:
mode:
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.java20
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();
}
/**