java - 访问 IType 的导入声明

标签 java eclipse eclipse-jdt

有没有一种好方法可以访问 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/

相关文章:

java - XStream不支持自定义转换器交叉委托(delegate)?

java - 在eclipse中导入javax

eclipse - 在 Eclipse 中禁用存储库的 Gerrit

eclipse - 有没有办法让 Eclipse (JDT) 中的内容辅助在我输入 "new"后自动显示?

java - 是否有扩展/重写私有(private)类/方法的替代方案?

Java 返回一个循环

java - 如何找到我的计算机上正在运行的 Java 虚拟机?

java - Eclipse Subversive 新文件自动添加到版本控制中

java - Java 代码生成器的更好方法?

java - 确定传递给 Java 方法的所有字符串(动态构建和文字)