From 9812ab20b41ded30ecaf67334e6b78c0050fc064 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 20 Mar 2014 13:50:19 +0100 Subject: [PATCH] EA-54956 (ignore corrupted annotations) --- .../src/com/intellij/psi/PsiNameHelper.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java b/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java index 9b7252714cd1..747f4f8034c3 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiNameHelper.java @@ -27,7 +27,6 @@ import java.util.Arrays; import java.util.List; import java.util.regex.Pattern; -import static com.intellij.util.ObjectUtils.assertNotNull; import static com.intellij.util.ObjectUtils.notNull; /** @@ -279,17 +278,23 @@ public abstract class PsiNameHelper { } public static boolean appendAnnotations(@NotNull StringBuilder sb, @NotNull List annotations, boolean canonical) { + boolean updated = false; for (PsiAnnotation annotation : annotations) { - sb.append('@'); if (canonical) { - sb.append(annotation.getQualifiedName()); - sb.append(annotation.getParameterList().getText()); + String name = annotation.getQualifiedName(); + if (name != null) { + sb.append('@').append(name).append(annotation.getParameterList().getText()).append(' '); + updated = true; + } } else { - sb.append(assertNotNull(annotation.getNameReferenceElement()).getText()); + PsiJavaCodeReferenceElement refElement = annotation.getNameReferenceElement(); + if (refElement != null) { + sb.append('@').append(refElement.getText()).append(' '); + updated = true; + } } - sb.append(' '); } - return !annotations.isEmpty(); + return updated; } }