我如何从 psiFile 中获取所有 class(和内部 classes)? (智能插件)
how i can get all class ( and inner classes ) from a psiFile? (intellij plugin)
我是插件开发的新手,我想搜索项目中所有 classes 的引用并检查它们是否扩展了特定的 class 但是 getClasses 没有给我内部 classes :
PsiJavaFile psiJavaFile = (PsiJavaFile) PsiManager.getInstance(project).findFile(virtualFile);
PsiClass[] javaFileClasses = psiJavaFile.getClasses();
for (PsiClass javaFileClass : javaFileClasses) {
PsiReferenceList extendsList = javaFileClass.getExtendsList();
....to something with extendList...
}
如何在 psiJavaFile 中搜索内部 class?
PsiClass
有 getInnerClasses
and getAllInnterClasses
个方法。
我是插件开发的新手,我想搜索项目中所有 classes 的引用并检查它们是否扩展了特定的 class 但是 getClasses 没有给我内部 classes :
PsiJavaFile psiJavaFile = (PsiJavaFile) PsiManager.getInstance(project).findFile(virtualFile);
PsiClass[] javaFileClasses = psiJavaFile.getClasses();
for (PsiClass javaFileClass : javaFileClasses) {
PsiReferenceList extendsList = javaFileClass.getExtendsList();
....to something with extendList...
}
如何在 psiJavaFile 中搜索内部 class?
PsiClass
有 getInnerClasses
and getAllInnterClasses
个方法。