我在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
是什么以及它是如何工作的我无法以更具体的方式询问它。
OpaqueJSValue没有定义。实际上JSValueRef只是一个不透明的指针,JSValueRef和JSC :: JSValue之间有一些转换,你可以在“API \ APICast.h”中看到。 JSC :: JSValue是内部数据结构。