summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/API/APICast.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/API/APICast.h')
-rw-r--r--JavaScriptCore/API/APICast.h23
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)