我正在使用IField接口的实现。理解'已解决的领域'时遇到问题 - 这是什么意思? 甚至存在一个函数isResolved(),其中:
返回此字段是否表示 已解决的字段。如果是一个领域 已解决,其关键包含已解决 信息。
这是什么意思?解决这个词是否有任何第二个含义,我无法找到,也无法在字典中或网上找到?
答案 0 :(得分:0)
已解决可能意味着'具有已解析的类型',即当已知运行时类型时,具有泛型类型的字段将被解析
某些jdt source code
中的提示ResolvedBinaryMethod : Handle representing a binary method that is resolved.
The uniqueKey contains the genericSignature of the resolved method. Use BindingKey to decode it.
它正在讨论通用签名......似乎'已解决'与泛型类型有关: - )
答案 1 :(得分:0)
'已解决'与绑定有关。引用org.eclipse.jdt.core.dom.IBinding的
的javadoc绑定表示Java语言中的命名实体。从编译器的角度来看,绑定世界提供了程序结构的集成图。
简单来说,“绑定”是指如何唯一地标识命名实体,“关键”是唯一信息。您可以在此tutorial中找到有关绑定的更多信息。
绑定很昂贵,因此并不总是“解析”,例如在通过org.eclipse.jdt.core.dom.ASTParser创建AST时,您可以调用ASTParser #setResolveBindings(boolean)来指定是否需要绑定或不。因此,isResolved()函数指示绑定信息是否可用,如果是,则getKey()返回该唯一键。