|
@@ -0,0 +1,328 @@
|
|
|
+From f08d7a63a92a3ba89d97bdfcc206e1e1c4804c0f Mon Sep 17 00:00:00 2001
|
|
|
+From: Patrick Schneider <patrick.schneider@meetnow.eu>
|
|
|
+Date: Thu, 13 Apr 2017 15:02:53 +0200
|
|
|
+Subject: [PATCH 1/2] Add Node 7.x aka V8 5.2+ support
|
|
|
+
|
|
|
+* Use WeakCallbackInfo instead of WeakCallbackData
|
|
|
+* Use GetPrivate instead of GetHiddenValue
|
|
|
+* Adopted new signature for SetWeak to support destructor calling
|
|
|
+* SetAccessor deprecation fixed
|
|
|
+* Proper version checks where applicable
|
|
|
+
|
|
|
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
|
|
|
+---
|
|
|
+ Lib/javascript/v8/javascriptcode.swg | 27 +++++++++++++++++-----
|
|
|
+ Lib/javascript/v8/javascripthelpers.swg | 29 +++++++++++++++++++++---
|
|
|
+ Lib/javascript/v8/javascriptinit.swg | 16 +++++++++++--
|
|
|
+ Lib/javascript/v8/javascriptrun.swg | 40 ++++++++++++++++++++++++++++-----
|
|
|
+ 4 files changed, 95 insertions(+), 17 deletions(-)
|
|
|
+
|
|
|
+diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg
|
|
|
+index fb7d55c..b8c5089 100644
|
|
|
+--- a/Lib/javascript/v8/javascriptcode.swg
|
|
|
++++ b/Lib/javascript/v8/javascriptcode.swg
|
|
|
+@@ -133,10 +133,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, v
|
|
|
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SWIGV8_Proxy *proxy) {
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
|
|
+ v8::Local<v8::Object> object = data.GetValue();
|
|
|
+ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
++#else
|
|
|
++ static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
|
|
++ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
+ #endif
|
|
|
+
|
|
|
+ if(proxy->swigCMemOwn && proxy->swigCObject) {
|
|
|
+@@ -147,7 +150,9 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|
|
+ }
|
|
|
+ delete proxy;
|
|
|
+
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ object.Clear();
|
|
|
++#endif
|
|
|
+
|
|
|
+ #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
|
|
+ object.Dispose();
|
|
|
+@@ -155,7 +160,7 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|
|
+ object.Dispose(isolate);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x032100)
|
|
|
+ object->Dispose(isolate);
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ object->Dispose();
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+@@ -177,10 +182,13 @@ static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, v
|
|
|
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) {
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
|
|
+ v8::Local<v8::Object> object = data.GetValue();
|
|
|
+ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
++#else
|
|
|
++static void $jswrapper(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
|
|
++ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
+ #endif
|
|
|
+
|
|
|
+ if(proxy->swigCMemOwn && proxy->swigCObject) {
|
|
|
+@@ -197,7 +205,7 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|
|
+ object->Dispose(isolate);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ object->Dispose();
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ object.Clear();
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+@@ -211,7 +219,11 @@ static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &dat
|
|
|
+ * ----------------------------------------------------------------------------- */
|
|
|
+ %fragment("js_getter", "templates")
|
|
|
+ %{
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ static SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8PropertyCallbackInfo &info) {
|
|
|
++#else
|
|
|
++static SwigV8ReturnValue $jswrapper(v8::Local<v8::Name> property, const SwigV8PropertyCallbackInfo &info) {
|
|
|
++#endif
|
|
|
+ SWIGV8_HANDLESCOPE();
|
|
|
+
|
|
|
+ v8::Handle<v8::Value> jsresult;
|
|
|
+@@ -233,8 +245,11 @@ fail:
|
|
|
+ * ----------------------------------------------------------------------------- */
|
|
|
+ %fragment("js_setter", "templates")
|
|
|
+ %{
|
|
|
+-static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value,
|
|
|
+- const SwigV8PropertyCallbackInfoVoid &info) {
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
++static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
|
|
|
++#else
|
|
|
++static void $jswrapper(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid &info) {
|
|
|
++#endif
|
|
|
+ SWIGV8_HANDLESCOPE();
|
|
|
+
|
|
|
+ $jslocals
|
|
|
+diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg
|
|
|
+index 091467d..7461079 100644
|
|
|
+--- a/Lib/javascript/v8/javascripthelpers.swg
|
|
|
++++ b/Lib/javascript/v8/javascripthelpers.swg
|
|
|
+@@ -6,11 +6,16 @@ typedef v8::InvocationCallback SwigV8FunctionCallback;
|
|
|
+ typedef v8::AccessorGetter SwigV8AccessorGetterCallback;
|
|
|
+ typedef v8::AccessorSetter SwigV8AccessorSetterCallback;
|
|
|
+ typedef v8::AccessorInfo SwigV8PropertyCallbackInfoVoid;
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ typedef v8::FunctionCallback SwigV8FunctionCallback;
|
|
|
+ typedef v8::AccessorGetterCallback SwigV8AccessorGetterCallback;
|
|
|
+ typedef v8::AccessorSetterCallback SwigV8AccessorSetterCallback;
|
|
|
+ typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
|
|
|
++#else
|
|
|
++typedef v8::FunctionCallback SwigV8FunctionCallback;
|
|
|
++typedef v8::AccessorNameGetterCallback SwigV8AccessorGetterCallback;
|
|
|
++typedef v8::AccessorNameSetterCallback SwigV8AccessorSetterCallback;
|
|
|
++typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
|
|
|
+ #endif
|
|
|
+
|
|
|
+ /**
|
|
|
+@@ -65,18 +70,36 @@ SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle<v8::Object> obj, const char
|
|
|
+ */
|
|
|
+ SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle<v8::Object> obj, const char* symbol,
|
|
|
+ SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) {
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter);
|
|
|
++#else
|
|
|
++ obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter);
|
|
|
++#endif
|
|
|
+ }
|
|
|
+
|
|
|
+-SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value,
|
|
|
+- const SwigV8PropertyCallbackInfoVoid& info)
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
++SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
|
|
|
++#else
|
|
|
++SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::Name> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info)
|
|
|
++#endif
|
|
|
+ {
|
|
|
+ char buffer[256];
|
|
|
+ char msg[512];
|
|
|
+ int res;
|
|
|
+
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ property->WriteUtf8(buffer, 256);
|
|
|
+ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer);
|
|
|
++#else
|
|
|
++ v8::Local<v8::String> sproperty;
|
|
|
++ if (property->ToString(SWIGV8_CURRENT_CONTEXT()).ToLocal(&sproperty)) {
|
|
|
++ sproperty->WriteUtf8(buffer, 256);
|
|
|
++ res = sprintf(msg, "Tried to write read-only variable: %s.", buffer);
|
|
|
++ }
|
|
|
++ else {
|
|
|
++ res = -1;
|
|
|
++ }
|
|
|
++#endif
|
|
|
+
|
|
|
+ if(res<0) {
|
|
|
+ SWIG_exception(SWIG_ERROR, "Tried to write read-only variable.");
|
|
|
+diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg
|
|
|
+index 34befa7..86008d9 100644
|
|
|
+--- a/Lib/javascript/v8/javascriptinit.swg
|
|
|
++++ b/Lib/javascript/v8/javascriptinit.swg
|
|
|
+@@ -7,15 +7,27 @@ SWIG_V8_SetModule(void *, swig_module_info *swig_module) {
|
|
|
+ v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
|
|
|
+ v8::Local<v8::External> mod = SWIGV8_EXTERNAL_NEW(swig_module);
|
|
|
+ assert(!mod.IsEmpty());
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod);
|
|
|
++#else
|
|
|
++ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
|
|
|
++ global_obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, mod);
|
|
|
++#endif
|
|
|
+ }
|
|
|
+
|
|
|
+ SWIGRUNTIME swig_module_info *
|
|
|
+ SWIG_V8_GetModule(void *) {
|
|
|
+ v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ v8::Local<v8::Value> moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"));
|
|
|
++#else
|
|
|
++ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("swig_module_info_data"));
|
|
|
++ v8::Local<v8::Value> moduleinfo;
|
|
|
++ if (!global_obj->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&moduleinfo))
|
|
|
++ return 0;
|
|
|
++#endif
|
|
|
+
|
|
|
+- if (moduleinfo.IsEmpty())
|
|
|
++ if (moduleinfo.IsEmpty() || moduleinfo->IsNull() || moduleinfo->IsUndefined())
|
|
|
+ {
|
|
|
+ // It's not yet loaded
|
|
|
+ return 0;
|
|
|
+@@ -23,7 +35,7 @@ SWIG_V8_GetModule(void *) {
|
|
|
+
|
|
|
+ v8::Local<v8::External> moduleinfo_extern = v8::Local<v8::External>::Cast(moduleinfo);
|
|
|
+
|
|
|
+- if (moduleinfo_extern.IsEmpty())
|
|
|
++ if (moduleinfo_extern.IsEmpty() || moduleinfo_extern->IsNull() || moduleinfo_extern->IsUndefined())
|
|
|
+ {
|
|
|
+ // Something's not right
|
|
|
+ return 0;
|
|
|
+diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg
|
|
|
+index 5ac52a5..30002c0 100644
|
|
|
+--- a/Lib/javascript/v8/javascriptrun.swg
|
|
|
++++ b/Lib/javascript/v8/javascriptrun.swg
|
|
|
+@@ -193,8 +193,10 @@ public:
|
|
|
+ void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy);
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
|
|
|
++#else
|
|
|
++ void (*dtor) (const v8::WeakCallbackInfo<SWIGV8_Proxy> &data);
|
|
|
+ #endif
|
|
|
+ };
|
|
|
+
|
|
|
+@@ -241,9 +243,12 @@ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Val
|
|
|
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) {
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
|
|
|
+ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
++#else
|
|
|
++SWIGRUNTIME void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackInfo<SWIGV8_Proxy> &data) {
|
|
|
++ SWIGV8_Proxy *proxy = data.GetParameter();
|
|
|
+ #endif
|
|
|
+
|
|
|
+ delete proxy;
|
|
|
+@@ -312,12 +317,18 @@ SWIGRUNTIME void SWIGV8_SetPrivateData(v8::Handle<v8::Object> obj, void *ptr, sw
|
|
|
+ } else {
|
|
|
+ cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
|
|
|
+ }
|
|
|
+-#else
|
|
|
++#elifif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
|
|
+ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
|
|
|
+ } else {
|
|
|
+ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor);
|
|
|
+ }
|
|
|
++#else
|
|
|
++ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
|
|
|
++ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor, v8::WeakCallbackType::kParameter);
|
|
|
++ } else {
|
|
|
++ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor, v8::WeakCallbackType::kParameter);
|
|
|
++ }
|
|
|
+ #endif
|
|
|
+
|
|
|
+ #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
|
|
+@@ -470,7 +481,14 @@ int SwigV8Packed_Check(v8::Handle<v8::Value> valRef) {
|
|
|
+
|
|
|
+ v8::Handle<v8::Object> objRef = valRef->ToObject();
|
|
|
+ if(objRef->InternalFieldCount() < 1) return false;
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ v8::Handle<v8::Value> flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"));
|
|
|
++#else
|
|
|
++ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
|
|
|
++ v8::Local<v8::Value> flag;
|
|
|
++ if (!objRef->GetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey).ToLocal(&flag))
|
|
|
++ return false;
|
|
|
++#endif
|
|
|
+ return (flag->IsBoolean() && flag->BooleanValue());
|
|
|
+ }
|
|
|
+
|
|
|
+@@ -519,10 +537,13 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persist
|
|
|
+ SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SwigV8PackedData *cdata) {
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Object, SwigV8PackedData> &data) {
|
|
|
+ v8::Local<v8::Object> object = data.GetValue();
|
|
|
+ SwigV8PackedData *cdata = data.GetParameter();
|
|
|
++#else
|
|
|
++SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackInfo<SwigV8PackedData> &data) {
|
|
|
++ SwigV8PackedData *cdata = data.GetParameter();
|
|
|
+ #endif
|
|
|
+
|
|
|
+ delete cdata;
|
|
|
+@@ -537,7 +558,7 @@ SWIGRUNTIME void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Ob
|
|
|
+ object->Dispose(isolate);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ object->Dispose();
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ object.Clear();
|
|
|
+ #endif
|
|
|
+ }
|
|
|
+@@ -550,7 +571,12 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf
|
|
|
+ // v8::Handle<v8::Object> obj = SWIGV8_OBJECT_NEW();
|
|
|
+ v8::Local<v8::Object> obj = SWIGV8_OBJECT_NEW();
|
|
|
+
|
|
|
++#if (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true));
|
|
|
++#else
|
|
|
++ v8::Local<v8::Private> privateKey = v8::Private::ForApi(v8::Isolate::GetCurrent(), SWIGV8_STRING_NEW("__swig__packed_data__"));
|
|
|
++ obj->SetPrivate(SWIGV8_CURRENT_CONTEXT(), privateKey, SWIGV8_BOOLEAN_NEW(true));
|
|
|
++#endif
|
|
|
+
|
|
|
+ #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031511)
|
|
|
+ obj->SetPointerInInternalField(0, cdata);
|
|
|
+@@ -573,9 +599,11 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf
|
|
|
+ cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete);
|
|
|
+ #elif (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
|
|
|
+ cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
|
|
|
+-#else
|
|
|
++#elif (V8_MAJOR_VERSION-0) < 5 || (V8_MAJOR_VERSION == 5 && V8_MINOR_VERSION < 2)
|
|
|
+ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete);
|
|
|
+ // v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete);
|
|
|
++#else
|
|
|
++ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete, v8::WeakCallbackType::kParameter);
|
|
|
+ #endif
|
|
|
+
|
|
|
+ #if (V8_MAJOR_VERSION-0) < 4 && (SWIG_V8_VERSION < 0x031710)
|
|
|
+--
|
|
|
+2.1.4
|
|
|
+
|