Simplify SmaliFindUsagesProvider by extending JavaFindUsagesProvider

The Java version does exactly what we want in most cases
This commit is contained in:
Ben Gruver 2015-03-11 21:50:13 -07:00
parent b945b043ab
commit 809b934012

View File

@ -31,16 +31,14 @@
package org.jf.smalidea.findUsages; package org.jf.smalidea.findUsages;
import com.intellij.find.impl.HelpID;
import com.intellij.lang.LangBundle;
import com.intellij.lang.cacheBuilder.WordsScanner; import com.intellij.lang.cacheBuilder.WordsScanner;
import com.intellij.lang.findUsages.FindUsagesProvider; import com.intellij.lang.java.JavaFindUsagesProvider;
import com.intellij.psi.PsiClass; import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
public class SmaliFindUsagesProvider implements FindUsagesProvider { public class SmaliFindUsagesProvider extends JavaFindUsagesProvider {
@Override public boolean canFindUsagesFor(@NotNull PsiElement element) { @Override public boolean canFindUsagesFor(@NotNull PsiElement element) {
return element instanceof PsiClass; return element instanceof PsiClass;
} }
@ -49,33 +47,5 @@ public class SmaliFindUsagesProvider implements FindUsagesProvider {
return new SmaliWordScanner(); return new SmaliWordScanner();
} }
@Nullable @Override public String getHelpId(@NotNull PsiElement element) {
return HelpID.FIND_CLASS_USAGES;
}
@NotNull @Override public String getType(@NotNull PsiElement element) {
return LangBundle.message("java.terms.class");
}
@NotNull @Override public String getDescriptiveName(@NotNull PsiElement element) {
PsiClass psiClass = (PsiClass)element;
String qualifiedName = psiClass.getQualifiedName();
if (qualifiedName != null) {
return qualifiedName;
}
return psiClass.getName();
}
@NotNull @Override public String getNodeText(@NotNull PsiElement element, boolean onlyQualifiedNames) {
PsiClass psiClass = (PsiClass)element;
String qualifiedName = psiClass.getQualifiedName();
if (qualifiedName != null) {
return qualifiedName;
} else if (onlyQualifiedNames) {
return "";
}
return psiClass.getName();
}
} }