`JavaScriptCore`中的'OpaqueJSValue`来自哪里?

问题描述 投票:1回答:1

我在OpaqueJSValue框架中找不到JavaScriptCore的定义。关于它的唯一有价值的提示是在Base.hAPICast.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是什么以及它是如何工作的我无法以更具体的方式询问它。

ios c webkit javascriptcore
1个回答
0
投票

OpaqueJSValue没有定义。实际上JSValueRef只是一个不透明的指针,JSValueRef和JSC :: JSValue之间有一些转换,你可以在“API \ APICast.h”中看到。 JSC :: JSValue是内部数据结构。

© www.soinside.com 2019 - 2024. All rights reserved.