java - 如何使用 JDT Java 搜索引擎查找匿名类或本地类型?

标签 java eclipse search-engine eclipse-jdt

我想以编程方式从 JDT Java 搜索引擎获取匿名类或本地声明类型(即 IType 的实例)的模型,通过完全限定名称来识别。到目前为止,在搜索未嵌套在其他类型中的“常用”类型时,我在以下方面做得很好:

SearchPattern pattern = SearchPattern.createPattern(this.fullyQualifiedName, IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH);
IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
SearchRequestor requestor = new TypeSearchRequestor(this);
SearchEngine searchEngine = new SearchEngine();
searchEngine.search(pattern, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, scope, requestor, null);

为什么它会破坏匿名类和本地声明的类型,以及如何修复它?我怀疑,我必须更改 SearchPattern,但在 JavaDoc 中没有发现任何结论。

非常感谢任何建议。

问候, 克里斯

最佳答案

对于匿名类或内部类,this.completeQualifiedName 包含什么内容? 在构建类的完全限定名称时,尝试使用“$”作为范围分隔符,如下所示:

a.b.c.Outer$Inner
a.b.c.Outer$1 // anonymous

关于java - 如何使用 JDT Java 搜索引擎查找匿名类或本地类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874459/

相关文章:

java - 使用凭据缓存的 Kerberos 身份验证通过 Eclipse 工作,但不能通过命令行工作

c# - 如何从搜索引擎获取使用的关键字

java - 语句 executeBatch 方法返回值为 2 的数组

java - Google map 未找到类 "com.google.android.gms.dynamic.zza"

java - 为什么我的搜索算法不适用于 Project Euler 31?

codeigniter 防止系统文件夹和文件夹被索引

搜索后不显示数据库中的php数据

java - 获取枚举 .values()[] 或创建枚举数组?

java - TextDatasetFactory 有问题

java - Eclipse插件: add jar to classpath when adding custom nature to a project