From 7bbf2d5ca8119afdff741395ee405357ddee268f Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 20 Sep 2011 11:29:49 +0200 Subject: [PATCH] refactoring to retrieve editor --- .../navigation/actions/GotoBreakContinueHandler.java | 3 ++- .../navigation/actions/GotoDeclarationAction.java | 2 +- .../navigation/actions/GotoDeclarationHandler.java | 4 +++- .../navigation/actions/GotoDeclarationHandlerBase.java | 7 ++++--- .../jetbrains/android/AndroidGotoDeclarationHandler.java | 3 ++- .../i18n/folding/I18nMessageGotoDeclarationHandler.java | 4 +--- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/navigation/actions/GotoBreakContinueHandler.java b/java/java-impl/src/com/intellij/codeInsight/navigation/actions/GotoBreakContinueHandler.java index 9dc5b4f89f7e..309fdb75ff5e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/navigation/actions/GotoBreakContinueHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/navigation/actions/GotoBreakContinueHandler.java @@ -15,6 +15,7 @@ */ package com.intellij.codeInsight.navigation.actions; +import com.intellij.openapi.editor.Editor; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.openapi.diagnostic.Logger; @@ -27,7 +28,7 @@ public class GotoBreakContinueHandler extends GotoDeclarationHandlerBase { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.navigation.actions.GotoBreakContinueHandler"); @Nullable - public PsiElement getGotoDeclarationTarget(final PsiElement elementAt) { + public PsiElement getGotoDeclarationTarget(final PsiElement elementAt, Editor editor) { if (elementAt instanceof PsiKeyword) { IElementType type = ((PsiKeyword)elementAt).getTokenType(); if (type == JavaTokenType.CONTINUE_KEYWORD) { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java index 723bcff29123..98b3068238d1 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationAction.java @@ -190,7 +190,7 @@ public class GotoDeclarationAction extends BaseCodeInsightAction implements Code for (GotoDeclarationHandler handler : Extensions.getExtensions(GotoDeclarationHandler.EP_NAME)) { try { - PsiElement[] result = handler.getGotoDeclarationTargets(elementAt); + PsiElement[] result = handler.getGotoDeclarationTargets(elementAt, editor); if (result != null && result.length > 0) { return result; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandler.java index 109ce1db4cb0..ec92dfa63d0e 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandler.java @@ -16,6 +16,7 @@ package com.intellij.codeInsight.navigation.actions; +import com.intellij.openapi.editor.Editor; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.Nullable; @@ -30,8 +31,9 @@ public interface GotoDeclarationHandler { * Provides an array of target declarations for given {@code sourceElement}. * * @param sourceElement input psiElement + * @param editor * @return all target declarations as an array of {@code PsiElement} or null if none was found */ @Nullable - PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement); + PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement, Editor editor); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandlerBase.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandlerBase.java index 9459af1f0810..6ac5472ae0f9 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandlerBase.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/actions/GotoDeclarationHandlerBase.java @@ -15,6 +15,7 @@ */ package com.intellij.codeInsight.navigation.actions; +import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiElement; import org.jetbrains.annotations.Nullable; @@ -24,11 +25,11 @@ import org.jetbrains.annotations.Nullable; public abstract class GotoDeclarationHandlerBase implements GotoDeclarationHandler { @Nullable @Override - public PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement) { - final PsiElement target = getGotoDeclarationTarget(sourceElement); + public PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement, Editor editor) { + final PsiElement target = getGotoDeclarationTarget(sourceElement, editor); return target != null ? new PsiElement[] {target} : null; } @Nullable - public abstract PsiElement getGotoDeclarationTarget(PsiElement sourceElement); + public abstract PsiElement getGotoDeclarationTarget(PsiElement sourceElement, Editor editor); } diff --git a/plugins/android/src/org/jetbrains/android/AndroidGotoDeclarationHandler.java b/plugins/android/src/org/jetbrains/android/AndroidGotoDeclarationHandler.java index d7c980d2566f..c4135dbbe143 100644 --- a/plugins/android/src/org/jetbrains/android/AndroidGotoDeclarationHandler.java +++ b/plugins/android/src/org/jetbrains/android/AndroidGotoDeclarationHandler.java @@ -16,6 +16,7 @@ package org.jetbrains.android; import com.intellij.codeInsight.navigation.actions.GotoDeclarationHandler; +import com.intellij.openapi.editor.Editor; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.android.facet.AndroidFacet; @@ -26,7 +27,7 @@ import org.jetbrains.android.util.AndroidResourceUtil; */ public class AndroidGotoDeclarationHandler implements GotoDeclarationHandler { @Override - public PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement) { + public PsiElement[] getGotoDeclarationTargets(PsiElement sourceElement, Editor editor) { if (!(sourceElement instanceof PsiIdentifier)) { return null; } diff --git a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/folding/I18nMessageGotoDeclarationHandler.java b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/folding/I18nMessageGotoDeclarationHandler.java index b49348bc6d17..f959676daadf 100644 --- a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/folding/I18nMessageGotoDeclarationHandler.java +++ b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/folding/I18nMessageGotoDeclarationHandler.java @@ -33,7 +33,7 @@ import org.jetbrains.annotations.Nullable; public class I18nMessageGotoDeclarationHandler extends GotoDeclarationHandlerBase { private static final Key KEY = CompositeFoldingBuilder.FOLDING_BUILDER; - public PsiElement getGotoDeclarationTarget(PsiElement element) { + public PsiElement getGotoDeclarationTarget(PsiElement element, Editor editor) { if (!(element instanceof PsiJavaToken)) return null; int i = 4; //some street magic @@ -56,8 +56,6 @@ public class I18nMessageGotoDeclarationHandler extends GotoDeclarationHandlerBas //case: MyBundle.message("literalAnnotatedWithPropertyKey", param1, param2) if (element instanceof PsiMethodCallExpression) { final PsiMethodCallExpression methodCall = (PsiMethodCallExpression)element; - final Editor editor = FileEditorManager.getInstance(element.getProject()).getSelectedTextEditor(); - if (editor == null) return null; FoldRegion foldRegion = null; for (FoldRegion region : editor.getFoldingModel().getAllFoldRegions()) { final PsiElement psiElement = EditorFoldingInfo.get(editor).getPsiElement(region);