已解决字段/信息 - 这是什么意思?

3
我正在使用IField接口的实现。我对“resolved field”一词的理解存在问题 - 它是什么意思?甚至存在一个isResolved()函数,它的作用是:

返回此字段是否表示已解决的字段。如果字段已解析,则其键包含解析信息。

这是什么意思?有没有第二个意义的“resolved”一词,我在字典和在线上都找不到?

2个回答

0
“已解决”与绑定相关。引用自org.eclipse.jdt.core.dom.IBinding的javadoc:
“绑定”代表Java语言中的命名实体。绑定世界提供了从编译器角度看程序结构的集成图像。
简单来说,“绑定”是您如何唯一标识命名实体的方式,“键”就是这个唯一信息。您可以在此tutorial中找到有关绑定的更多信息。
绑定很昂贵,因此它们并不总是“已解决”。例如,在通过org.eclipse.jdt.core.dom.ASTParser创建AST时,您可以调用ASTParser#setResolveBindings(boolean)来指定是否需要绑定。因此,isResolved()函数指示绑定信息是否可用,如果可用,则getKey()返回该唯一键。

0

Resolved 可能意味着“具有已解析的类型”,即当运行时类型已知时,具有通用类型的字段将被解析

在某些 JDT 源代码 中提供了一些提示

ResolvedBinaryMethod : Handle representing a binary method that is resolved.
The uniqueKey contains the genericSignature of the resolved method. Use BindingKey to decode it.

这是关于通用签名的讨论...似乎“resolved”与泛型类型有关 :-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接