mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Java: Don't show annotations and return type in extract method preview tree (IDEA-189278)
This commit is contained in:
@@ -4,10 +4,7 @@ package com.intellij.refactoring.extractMethod.preview;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFileFactory;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.usages.ChunkExtractor;
|
||||
import com.intellij.usages.TextChunk;
|
||||
@@ -34,15 +31,19 @@ class MethodNode extends FragmentNode {
|
||||
protected TextChunk[] createTextChunks(@NotNull PsiElement element) {
|
||||
assert element instanceof PsiMethod;
|
||||
Project project = element.getProject();
|
||||
|
||||
// EditorHighlighter requires VirtualFile, let's make sure it exists. Also, file.getText() is much cheaper with this.
|
||||
PsiJavaFile file = (PsiJavaFile)PsiFileFactory.getInstance(project).createFileFromText(
|
||||
"A.java", JavaLanguage.INSTANCE, "class A{" + element.getText() + "}");
|
||||
PsiMethod psiMethod = file.getClasses()[0].getMethods()[0];
|
||||
|
||||
UsageInfo2UsageAdapter usageAdapter = new UsageInfo2UsageAdapter(new UsageInfo(psiMethod));
|
||||
TextRange range = psiMethod.getTextRange();
|
||||
PsiIdentifier identifier = psiMethod.getNameIdentifier();
|
||||
int startOffset = identifier != null ? identifier.getTextRange().getStartOffset() : range.getStartOffset();
|
||||
int endOffset = Math.min(psiMethod.getParameterList().getTextRange().getEndOffset(), range.getEndOffset());
|
||||
return ChunkExtractor.getExtractor(file)
|
||||
.createTextChunks(usageAdapter, file.getText(), range.getStartOffset(), endOffset, false, new ArrayList<>());
|
||||
.createTextChunks(usageAdapter, file.getText(), startOffset, endOffset, false, new ArrayList<>());
|
||||
}
|
||||
|
||||
public Icon getIcon() {
|
||||
|
||||
Reference in New Issue
Block a user