From 5764587331fc8f893ad42f7b5ec73307684f9554 Mon Sep 17 00:00:00 2001 From: "peter.gromov" Date: Thu, 11 Nov 2010 17:23:08 +0300 Subject: [PATCH] @Nullable proximity context (EA-23391) --- .../lang-api/src/com/intellij/psi/util/ProximityLocation.java | 2 +- .../com/intellij/ide/util/gotoByName/ChooseByNameBase.java | 2 +- .../intellij/psi/util/proximity/PsiProximityComparator.java | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/platform/lang-api/src/com/intellij/psi/util/ProximityLocation.java b/platform/lang-api/src/com/intellij/psi/util/ProximityLocation.java index 84542c91eeb2..f1554c54e86c 100644 --- a/platform/lang-api/src/com/intellij/psi/util/ProximityLocation.java +++ b/platform/lang-api/src/com/intellij/psi/util/ProximityLocation.java @@ -32,7 +32,7 @@ public class ProximityLocation implements UserDataHolder { private final Module myPositionModule; private final ProcessingContext myContext; - public ProximityLocation(final PsiElement position, final Module positionModule) { + public ProximityLocation(@Nullable final PsiElement position, final Module positionModule) { this(position, positionModule, new ProcessingContext()); } diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 56a061a95da7..83567e55db03 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -1375,7 +1375,7 @@ public abstract class ChooseByNameBase { private final ChooseByNameModel myModel; private final PsiProximityComparator myProximityComparator; - private PathProximityComparator(final ChooseByNameModel model, final PsiElement context) { + private PathProximityComparator(final ChooseByNameModel model, @Nullable final PsiElement context) { myModel = model; myProximityComparator = new PsiProximityComparator(context); } diff --git a/platform/lang-impl/src/com/intellij/psi/util/proximity/PsiProximityComparator.java b/platform/lang-impl/src/com/intellij/psi/util/proximity/PsiProximityComparator.java index a2ed62943ac5..0a35c4d8ea58 100644 --- a/platform/lang-impl/src/com/intellij/psi/util/proximity/PsiProximityComparator.java +++ b/platform/lang-impl/src/com/intellij/psi/util/proximity/PsiProximityComparator.java @@ -49,7 +49,7 @@ public class PsiProximityComparator implements Comparator { }; private static final Key MODULE_BY_LOCATION = Key.create("ModuleByLocation"); - public PsiProximityComparator(PsiElement context) { + public PsiProximityComparator(@Nullable PsiElement context) { myContext = context; } @@ -68,6 +68,8 @@ public class PsiProximityComparator implements Comparator { return - proximity1.compareTo(proximity2); } + if (myContext == null) return 0; + Module contextModule = ModuleUtil.findModuleForPsiElement(myContext); if (contextModule == null) return 0;