Inline action works from Structure view

This commit is contained in:
Kirill.Safonov
2011-02-21 18:24:15 +03:00
parent b0e362055c
commit d73f75678c
2 changed files with 8 additions and 4 deletions
@@ -38,6 +38,7 @@ import com.intellij.usageView.UsageInfo;
import com.intellij.util.containers.HashMap;
import com.intellij.util.containers.HashSet;
import com.intellij.util.containers.MultiMap;
import org.jetbrains.annotations.Nullable;
import java.util.*;
@@ -47,8 +48,8 @@ import java.util.*;
@SuppressWarnings({"UtilityClassWithoutPrivateConstructor"})
public class GenericInlineHandler {
public static boolean invoke(final PsiElement element, final Editor editor, final InlineHandler languageSpecific) {
final PsiReference invocationReference = TargetElementUtilBase.findReference(editor);
public static boolean invoke(final PsiElement element, @Nullable Editor editor, final InlineHandler languageSpecific) {
final PsiReference invocationReference = editor != null ? TargetElementUtilBase.findReference(editor) : null;
final InlineHandler.Settings settings = languageSpecific.prepareInlineElement(element, editor, invocationReference != null);
if (settings == null || settings == InlineHandler.Settings.CANNOT_INLINE_SETTINGS) {
return settings != null;
@@ -65,7 +66,7 @@ public class GenericInlineHandler {
public void run() {
usagesRef.set(ReferencesSearch.search(element).findAll());
}
}, "Find Usages", false, editor.getProject());
}, "Find Usages", false, element.getProject());
allReferences = usagesRef.get();
}
@@ -38,6 +38,7 @@ import com.intellij.refactoring.RefactoringActionHandler;
import com.intellij.refactoring.RefactoringBundle;
import com.intellij.refactoring.util.CommonRefactoringUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
@@ -57,6 +58,8 @@ public class InlineRefactoringActionHandler implements RefactoringActionHandler
return;
}
}
invokeInliner(editor, elements[0]);
}
public void invoke(@NotNull final Project project, Editor editor, PsiFile file, DataContext dataContext) {
@@ -78,7 +81,7 @@ public class InlineRefactoringActionHandler implements RefactoringActionHandler
}
}
public static boolean invokeInliner(Editor editor, PsiElement element) {
public static boolean invokeInliner(@Nullable Editor editor, PsiElement element) {
final List<InlineHandler> handlers = InlineHandlers.getInlineHandlers(element.getLanguage());
for (InlineHandler handler : handlers) {
if (GenericInlineHandler.invoke(element, editor, handler)) {