访问 IType 的导入声明

Access import declarations of IType

有没有一种访问 IType 的导入声明的好方法,无需手动搜索源代码就可以获得 StringgetSource()

示例: 如果源文件中的 IType 是 Java class:

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]。导入的类型是作为 Strings 还是 ITypes 或其他东西被检索对我来说并不重要。

JDT的各种型号中,Java型号(其中IType是一部分)是最light-weight的型号.因此,它没有您正在寻找的信息。只有 AST 有此信息,可用 CompilationUnit.imports()。 有关 JDT 的 AST 的介绍,请参见教程幻灯片 "How To Train the JDT Dragon"(幻灯片 31ff)。

对于手头的任务,获取完整的 AST 乍一看似乎有些矫枉过正,但至少它可以正确处理(跳过)导入之前/之间可能出现的所有注释。