From b9f2f7b03ddf88b4d35c2dc09ec79c473d8caa59 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 25 Jun 2012 16:12:58 +0400 Subject: [PATCH] Possible annotations XML files are gathered along all order entries for library file (for simplicity). --- .../ExternalAnnotationsManagerImpl.java | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 6fe68c1949a6..118042b7cf32 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -644,12 +644,13 @@ public class ExternalAnnotationsManagerImpl extends ExternalAnnotationsManager { if (virtualFile == null) { return null; } + + List possibleAnnotationsXmls = new ArrayList(); final List entries = ProjectRootManager.getInstance(project).getFileIndex().getOrderEntriesForFile(virtualFile); for (OrderEntry entry : entries) { if (entry instanceof ModuleOrderEntry) { continue; } - List possibleAnnotationsXmls = null; final String[] externalUrls = AnnotationOrderRootType.getUrls(entry); for (String url : externalUrls) { VirtualFile root = VirtualFileManager.getInstance().findFileByUrl(url); @@ -658,15 +659,12 @@ public class ExternalAnnotationsManagerImpl extends ExternalAnnotationsManager { if (ext == null) continue; final PsiFile psiFile = myPsiManager.findFile(ext); if (!(psiFile instanceof XmlFile)) continue; - if (possibleAnnotationsXmls == null) { - possibleAnnotationsXmls = new ArrayList(); - } possibleAnnotationsXmls.add((XmlFile)psiFile); } - if (possibleAnnotationsXmls != null) { - myExternalAnnotations.put(fqn, possibleAnnotationsXmls); - return possibleAnnotationsXmls; - } + } + if (!possibleAnnotationsXmls.isEmpty()) { + myExternalAnnotations.put(fqn, possibleAnnotationsXmls); + return possibleAnnotationsXmls; } myExternalAnnotations.put(fqn, NULL); return null;