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