mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-10 13:17:09 +07:00
use java structure view for groovy
This commit is contained in:
+3
-3
@@ -19,15 +19,15 @@ import com.intellij.ide.structureView.StructureViewTreeElement;
|
||||
import com.intellij.ide.structureView.impl.common.PsiTreeElementBase;
|
||||
import com.intellij.navigation.ItemPresentation;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.PsiClassOwner;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class JavaFileTreeElement extends PsiTreeElementBase<PsiJavaFile> implements ItemPresentation {
|
||||
public JavaFileTreeElement(PsiJavaFile file) {
|
||||
public class JavaFileTreeElement extends PsiTreeElementBase<PsiClassOwner> implements ItemPresentation {
|
||||
public JavaFileTreeElement(PsiClassOwner file) {
|
||||
super(file);
|
||||
}
|
||||
|
||||
|
||||
+10
-12
@@ -33,10 +33,10 @@ import java.util.Collection;
|
||||
public class JavaFileTreeModel extends TextEditorBasedStructureViewModel implements StructureViewModel.ElementInfoProvider, PlaceHolder<String> {
|
||||
private static final Collection<NodeProvider> NODE_PROVIDERS = Arrays.<NodeProvider>asList(new JavaInheritedMembersNodeProvider(),
|
||||
new JavaAnonymousClassesNodeProvider());
|
||||
private final PsiJavaFile myFile;
|
||||
private final PsiClassOwner myFile;
|
||||
private String myPlace;
|
||||
|
||||
public JavaFileTreeModel(@NotNull PsiJavaFile file) {
|
||||
public JavaFileTreeModel(@NotNull PsiClassOwner file) {
|
||||
super(file);
|
||||
myFile = file;
|
||||
}
|
||||
@@ -94,19 +94,17 @@ public class JavaFileTreeModel extends TextEditorBasedStructureViewModel impleme
|
||||
if (super.isSuitable(element)) {
|
||||
if (element instanceof PsiMethod) {
|
||||
PsiMethod method = (PsiMethod)element;
|
||||
PsiElement parent = method.getParent();
|
||||
if (parent instanceof PsiClass) {
|
||||
return ((PsiClass)parent).getQualifiedName() != null;
|
||||
}
|
||||
PsiClass parent = method.getContainingClass();
|
||||
return parent != null && parent.getQualifiedName() != null;
|
||||
}
|
||||
else if (element instanceof PsiField) {
|
||||
|
||||
if (element instanceof PsiField) {
|
||||
PsiField field = (PsiField)element;
|
||||
PsiElement parent = field.getParent();
|
||||
if (parent instanceof PsiClass) {
|
||||
return ((PsiClass)parent).getQualifiedName() != null;
|
||||
}
|
||||
PsiClass parent = field.getContainingClass();
|
||||
return parent != null && parent.getQualifiedName() != null;
|
||||
}
|
||||
else if (element instanceof PsiClass) {
|
||||
|
||||
if (element instanceof PsiClass) {
|
||||
return ((PsiClass)element).getQualifiedName() != null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user