[java] restores navigation policy extension compatibility (IDEABKL-7869)

This commit is contained in:
Roman Shevchenko
2018-06-25 20:01:20 +03:00
parent 2c2f8b97c9
commit cd1ecea131
2 changed files with 4 additions and 1 deletions
@@ -6,6 +6,7 @@ import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
/** @deprecated use {@link ClsCustomNavigationPolicy} directly */
@SuppressWarnings("DeprecatedIsStillUsed")
@ApiStatus.ScheduledForRemoval(inVersion = "2019")
public abstract class ClsCustomNavigationPolicyEx implements ClsCustomNavigationPolicy {
@SuppressWarnings("unused")
@@ -310,7 +310,9 @@ public class ClsFileImpl extends PsiBinaryFileImpl
public PsiElement getNavigationElement() {
for (ClsCustomNavigationPolicy navigationPolicy : Extensions.getExtensions(ClsCustomNavigationPolicy.EP_NAME)) {
try {
PsiElement navigationElement = navigationPolicy.getNavigationElement(this);
@SuppressWarnings("deprecation") PsiElement navigationElement =
navigationPolicy instanceof ClsCustomNavigationPolicyEx ? ((ClsCustomNavigationPolicyEx)navigationPolicy).getFileNavigationElement(this) :
navigationPolicy.getNavigationElement(this);
if (navigationElement != null) return navigationElement;
}
catch (IndexNotReadyException ignore) { }