我想开发一个intellij插件我有两个类
public class A { public void sum() {}} public class B extends a{ }
我的问题是如何在不包含类a用法的情况下搜索类b中sum方法的引用(用法)我使用的是referencesearch#search,但它获取了类a中的方法用法
xpszyzbs1#
如果只需要在单个类中搜索用法,可以传递包含该类的作用域( new LocalSearchScope(psiClass) )至 ReferencesSearch.search() .如果需要搜索除类a以外的所有用法,可以检查 ReferencesSearch.search() 包含在 A ,使用 PsiTreeUtil.isAncestor() .
new LocalSearchScope(psiClass)
ReferencesSearch.search()
A
PsiTreeUtil.isAncestor()
1条答案
按热度按时间xpszyzbs1#
如果只需要在单个类中搜索用法,可以传递包含该类的作用域(
new LocalSearchScope(psiClass)
)至ReferencesSearch.search()
.如果需要搜索除类a以外的所有用法,可以检查
ReferencesSearch.search()
包含在A
,使用PsiTreeUtil.isAncestor()
.