有没有一种好方法可以访问 IType 的导入声明,而无需手动搜索源代码,可以使用 getSource()
获取 String
?
示例: 如果 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 的介绍,请参阅教程幻灯片 "How To Train the JDT Dragon" (幻灯片 31ff)。
乍一看,手头的任务获取完整的 AST 可能显得有些过分,但至少它可以正确处理(跳过)导入之前/之间可能出现的所有注释。
关于java - 访问 IType 的导入声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41828301/