Java 访问IType的导入声明
使用Java 访问IType的导入声明,java,eclipse,eclipse-jdt,Java,Eclipse,Eclipse Jdt,使用getSource(),是否有一种很好的方法可以访问IType的导入声明,而无需手动搜索可以作为字符串获得的源代码 示例: 如果IType是源文件中的这个Java类: import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; public class MyClass { // some content } 我想检索[java.util.Arrays,java.util.Hash
getSource()
,是否有一种很好的方法可以访问IType的导入声明,而无需手动搜索可以作为字符串
获得的源代码
示例:
如果IType是源文件中的这个Java类:
import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
public class MyClass {
// some content
}
我想检索
[java.util.Arrays,java.util.HashSet,java.util.LinkedList]
。导入的类型是以字符串、IType还是其他形式检索对我来说并不重要。在JDT的各种模型中,Java模型(其中IType
是其中的一部分)是最轻量级的。因此,它没有你正在寻找的信息。只有AST具有此信息,可作为CompilationUnit.imports()
获得。
有关JDT AST的介绍,请参见教程幻灯片(幻灯片31ff)
乍一看手头的任务,获取完整的AST似乎有些过分,但至少它正确地处理(跳过)了导入之前/导入之间可能出现的所有注释。Java模型如此轻量级的优点是什么?Java模型比Java AST快吗?是的,Java模型设计用于快速处理工作区的整个内容。相比之下,AST通常一次用于一种类型。