如何检查字段是否实现了接口?

时间:2017-03-05 16:33:53

标签: eclipse-jdt lombok

如果我有一个org.eclipse.jdt.internal.compiler.ast.FieldDeclaration,我如何检查该字段的类型是否实现了一个接口,让我们说Serializable?我没有看到org.eclipse.jdt.internal的任何文档。

我找到extract interface that a class implementing using AST parser,但那个人谈到了org.eclipse.jdt.core.dom.FieldDeclaration

1 个答案:

答案 0 :(得分:2)

编辑:起初,我没有查看该软件包,并认为您在询问org.eclipse.jdt.core.dom.FieldDeclaration。答案是有益的。

如果您需要使用内部类,我们希望您确切知道您正在做什么。不会有任何文档(但概念上,公共API所示的方法也可以类似地用于内部AST和绑定)。

类型兼容性最好使用相应的绑定进行测试,因此您的任务将包含以下步骤:

  1. FieldDeclaration使用resolveBinding()
  2. 获取绑定
  3. 从字段绑定中检索类型绑定
  4. 获得表示预期超级类型Serializable
  5. 的绑定
  6. 询问实际字段类型isSubTypeCompatible(serializableType)
  7. 您可以在recent discussion in the JDT forum中找到更多详细信息 - 特别是(3) -