我无法在OpaqueJSValue框架中找到JavaScriptCore的定义。有关它的唯一有价值的提示是在Base.h和APICast.h中(在两个文件中都有相同的代码):
typedef const struct OpaqueJSValue* JSValueRef;
typedef struct OpaqueJSValue* JSObjectRef;所以我们知道其他类型是基于它的,但是OpaqueJSValue本身是什么呢?或者至少它是从哪里来的?它的定义在哪里?
试图在调试器中读取OpaqueJSValue的值会导致错误,说明调试器也不知道它是什么:
(lldb) e *variable
error: incomplete type 'const OpaqueJSValue' where a complete type is required
forward declaration of 'OpaqueJSValue'其中变量是JSValueRef类型,因此实际上是const struct OpaqueJSValue*。
我用JavaScriptCore框架、libWTF和webkit克隆了存储库,但没有在这些库中找到任何东西。
资料来源:
我很乐意更新这个问题的标题和正文,以使它更具有描述性和易于找到,但是,由于我真的不知道OpaqueJSValue是什么以及它是如何工作的,所以我无法以更具体的方式询问它。
发布于 2019-02-26 08:02:26
OpaqueJSValue没有定义。实际上,JSValueRef只是一个不透明的指针,在JSValueRef和JSC::JSValue之间有一些转换,如您在"API\APICast.h“中看到的那样。JSC::JSValue是内部数据结构。
https://stackoverflow.com/questions/52875678
复制相似问题