访问IType的导入声明

时间:2017-01-24 12:30:45

标签: java eclipse eclipse-jdt

是否有一种很好的方法可以访问IType的导入声明,而无需手动搜索源代码,可以String getSource()获取?{/ p>

示例: 如果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或其他类型检索对我来说并不重要。

1 个答案:

答案 0 :(得分:1)

在JDT的各种模型中, Java模型(其中IType是其中一部分)是最轻量级的模型。因此,它没有您正在寻找的信息。只有 AST 才有此信息,可以CompilationUnit.imports()获取。 有关JDT AST的介绍,请参阅教程幻灯片"How To Train the JDT Dragon"(幻灯片31ff)。

乍看之下手头的任务可能看起来有点过分,但至少它可以正确处理(跳过)导入之前/之间可能出现的所有评论。