Java 从ITypeBinding获取合成方法
我在玩Java 从ITypeBinding获取合成方法,java,generics,eclipse-jdt,synthetic,Java,Generics,Eclipse Jdt,Synthetic,我在玩ASTParser和Java项目中的K_编译单元生成的AST中的ASTNode上调用resolveBinding()时得到的ITypeBinding 例如,我已解析了java.lang.String的ITypeBinding,但缺少合成方法(compareTo(Object))。ITypeBinding的文档指出,合成方法可能存在,也可能不存在,但isSynthetic方法表明,应该有某种方式说服ITypeBinding也包括合成方法 如果我通过调用ITypeBinding.getJava
ASTParser
和Java项目中的K_编译单元生成的AST中的ASTNode
上调用resolveBinding()
时得到的ITypeBinding
例如,我已解析了java.lang.String
的ITypeBinding,但缺少合成方法(compareTo(Object)
)。ITypeBinding的文档指出,合成方法可能存在,也可能不存在,但isSynthetic方法表明,应该有某种方式说服ITypeBinding也包括合成方法
如果我通过调用ITypeBinding.getJavaElement()
得到一个IType
,它包含了我正在寻找的合成方法,但是如果我可以直接从ITypeBinding中得到它们,那就更容易了
有什么想法吗?我通过查看显式跳过合成方法的实现找到了答案-首先是在从编译器AST恢复方法时跳过合成方法,然后总是从isSynthetic方法的实现中返回false-对于Eclipse 3.7就是这样