diff options
Diffstat (limited to 'JavaScriptCore/API/APICast.h')
-rw-r--r-- | JavaScriptCore/API/APICast.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/JavaScriptCore/API/APICast.h b/JavaScriptCore/API/APICast.h index ecd524c..1344a16 100644 --- a/JavaScriptCore/API/APICast.h +++ b/JavaScriptCore/API/APICast.h @@ -26,8 +26,15 @@ #ifndef APICast_h #define APICast_h -#include "ustring.h" -#include "ExecState.h" +#include "JSValue.h" + +namespace JSC { + class ExecState; + class PropertyNameArray; + class JSGlobalData; + class JSObject; + class JSValuePtr; +} typedef const struct OpaqueJSContextGroup* JSContextGroupRef; typedef const struct OpaqueJSContext* JSContextRef; @@ -48,9 +55,9 @@ inline JSC::ExecState* toJS(JSGlobalContextRef c) return reinterpret_cast<JSC::ExecState*>(c); } -inline JSC::JSValue* toJS(JSValueRef v) +inline JSC::JSValuePtr toJS(JSValueRef v) { - return reinterpret_cast<JSC::JSValue*>(const_cast<OpaqueJSValue*>(v)); + return JSC::JSValuePtr::decode(reinterpret_cast<JSC::JSValueEncodedAsPointer*>(const_cast<OpaqueJSValue*>(v))); } inline JSC::JSObject* toJS(JSObjectRef o) @@ -68,14 +75,14 @@ inline JSC::JSGlobalData* toJS(JSContextGroupRef g) return reinterpret_cast<JSC::JSGlobalData*>(const_cast<OpaqueJSContextGroup*>(g)); } -inline JSValueRef toRef(JSC::JSValue* v) +inline JSValueRef toRef(JSC::JSValuePtr v) { - return reinterpret_cast<JSValueRef>(v); + return reinterpret_cast<JSValueRef>(JSC::JSValuePtr::encode(v)); } -inline JSValueRef* toRef(JSC::JSValue** v) +inline JSValueRef* toRef(JSC::JSValuePtr* v) { - return reinterpret_cast<JSValueRef*>(const_cast<const JSC::JSValue**>(v)); + return reinterpret_cast<JSValueRef*>(v); } inline JSObjectRef toRef(JSC::JSObject* o) |