summaryrefslogtreecommitdiff
path: root/Lib/javascript/v8
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/javascript/v8')
-rw-r--r--Lib/javascript/v8/javascriptcode.swg133
-rw-r--r--Lib/javascript/v8/javascriptcomplex.swg11
-rw-r--r--Lib/javascript/v8/javascripthelpers.swg35
-rw-r--r--Lib/javascript/v8/javascriptinit.swg21
-rw-r--r--Lib/javascript/v8/javascriptprimtypes.swg14
-rw-r--r--Lib/javascript/v8/javascriptrun.swg375
-rw-r--r--Lib/javascript/v8/javascriptstrings.swg6
-rw-r--r--Lib/javascript/v8/javascripttypemaps.swg2
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/std_common.i0
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/std_map.i0
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/std_pair.i0
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/std_string.i80
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/std_vector.i2
-rw-r--r--[-rwxr-xr-x]Lib/javascript/v8/stl.i0
14 files changed, 392 insertions, 287 deletions
diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg
index 67a81146e..12db9b4ab 100644
--- a/Lib/javascript/v8/javascriptcode.swg
+++ b/Lib/javascript/v8/javascriptcode.swg
@@ -8,8 +8,9 @@
* ----------------------------------------------------------------------------- */
%fragment("js_ctor", "templates") %{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Object> self = args.Holder();
$jslocals
if(args.Length() != $jsargcount) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for $jswrapper.");
@@ -20,7 +21,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -31,10 +32,11 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment ("js_veto_ctor", "templates")
%{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
SWIG_exception(SWIG_ERROR, "Class $jsname can not be instantiated");
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -46,8 +48,9 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
* ----------------------------------------------------------------------------- */
%fragment ("js_ctor_dispatcher", "templates")
%{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
OverloadErrorHandler errorHandler;
v8::Handle<v8::Value> self;
@@ -58,7 +61,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
SWIG_exception_fail(SWIG_ERROR, "Illegal arguments for construction of $jsmangledname");
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -71,8 +74,9 @@ fail:
* - $jsmangledtype: mangled type of class
* ----------------------------------------------------------------------------- */
%fragment("js_overloaded_ctor", "templates") %{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8_ErrorHandler) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args, V8ErrorHandler &SWIGV8_ErrorHandler) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Object> self = args.Holder();
$jslocals
if(args.Length() != $jsargcount) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for $jswrapper.");
@@ -83,7 +87,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -98,10 +102,10 @@ fail:
%{
if(args.Length() == $jsargcount) {
errorHandler.err.Clear();
-#if SWIG_V8_VERSION < 0x031900
+#if (SWIG_V8_VERSION < 0x031903)
self = $jswrapper(args, errorHandler);
if(errorHandler.err.IsEmpty()) {
- return scope.Close(self);
+ SWIGV8_ESCAPE(self);
}
#else
$jswrapper(args, errorHandler);
@@ -120,13 +124,18 @@ fail:
%fragment ("js_dtor", "templates")
%{
-#if (SWIG_V8_VERSION < 0x031900)
-void $jswrapper(v8::Persistent< v8::Value > object, void *parameter)
-{
+#if (SWIG_V8_VERSION < 0x031710)
+static void $jswrapper(v8::Persistent< v8::Value > object, void *parameter) {
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < 0x031900)
+static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SWIGV8_Proxy *proxy) {
#else
-void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWIGV8_Proxy *proxy)
-{
+static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
+ v8::Local<v8::Object> object = data.GetValue();
+ SWIGV8_Proxy *proxy = data.GetParameter();
#endif
if(proxy->swigCMemOwn && proxy->swigCObject) {
@@ -138,8 +147,11 @@ void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWI
delete proxy;
object.Clear();
-#if (SWIG_V8_VERSION < 0x031900)
+
+#if (SWIG_V8_VERSION < 0x031710)
object.Dispose();
+#elif (SWIG_V8_VERSION < 0x031900)
+ object.Dispose(isolate);
#elif (SWIG_V8_VERSION < 0x032100)
object->Dispose(isolate);
#else
@@ -156,26 +168,36 @@ void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWI
* ----------------------------------------------------------------------------- */
%fragment ("js_dtoroverride", "templates")
%{
-#if (SWIG_V8_VERSION < 0x031900)
-void $jswrapper(v8::Persistent< v8::Value > object, void *parameter)
-{
+#if (SWIG_V8_VERSION < 0x031710)
+static void $jswrapper(v8::Persistent<v8::Value> object, void *parameter) {
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < 0x031900)
+static void $jswrapper(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+static void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object> *object, SWIGV8_Proxy *proxy) {
#else
-void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWIGV8_Proxy *proxy)
-{
+static void $jswrapper(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
+ v8::Local<v8::Object> object = data.GetValue();
+ SWIGV8_Proxy *proxy = data.GetParameter();
#endif
+
if(proxy->swigCMemOwn && proxy->swigCObject) {
$jstype arg1 = ($jstype)proxy->swigCObject;
${destructor_action}
}
delete proxy;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031710)
object.Dispose();
+#elif (SWIG_V8_VERSION < 0x031900)
+ object.Dispose(isolate);
#elif (SWIG_V8_VERSION < 0x032100)
object->Dispose(isolate);
-#else
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
object->Dispose();
+#else
+ object.Clear();
#endif
}
%}
@@ -188,8 +210,9 @@ void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWI
* ----------------------------------------------------------------------------- */
%fragment("js_getter", "templates")
%{
-SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8PropertyCallbackInfo& info) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8PropertyCallbackInfo &info) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
$jslocals
$jscode
@@ -197,7 +220,7 @@ SwigV8ReturnValue $jswrapper(v8::Local<v8::String> property, const SwigV8Propert
goto fail;
fail:
- SWIGV8_RETURN_INFO(v8::Undefined(), info);
+ SWIGV8_RETURN_INFO(SWIGV8_UNDEFINED(), info);
}
%}
@@ -209,9 +232,10 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("js_setter", "templates")
%{
-void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value,
- const SwigV8PropertyCallbackInfoVoid& info) {
- v8::HandleScope scope;
+static void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value,
+ const SwigV8PropertyCallbackInfoVoid &info) {
+ SWIGV8_HANDLESCOPE();
+
$jslocals
$jscode
goto fail;
@@ -228,8 +252,9 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("js_function", "templates")
%{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
$jslocals
if(args.Length() != $jsargcount) SWIG_exception_fail(SWIG_ERROR, "Illegal number of arguments for $jswrapper.");
@@ -239,7 +264,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -252,8 +277,9 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("js_function_dispatcher", "templates")
%{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
- v8::HandleScope scope;
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
OverloadErrorHandler errorHandler;
$jscode
@@ -262,7 +288,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) {
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -274,9 +300,10 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment ("js_overloaded_function", "templates")
%{
-SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8_ErrorHandler)
+static SwigV8ReturnValue $jswrapper(const SwigV8Arguments &args, V8ErrorHandler &SWIGV8_ErrorHandler)
{
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
$jslocals
$jscode
@@ -284,7 +311,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
%}
@@ -299,10 +326,10 @@ fail:
if(args.Length() == $jsargcount) {
errorHandler.err.Clear();
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031903)
jsresult = $jswrapper(args, errorHandler);
if(errorHandler.err.IsEmpty()) {
- return scope.Close(jsresult);
+ SWIGV8_ESCAPE(jsresult);
}
#else
$jswrapper(args, errorHandler);
@@ -330,12 +357,9 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("jsv8_define_class_template", "templates")
%{
+ /* Name: $jsmangledname, Type: $jsmangledtype, Dtor: $jsdtor */
v8::Handle<v8::FunctionTemplate> $jsmangledname_class = SWIGV8_CreateClassTemplate("$jsmangledname");
-#if (SWIG_V8_VERSION < 0x031900)
- $jsmangledname_clientData.class_templ = v8::Persistent<v8::FunctionTemplate>::New($jsmangledname_class);
-#else
- $jsmangledname_clientData.class_templ.Reset(v8::Isolate::GetCurrent(), $jsmangledname_class);
-#endif
+ SWIGV8_SET_CLASS_TEMPL($jsmangledname_clientData.class_templ, $jsmangledname_class);
$jsmangledname_clientData.dtor = $jsdtor;
if (SWIGTYPE_$jsmangledtype->clientdata == 0) {
SWIGTYPE_$jsmangledtype->clientdata = &$jsmangledname_clientData;
@@ -352,11 +376,11 @@ fail:
%{
if (SWIGTYPE_p$jsbaseclass->clientdata && !(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ.IsEmpty()))
{
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031903)
$jsmangledname_class->Inherit(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ);
#else
$jsmangledname_class->Inherit(
- v8::Handle<v8::FunctionTemplate>::New(
+ v8::Local<v8::FunctionTemplate>::New(
v8::Isolate::GetCurrent(),
static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ)
);
@@ -379,6 +403,7 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("jsv8_create_class_instance", "templates")
%{
+ /* Class: $jsname ($jsmangledname) */
v8::Handle<v8::FunctionTemplate> $jsmangledname_class_0 = SWIGV8_CreateClassTemplate("$jsname");
$jsmangledname_class_0->SetCallHandler($jsctor);
$jsmangledname_class_0->Inherit($jsmangledname_class);
@@ -394,7 +419,7 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("jsv8_register_class", "templates")
%{
- $jsparent_obj->Set(v8::String::NewSymbol("$jsname"), $jsmangledname_obj);
+ $jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
%}
/* -----------------------------------------------------------------------------
@@ -403,7 +428,7 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("jsv8_create_namespace", "templates")
%{
- v8::Handle<v8::Object> $jsmangledname_obj = v8::Object::New();
+ v8::Handle<v8::Object> $jsmangledname_obj = SWIGV8_OBJECT_NEW();
%}
/* -----------------------------------------------------------------------------
@@ -414,7 +439,7 @@ fail:
* ----------------------------------------------------------------------------- */
%fragment("jsv8_register_namespace", "templates")
%{
- $jsparent_obj->Set(v8::String::NewSymbol("$jsname"), $jsmangledname_obj);
+ $jsparent_obj->Set(SWIGV8_SYMBOL_NEW("$jsname"), $jsmangledname_obj);
%}
/* -----------------------------------------------------------------------------
diff --git a/Lib/javascript/v8/javascriptcomplex.swg b/Lib/javascript/v8/javascriptcomplex.swg
index 70c5baffb..683b972bc 100644
--- a/Lib/javascript/v8/javascriptcomplex.swg
+++ b/Lib/javascript/v8/javascriptcomplex.swg
@@ -15,12 +15,13 @@
SWIGINTERNINLINE v8::Handle<v8::Value>
SWIG_From_dec(Type)(%ifcplusplus(const Type&, Type) c)
{
- v8::HandleScope scope;
- v8::Local<v8::Array> vals = v8::Array::New(2);
+ SWIGV8_HANDLESCOPE_ESC();
+
+ v8::Local<v8::Array> vals = SWIGV8_ARRAY_NEW(2);
vals->Set(0, SWIG_From(double)(Real(c)));
vals->Set(1, SWIG_From(double)(Imag(c)));
- return scope.Close(vals);
+ SWIGV8_ESCAPE(vals);
}
}
%enddef
@@ -33,7 +34,7 @@ SWIG_From_dec(Type)(%ifcplusplus(const Type&, Type) c)
SWIGINTERN int
SWIG_AsVal_dec(Type) (v8::Handle<v8::Value> o, Type* val)
{
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
if (o->IsArray()) {
v8::Handle<v8::Array> array = v8::Handle<v8::Array>::Cast(o);
@@ -75,7 +76,7 @@ SWIG_AsVal_dec(Type) (v8::Handle<v8::Value> o, Type* val)
SWIGINTERN int
SWIG_AsVal_dec(Type) (v8::Handle<v8::Value> o, Type* val)
{
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
if (o->IsArray()) {
v8::Handle<v8::Array> array = v8::Handle<v8::Array>::Cast(o);
diff --git a/Lib/javascript/v8/javascripthelpers.swg b/Lib/javascript/v8/javascripthelpers.swg
index 8da6627e2..969225401 100644
--- a/Lib/javascript/v8/javascripthelpers.swg
+++ b/Lib/javascript/v8/javascripthelpers.swg
@@ -1,7 +1,7 @@
%insert(runtime) %{
// Note: since 3.19 there are new CallBack types, since 03.21.9 the old ones have been removed
-#if SWIG_V8_VERSION < 0x031900
+#if (SWIG_V8_VERSION < 0x031903)
typedef v8::InvocationCallback SwigV8FunctionCallback;
typedef v8::AccessorGetter SwigV8AccessorGetterCallback;
typedef v8::AccessorSetter SwigV8AccessorSetterCallback;
@@ -16,58 +16,59 @@ typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid;
/**
* Creates a class template for a class with specified initialization function.
*/
-v8::Handle<v8::FunctionTemplate> SWIGV8_CreateClassTemplate(const char* symbol) {
- v8::HandleScope scope;
- v8::Local<v8::FunctionTemplate> class_templ = v8::FunctionTemplate::New();
- class_templ->SetClassName(v8::String::NewSymbol(symbol));
+SWIGRUNTIME v8::Handle<v8::FunctionTemplate> SWIGV8_CreateClassTemplate(const char* symbol) {
+ SWIGV8_HANDLESCOPE_ESC();
+
+ v8::Local<v8::FunctionTemplate> class_templ = SWIGV8_FUNCTEMPLATE_NEW_VOID();
+ class_templ->SetClassName(SWIGV8_SYMBOL_NEW(symbol));
v8::Handle<v8::ObjectTemplate> inst_templ = class_templ->InstanceTemplate();
inst_templ->SetInternalFieldCount(1);
v8::Handle<v8::ObjectTemplate> equals_templ = class_templ->PrototypeTemplate();
- equals_templ->Set(v8::String::NewSymbol("equals"), v8::FunctionTemplate::New(_SWIGV8_wrap_equals));
+ equals_templ->Set(SWIGV8_SYMBOL_NEW("equals"), SWIGV8_FUNCTEMPLATE_NEW(_SWIGV8_wrap_equals));
v8::Handle<v8::ObjectTemplate> cptr_templ = class_templ->PrototypeTemplate();
- cptr_templ->Set(v8::String::NewSymbol("getCPtr"), v8::FunctionTemplate::New(_wrap_getCPtr));
+ cptr_templ->Set(SWIGV8_SYMBOL_NEW("getCPtr"), SWIGV8_FUNCTEMPLATE_NEW(_wrap_getCPtr));
- return scope.Close(class_templ);
+ SWIGV8_ESCAPE(class_templ);
}
/**
* Registers a class method with given name for a given class template.
*/
-void SWIGV8_AddMemberFunction(v8::Handle<v8::FunctionTemplate> class_templ, const char* symbol,
+SWIGRUNTIME void SWIGV8_AddMemberFunction(v8::Handle<v8::FunctionTemplate> class_templ, const char* symbol,
SwigV8FunctionCallback _func) {
v8::Handle<v8::ObjectTemplate> proto_templ = class_templ->PrototypeTemplate();
- proto_templ->Set(v8::String::NewSymbol(symbol), v8::FunctionTemplate::New(_func));
+ proto_templ->Set(SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func));
}
/**
* Registers a class property with given name for a given class template.
*/
-void SWIGV8_AddMemberVariable(v8::Handle<v8::FunctionTemplate> class_templ, const char* symbol,
+SWIGRUNTIME void SWIGV8_AddMemberVariable(v8::Handle<v8::FunctionTemplate> class_templ, const char* symbol,
SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) {
v8::Handle<v8::ObjectTemplate> proto_templ = class_templ->InstanceTemplate();
- proto_templ->SetAccessor(v8::String::NewSymbol(symbol), getter, setter);
+ proto_templ->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter);
}
/**
* Registers a class method with given name for a given object.
*/
-void SWIGV8_AddStaticFunction(v8::Handle<v8::Object> obj, const char* symbol,
+SWIGRUNTIME void SWIGV8_AddStaticFunction(v8::Handle<v8::Object> obj, const char* symbol,
const SwigV8FunctionCallback& _func) {
- obj->Set(v8::String::NewSymbol(symbol), v8::FunctionTemplate::New(_func)->GetFunction());
+ obj->Set(SWIGV8_SYMBOL_NEW(symbol), SWIGV8_FUNCTEMPLATE_NEW(_func)->GetFunction());
}
/**
* Registers a class method with given name for a given object.
*/
-void SWIGV8_AddStaticVariable(v8::Handle<v8::Object> obj, const char* symbol,
+SWIGRUNTIME void SWIGV8_AddStaticVariable(v8::Handle<v8::Object> obj, const char* symbol,
SwigV8AccessorGetterCallback getter, SwigV8AccessorSetterCallback setter) {
- obj->SetAccessor(v8::String::NewSymbol(symbol), getter, setter);
+ obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter);
}
-void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value,
+SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value,
const SwigV8PropertyCallbackInfoVoid& info)
{
char buffer[256];
diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg
index de1fe91f4..34befa7ce 100644
--- a/Lib/javascript/v8/javascriptinit.swg
+++ b/Lib/javascript/v8/javascriptinit.swg
@@ -4,16 +4,16 @@
SWIGRUNTIME void
SWIG_V8_SetModule(void *, swig_module_info *swig_module) {
- v8::Local<v8::Object> global_obj = v8::Context::GetCurrent()->Global();
- v8::Local<v8::External> mod = v8::External::New(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());
- global_obj->SetHiddenValue(v8::String::New("swig_module_info_data"), mod);
+ global_obj->SetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"), mod);
}
SWIGRUNTIME swig_module_info *
SWIG_V8_GetModule(void *) {
- v8::Local<v8::Object> global_obj = v8::Context::GetCurrent()->Global();
- v8::Local<v8::Value> moduleinfo = global_obj->GetHiddenValue(v8::String::New("swig_module_info_data"));
+ v8::Local<v8::Object> global_obj = SWIGV8_CURRENT_CONTEXT()->Global();
+ v8::Local<v8::Value> moduleinfo = global_obj->GetHiddenValue(SWIGV8_STRING_NEW("swig_module_info_data"));
if (moduleinfo.IsEmpty())
{
@@ -61,7 +61,8 @@ void SWIGV8_INIT (v8::Handle<v8::Object> exports, v8::Handle<v8::Object> /*modul
{
SWIG_InitializeModule(static_cast<void *>(&exports));
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Object> exports_obj = exports;
%}
@@ -81,11 +82,7 @@ void SWIGV8_INIT (v8::Handle<v8::Object> exports, v8::Handle<v8::Object> /*modul
%fragment("js_initializer", "templates")
%{
// a class template for creating proxies of undefined types
-#if (SWIG_V8_VERSION < 0x031900)
- SWIGV8_SWIGTYPE_Proxy_class_templ = v8::Persistent<v8::FunctionTemplate>::New(SWIGV8_CreateClassTemplate("SwigProxy"));
-#else
- SWIGV8_SWIGTYPE_Proxy_class_templ.Reset(v8::Isolate::GetCurrent(), SWIGV8_CreateClassTemplate("SwigProxy"));
-#endif
+ SWIGV8_SET_CLASS_TEMPL(SWIGV8_SWIGTYPE_Proxy_class_templ, SWIGV8_CreateClassTemplate("SwigProxy"));
/* create objects for namespaces */
$jsv8nspaces
@@ -113,6 +110,6 @@ void SWIGV8_INIT (v8::Handle<v8::Object> exports, v8::Handle<v8::Object> /*modul
}
#if defined(BUILDING_NODE_EXTENSION)
-NODE_MODULE($jsname, $jsname_initialize);
+NODE_MODULE($jsname, $jsname_initialize)
#endif
%}
diff --git a/Lib/javascript/v8/javascriptprimtypes.swg b/Lib/javascript/v8/javascriptprimtypes.swg
index 706a799b7..fe826b863 100644
--- a/Lib/javascript/v8/javascriptprimtypes.swg
+++ b/Lib/javascript/v8/javascriptprimtypes.swg
@@ -9,7 +9,7 @@ SWIGINTERNINLINE
v8::Handle<v8::Value>
SWIG_From_dec(bool)(bool value)
{
- return v8::Boolean::New(value);
+ return SWIGV8_BOOLEAN_NEW(value);
}
}
@@ -33,7 +33,7 @@ int SWIG_AsVal_dec(bool)(v8::Handle<v8::Value> obj, bool *val)
SWIGINTERNINLINE
v8::Handle<v8::Value> SWIG_From_dec(int)(int value)
{
- return v8::Int32::New(value);
+ return SWIGV8_INT32_NEW(value);
}
}
@@ -56,7 +56,7 @@ int SWIG_AsVal_dec(int)(v8::Handle<v8::Value> valRef, int* val)
SWIGINTERNINLINE
v8::Handle<v8::Value> SWIG_From_dec(long)(long value)
{
- return v8::Number::New(value);
+ return SWIGV8_NUMBER_NEW(value);
}
}
@@ -82,7 +82,7 @@ SWIGINTERNINLINE
v8::Handle<v8::Value> SWIG_From_dec(unsigned long)(unsigned long value)
{
return (value > LONG_MAX) ?
- v8::Integer::NewFromUnsigned(value) : v8::Integer::New(%numeric_cast(value,long));
+ SWIGV8_INTEGER_NEW_UNS(value) : SWIGV8_INTEGER_NEW(%numeric_cast(value,long));
}
}
@@ -116,7 +116,7 @@ int SWIG_AsVal_dec(unsigned long)(v8::Handle<v8::Value> obj, unsigned long *val)
SWIGINTERNINLINE
v8::Handle<v8::Value> SWIG_From_dec(long long)(long long value)
{
- return v8::Number::New(value);
+ return SWIGV8_NUMBER_NEW(value);
}
}
@@ -146,7 +146,7 @@ SWIGINTERNINLINE
v8::Handle<v8::Value> SWIG_From_dec(unsigned long long)(unsigned long long value)
{
return (value > LONG_MAX) ?
- v8::Integer::NewFromUnsigned(value) : v8::Integer::New(%numeric_cast(value,long));
+ SWIGV8_INTEGER_NEW_UNS(value) : SWIGV8_INTEGER_NEW(%numeric_cast(value,long));
}
}
@@ -179,7 +179,7 @@ int SWIG_AsVal_dec(unsigned long long)(v8::Handle<v8::Value> obj, unsigned long
SWIGINTERN
v8::Handle<v8::Value> SWIG_From_dec(double) (double val)
{
- return v8::Number::New(val);
+ return SWIGV8_NUMBER_NEW(val);
}
}
diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg
index 2e0a46717..b37059cca 100644
--- a/Lib/javascript/v8/javascriptrun.swg
+++ b/Lib/javascript/v8/javascriptrun.swg
@@ -1,4 +1,97 @@
/* ---------------------------------------------------------------------------
+ * These typedefs and defines are used to deal with v8 API changes
+ *
+ * ---------------------------------------------------------------------------*/
+
+// First v8 version that uses "SetWeak" and not "MakeWeak"
+
+#define SWIGV8_SETWEAK_VERSION 0x032224
+
+#if (SWIG_V8_VERSION < 0x031803)
+#define SWIGV8_STRING_NEW2(cstr, len) v8::String::New(cstr, len)
+#else
+#define SWIGV8_STRING_NEW2(cstr, len) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), cstr, v8::String::kNormalString, len)
+#endif
+
+#if (SWIG_V8_VERSION < 0x031903)
+typedef v8::Handle<v8::Value> SwigV8ReturnValue;
+typedef v8::Arguments SwigV8Arguments;
+typedef v8::AccessorInfo SwigV8PropertyCallbackInfo;
+#define SWIGV8_RETURN(val) return scope.Close(val)
+#define SWIGV8_RETURN_INFO(val, info) return scope.Close(val)
+#else
+typedef void SwigV8ReturnValue;
+typedef v8::FunctionCallbackInfo<v8::Value> SwigV8Arguments;
+typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
+#define SWIGV8_RETURN(val) args.GetReturnValue().Set(val); return
+#define SWIGV8_RETURN_INFO(val, info) info.GetReturnValue().Set(val); return
+#endif
+
+#if (SWIG_V8_VERSION < 0x032117)
+#define SWIGV8_HANDLESCOPE() v8::HandleScope scope
+#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope
+#define SWIGV8_ESCAPE(val) return scope.Close(val)
+#elif (SWIG_V8_VERSION < 0x032224)
+#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
+#define SWIGV8_HANDLESCOPE_ESC() v8::HandleScope scope(v8::Isolate::GetCurrent());
+#define SWIGV8_ESCAPE(val) return scope.Close(val)
+#else
+#define SWIGV8_HANDLESCOPE() v8::HandleScope scope(v8::Isolate::GetCurrent());
+#define SWIGV8_HANDLESCOPE_ESC() v8::EscapableHandleScope scope(v8::Isolate::GetCurrent());
+#define SWIGV8_ESCAPE(val) return scope.Escape(val)
+#endif
+
+#if (SWIG_V8_VERSION < 0x032224)
+#define SWIGV8_ADJUST_MEMORY(size) v8::V8::AdjustAmountOfExternalAllocatedMemory(size)
+#define SWIGV8_CURRENT_CONTEXT() v8::Context::GetCurrent()
+#define SWIGV8_THROW_EXCEPTION(err) v8::ThrowException(err)
+#define SWIGV8_STRING_NEW(str) v8::String::New(str)
+#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewSymbol(sym)
+#else
+#define SWIGV8_ADJUST_MEMORY(size) v8::Isolate::GetCurrent()->AdjustAmountOfExternalAllocatedMemory(size)
+#define SWIGV8_CURRENT_CONTEXT() v8::Isolate::GetCurrent()->GetCurrentContext()
+#define SWIGV8_THROW_EXCEPTION(err) v8::Isolate::GetCurrent()->ThrowException(err)
+#define SWIGV8_STRING_NEW(str) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str)
+#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), sym)
+#endif
+
+#if (SWIG_V8_VERSION < 0x032318)
+#define SWIGV8_ARRAY_NEW() v8::Array::New()
+#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(bool)
+#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(val)
+#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(func)
+#define SWIGV8_FUNCTEMPLATE_NEW_VOID() v8::FunctionTemplate::New()
+#define SWIGV8_INT32_NEW(num) v8::Int32::New(num)
+#define SWIGV8_INTEGER_NEW(num) v8::Integer::New(num)
+#define SWIGV8_INTEGER_NEW_UNS(num) v8::Integer::NewFromUnsigned(num)
+#define SWIGV8_NUMBER_NEW(num) v8::Number::New(num)
+#define SWIGV8_OBJECT_NEW() v8::Object::New()
+#define SWIGV8_UNDEFINED() v8::Undefined()
+#define SWIGV8_NULL() v8::Null()
+#else
+#define SWIGV8_ARRAY_NEW() v8::Array::New(v8::Isolate::GetCurrent())
+#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(v8::Isolate::GetCurrent(), bool)
+#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(v8::Isolate::GetCurrent(), val)
+#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(v8::Isolate::GetCurrent(), func)
+#define SWIGV8_FUNCTEMPLATE_NEW_VOID() v8::FunctionTemplate::New(v8::Isolate::GetCurrent())
+#define SWIGV8_INT32_NEW(num) v8::Int32::New(v8::Isolate::GetCurrent(), num)
+#define SWIGV8_INTEGER_NEW(num) v8::Integer::New(v8::Isolate::GetCurrent(), num)
+#define SWIGV8_INTEGER_NEW_UNS(num) v8::Integer::NewFromUnsigned(v8::Isolate::GetCurrent(), num)
+#define SWIGV8_NUMBER_NEW(num) v8::Number::New(v8::Isolate::GetCurrent(), num)
+#define SWIGV8_OBJECT_NEW() v8::Object::New(v8::Isolate::GetCurrent())
+#define SWIGV8_UNDEFINED() v8::Undefined(v8::Isolate::GetCurrent())
+#define SWIGV8_NULL() v8::Null(v8::Isolate::GetCurrent())
+#endif
+
+#if (SWIG_V8_VERSION < 0x031710)
+#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ = v8::Persistent<v8::FunctionTemplate>::New(class);
+#elif (SWIG_V8_VERSION < 0x031900)
+#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ = v8::Persistent<v8::FunctionTemplate>::New(v8::Isolate::GetCurrent(), class);
+#else
+#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ.Reset(v8::Isolate::GetCurrent(), class);
+#endif
+
+/* ---------------------------------------------------------------------------
* Error handling
*
* ---------------------------------------------------------------------------*/
@@ -8,8 +101,8 @@
#define SWIG_fail goto fail
#define SWIGV8_OVERLOAD false
-void SWIG_V8_Raise(const char* msg) {
- v8::ThrowException(v8::Exception::Error(v8::String::New(msg)));
+static void SWIG_V8_Raise(const char *msg) {
+ SWIGV8_THROW_EXCEPTION(v8::Exception::Error(SWIGV8_STRING_NEW(msg)));
}
/*
@@ -28,42 +121,25 @@ void SWIG_V8_Raise(const char* msg) {
class V8ErrorHandler {
public:
virtual ~V8ErrorHandler() {}
- virtual void error(int code, const char* msg) {
+ virtual void error(int code, const char *msg) {
SWIG_V8_Raise(msg);
}
};
// this is used in usually
-V8ErrorHandler SWIGV8_ErrorHandler;
+static V8ErrorHandler SWIGV8_ErrorHandler;
// instances of this are used in overloaded functions
class OverloadErrorHandler: public V8ErrorHandler {
public:
- virtual void error(int code, const char* msg) {
- err = v8::Exception::Error(v8::String::New(msg));
+ virtual void error(int code, const char *msg) {
+ err = v8::Exception::Error(SWIGV8_STRING_NEW(msg));
if(code != SWIG_TypeError) {
- v8::ThrowException(err);
+ SWIGV8_THROW_EXCEPTION(err);
}
}
v8::Handle<v8::Value> err;
};
-// Note: these typedefs and defines are used to deal with v8 API changes since version 3.19.00
-
-#if (SWIG_V8_VERSION < 0x031900)
-typedef v8::Handle<v8::Value> SwigV8ReturnValue;
-typedef v8::Arguments SwigV8Arguments;
-typedef v8::AccessorInfo SwigV8PropertyCallbackInfo;
-#define SWIGV8_RETURN(val) return scope.Close(val)
-#define SWIGV8_RETURN_INFO(val, info) return scope.Close(val)
-#else
-typedef void SwigV8ReturnValue;
-typedef v8::FunctionCallbackInfo<v8::Value> SwigV8Arguments;
-typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
-#define SWIGV8_RETURN(val) args.GetReturnValue().Set(val); return
-#define SWIGV8_RETURN_INFO(val, info) info.GetReturnValue().Set(val); return
-#endif
-
-
/* ---------------------------------------------------------------------------
* Basic Proxy object
*
@@ -76,20 +152,29 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo;
class SWIGV8_Proxy {
public:
SWIGV8_Proxy(): swigCMemOwn(false), swigCObject(0), info(0) {
- v8::V8::AdjustAmountOfExternalAllocatedMemory(SWIGV8_AVG_OBJ_SIZE);
+ SWIGV8_ADJUST_MEMORY(SWIGV8_AVG_OBJ_SIZE);
};
~SWIGV8_Proxy() {
-#if (SWIG_V8_VERSION < 0x031900 || SWIG_V8_VERSION >= 0x032100)
+#if (SWIG_V8_VERSION < 0x031710)
handle.ClearWeak();
handle.Dispose();
-#else
+#elif (SWIG_V8_VERSION < 0x032100)
handle.ClearWeak(v8::Isolate::GetCurrent());
handle.Dispose(v8::Isolate::GetCurrent());
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+ handle.ClearWeak();
+ handle.Dispose();
+#else
+ handle.ClearWeak();
+ handle.Reset();
#endif
+#if (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
handle.Clear();
- v8::V8::AdjustAmountOfExternalAllocatedMemory(-SWIGV8_AVG_OBJ_SIZE);
+#endif
+
+ SWIGV8_ADJUST_MEMORY(-SWIGV8_AVG_OBJ_SIZE);
}
bool swigCMemOwn;
@@ -102,21 +187,25 @@ class SWIGV8_ClientData {
public:
v8::Persistent<v8::FunctionTemplate> class_templ;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031710)
void (*dtor) (v8::Persistent< v8::Value> object, void *parameter);
-#else
+#elif (SWIG_V8_VERSION < 0x031900)
+ void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Value> object, void *parameter);
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
void (*dtor) (v8::Isolate *isolate, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy);
+#else
+ void (*dtor) (const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data);
#endif
};
-v8::Persistent<v8::FunctionTemplate> SWIGV8_SWIGTYPE_Proxy_class_templ;
+static v8::Persistent<v8::FunctionTemplate> SWIGV8_SWIGTYPE_Proxy_class_templ;
-int SWIG_V8_ConvertInstancePtr(v8::Handle<v8::Object> objRef, void** ptr, swig_type_info *info, int flags) {
- v8::HandleScope scope;
+static int SWIG_V8_ConvertInstancePtr(v8::Handle<v8::Object> objRef, void **ptr, swig_type_info *info, int flags) {
+ SWIGV8_HANDLESCOPE();
if(objRef->InternalFieldCount() < 1) return SWIG_ERROR;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031511)
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(v8::External::Unwrap(cdataRef));
#else
@@ -143,20 +232,24 @@ int SWIG_V8_ConvertInstancePtr(v8::Handle<v8::Object> objRef, void** ptr, swig_t
return SWIG_OK;
}
-#if (SWIG_V8_VERSION < 0x031900)
-void SWIGV8_Proxy_DefaultDtor(v8::Persistent< v8::Value > object, void *parameter)
-#else
-void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy)
-#endif
-{
-#if (SWIG_V8_VERSION < 0x031900)
+
+#if (SWIG_V8_VERSION < 0x031710)
+static void SWIGV8_Proxy_DefaultDtor(v8::Persistent< v8::Value > object, void *parameter) {
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < 0x031900)
+static void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Value > object, void *parameter) {
+ SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+static void SWIGV8_Proxy_DefaultDtor(v8::Isolate *, v8::Persistent< v8::Object > *object, SWIGV8_Proxy *proxy) {
+#else
+static void SWIGV8_Proxy_DefaultDtor(const v8::WeakCallbackData<v8::Object, SWIGV8_Proxy> &data) {
+ SWIGV8_Proxy *proxy = data.GetParameter();
#endif
delete proxy;
}
-int SWIG_V8_GetInstancePtr(v8::Handle<v8::Value> valRef, void** ptr) {
+static int SWIG_V8_GetInstancePtr(v8::Handle<v8::Value> valRef, void **ptr) {
if(!valRef->IsObject()) {
return SWIG_TypeError;
}
@@ -164,7 +257,7 @@ int SWIG_V8_GetInstancePtr(v8::Handle<v8::Value> valRef, void** ptr) {
if(objRef->InternalFieldCount() < 1) return SWIG_ERROR;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031511)
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
SWIGV8_Proxy *cdata = static_cast<SWIGV8_Proxy *>(v8::External::Unwrap(cdataRef));
#else
@@ -180,47 +273,71 @@ int SWIG_V8_GetInstancePtr(v8::Handle<v8::Value> valRef, void** ptr) {
return SWIG_OK;
}
-void SWIGV8_SetPrivateData(v8::Handle<v8::Object> obj, void* ptr, swig_type_info *info, int flags) {
- SWIGV8_Proxy* cdata = new SWIGV8_Proxy();
+static void SWIGV8_SetPrivateData(v8::Handle<v8::Object> obj, void *ptr, swig_type_info *info, int flags) {
+ SWIGV8_Proxy *cdata = new SWIGV8_Proxy();
cdata->swigCObject = ptr;
cdata->swigCMemOwn = (flags & SWIG_POINTER_OWN) ? 1 : 0;
cdata->info = info;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031511)
obj->SetPointerInInternalField(0, cdata);
- cdata->handle = v8::Persistent<v8::Object>::New(obj);
#else
obj->SetAlignedPointerInInternalField(0, cdata);
+#endif
+
+#if (SWIG_V8_VERSION < 0x031710)
+ cdata->handle = v8::Persistent<v8::Object>::New(obj);
+#elif (SWIG_V8_VERSION < 0x031900)
+ cdata->handle = v8::Persistent<v8::Object>::New(v8::Isolate::GetCurrent(), obj);
+#else
cdata->handle.Reset(v8::Isolate::GetCurrent(), obj);
#endif
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031710)
// clientdata must be set for owned data as we need to register the dtor
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
cdata->handle.MakeWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
} else {
cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
}
- cdata->handle.MarkIndependent();
-#else
+#elif (SWIG_V8_VERSION < 0x031918)
if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
} else {
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, SWIGV8_Proxy_DefaultDtor);
}
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
+ cdata->handle.MakeWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
+ } else {
+ cdata->handle.MakeWeak(cdata, SWIGV8_Proxy_DefaultDtor);
+ }
+#else
+ if(cdata->swigCMemOwn && (SWIGV8_ClientData*)info->clientdata) {
+ cdata->handle.SetWeak(cdata, ((SWIGV8_ClientData*)info->clientdata)->dtor);
+ } else {
+ cdata->handle.SetWeak(cdata, SWIGV8_Proxy_DefaultDtor);
+ }
+#endif
-#if (SWIG_V8_VERSION < 0x032100)
+#if (SWIG_V8_VERSION < 0x031710)
+ cdata->handle.MarkIndependent();
+#elif (SWIG_V8_VERSION < 0x032100)
cdata->handle.MarkIndependent(v8::Isolate::GetCurrent());
#else
cdata->handle.MarkIndependent();
#endif
-#endif
}
-int SWIG_V8_ConvertPtr(v8::Handle<v8::Value> valRef, void** ptr, swig_type_info *info, int flags) {
- v8::HandleScope scope;
-
+static int SWIG_V8_ConvertPtr(v8::Handle<v8::Value> valRef, void **ptr, swig_type_info *info, int flags) {
+ SWIGV8_HANDLESCOPE();
+
+ /* special case: JavaScript null => C NULL pointer */
+ if(valRef->IsNull()) {
+ *ptr=0;
+ return SWIG_OK;
+ }
if(!valRef->IsObject()) {
return SWIG_TypeError;
}
@@ -228,30 +345,41 @@ int SWIG_V8_ConvertPtr(v8::Handle<v8::Value> valRef, void** ptr, swig_type_info
return SWIG_V8_ConvertInstancePtr(objRef, ptr, info, flags);
}
-v8::Handle<v8::Object> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int flags) {
- v8::HandleScope scope;
+static v8::Handle<v8::Value> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int flags) {
+ SWIGV8_HANDLESCOPE_ESC();
+
v8::Handle<v8::FunctionTemplate> class_templ;
-#if (SWIG_V8_VERSION < 0x031900)
+ if (ptr == NULL) {
+#if (SWIG_V8_VERSION < 0x031903)
+ SWIGV8_ESCAPE(SWIGV8_NULL());
+#else
+ v8::Local<v8::Primitive> result = SWIGV8_NULL();
+ SWIGV8_ESCAPE(result);
+#endif
+ }
+
+#if (SWIG_V8_VERSION < 0x031903)
if(info->clientdata != 0) {
class_templ = ((SWIGV8_ClientData*) info->clientdata)->class_templ;
} else {
class_templ = SWIGV8_SWIGTYPE_Proxy_class_templ;
}
#else
- v8::Isolate *iso = v8::Isolate::GetCurrent();
+ v8::Isolate *isolate = v8::Isolate::GetCurrent();
if(info->clientdata != 0) {
- class_templ = v8::Handle<v8::FunctionTemplate>::New(iso, ((SWIGV8_ClientData*) info->clientdata)->class_templ);
+ class_templ = v8::Local<v8::FunctionTemplate>::New(isolate, ((SWIGV8_ClientData*) info->clientdata)->class_templ);
} else {
- class_templ = v8::Handle<v8::FunctionTemplate>::New(iso, SWIGV8_SWIGTYPE_Proxy_class_templ);
+ class_templ = v8::Local<v8::FunctionTemplate>::New(isolate, SWIGV8_SWIGTYPE_Proxy_class_templ);
}
#endif
- v8::Handle<v8::Object> result = class_templ->InstanceTemplate()->NewInstance();
+// v8::Handle<v8::Object> result = class_templ->InstanceTemplate()->NewInstance();
+ v8::Local<v8::Object> result = class_templ->InstanceTemplate()->NewInstance();
SWIGV8_SetPrivateData(result, ptr, info, flags);
- return scope.Close(result);
+ SWIGV8_ESCAPE(result);
}
#define SWIG_ConvertPtr(obj, ptr, info, flags) SWIG_V8_ConvertPtr(obj, ptr, info, flags)
@@ -265,12 +393,9 @@ v8::Handle<v8::Object> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, in
#define SWIG_GetInstancePtr(obj, ptr) SWIG_V8_GetInstancePtr(obj, ptr)
-#if (SWIG_V8_VERSION < 0x031900)
-v8::Handle<v8::Value> _SWIGV8_wrap_equals(const v8::Arguments &args) {
-#else
-void _SWIGV8_wrap_equals(const v8::FunctionCallbackInfo<v8::Value>& args) {
-#endif
- v8::HandleScope scope;
+static SwigV8ReturnValue _SWIGV8_wrap_equals(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
void *arg1 = (void *) 0 ;
void *arg2 = (void *) 0 ;
@@ -290,20 +415,17 @@ void _SWIGV8_wrap_equals(const v8::FunctionCallbackInfo<v8::Value>& args) {
}
result = (bool)(arg1 == arg2);
- jsresult = v8::Boolean::New(result);
+ jsresult = SWIGV8_BOOLEAN_NEW(result);
SWIGV8_RETURN(jsresult);
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
-#if (SWIG_V8_VERSION < 0x031900)
-v8::Handle<v8::Value> _wrap_getCPtr(const v8::Arguments &args) {
-#else
-void _wrap_getCPtr(const v8::FunctionCallbackInfo<v8::Value>& args) {
-#endif
- v8::HandleScope scope;
+static SwigV8ReturnValue _wrap_getCPtr(const SwigV8Arguments &args) {
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Value> jsresult;
void *arg1 = (void *) 0 ;
long result;
@@ -315,12 +437,12 @@ void _wrap_getCPtr(const v8::FunctionCallbackInfo<v8::Value>& args) {
}
result = (long)arg1;
- jsresult = v8::Number::New(result);
+ jsresult = SWIGV8_NUMBER_NEW(result);
SWIGV8_RETURN(jsresult);
goto fail;
fail:
- SWIGV8_RETURN(v8::Undefined());
+ SWIGV8_RETURN(SWIGV8_UNDEFINED());
}
/* ---------------------------------------------------------------------------
@@ -335,7 +457,7 @@ public:
~SwigV8PackedData() {
};
- void* data;
+ void *data;
size_t size;
swig_type_info *type;
@@ -344,22 +466,24 @@ public:
SWIGRUNTIMEINLINE
int SwigV8Packed_Check(v8::Handle<v8::Value> valRef) {
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
+
v8::Handle<v8::Object> objRef = valRef->ToObject();
if(objRef->InternalFieldCount() < 1) return false;
- v8::Handle<v8::Value> flag = objRef->GetHiddenValue(v8::String::New("__swig__packed_data__"));
+ v8::Handle<v8::Value> flag = objRef->GetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"));
return (flag->IsBoolean() && flag->BooleanValue());
}
SWIGRUNTIME
-swig_type_info* SwigV8Packed_UnpackData(v8::Handle<v8::Value> valRef, void *ptr, size_t size) {
+swig_type_info *SwigV8Packed_UnpackData(v8::Handle<v8::Value> valRef, void *ptr, size_t size) {
if (SwigV8Packed_Check(valRef)) {
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE();
+
SwigV8PackedData *sobj;
v8::Handle<v8::Object> objRef = valRef->ToObject();
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031511)
v8::Handle<v8::Value> cdataRef = objRef->GetInternalField(0);
sobj = static_cast<SwigV8PackedData*>(v8::External::Unwrap(cdataRef));
#else
@@ -387,57 +511,82 @@ int SWIGV8_ConvertPacked(v8::Handle<v8::Value> valRef, void *ptr, size_t sz, swi
return SWIG_OK;
}
-#if (SWIG_V8_VERSION < 0x031900)
-void _wrap_SwigV8PackedData_delete(v8::Persistent< v8::Value > object, void *parameter)
-{
+#if (SWIG_V8_VERSION < 0x031710)
+static void _wrap_SwigV8PackedData_delete(v8::Persistent< v8::Value > object, void *parameter) {
+ SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
+#elif (SWIG_V8_VERSION < 0x031900)
+static void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Value> object, void *parameter) {
SwigV8PackedData *cdata = static_cast<SwigV8PackedData *>(parameter);
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+static void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent<v8::Object> *object, SwigV8PackedData *cdata) {
#else
-void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SwigV8PackedData *cdata)
-{
+static void _wrap_SwigV8PackedData_delete(const v8::WeakCallbackData<v8::Object, SwigV8PackedData> &data) {
+ v8::Local<v8::Object> object = data.GetValue();
+ SwigV8PackedData *cdata = data.GetParameter();
#endif
delete cdata;
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031710)
object.Clear();
object.Dispose();
+#elif (SWIG_V8_VERSION < 0x031900)
+ object.Clear();
+ object.Dispose(isolate);
#elif (SWIG_V8_VERSION < 0x032100)
object->Dispose(isolate);
-#else
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
object->Dispose();
+#else
+ object.Clear();
#endif
}
SWIGRUNTIME
v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_info *type) {
- v8::HandleScope scope;
+ SWIGV8_HANDLESCOPE_ESC();
- SwigV8PackedData* cdata = new SwigV8PackedData(data, size, type);
- v8::Handle<v8::Object> obj = v8::Object::New();
+ SwigV8PackedData *cdata = new SwigV8PackedData(data, size, type);
+// v8::Handle<v8::Object> obj = SWIGV8_OBJECT_NEW();
+ v8::Local<v8::Object> obj = SWIGV8_OBJECT_NEW();
- obj->SetHiddenValue(v8::String::New("__swig__packed_data__"), v8::Boolean::New(true));
+ obj->SetHiddenValue(SWIGV8_STRING_NEW("__swig__packed_data__"), SWIGV8_BOOLEAN_NEW(true));
-#if (SWIG_V8_VERSION < 0x031900)
+#if (SWIG_V8_VERSION < 0x031511)
obj->SetPointerInInternalField(0, cdata);
- cdata->handle = v8::Persistent<v8::Object>::New(obj);
#else
obj->SetAlignedPointerInInternalField(0, cdata);
+#endif
+
+#if (SWIG_V8_VERSION < 0x031710)
+ cdata->handle = v8::Persistent<v8::Object>::New(obj);
+#elif (SWIG_V8_VERSION < 0x031900)
+ cdata->handle = v8::Persistent<v8::Object>::New(v8::Isolate::GetCurrent(), obj);
+#else
cdata->handle.Reset(v8::Isolate::GetCurrent(), obj);
#endif
-#if (SWIG_V8_VERSION < 0x031900)
+
+#if (SWIG_V8_VERSION < 0x031710)
cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
- cdata->handle.MarkIndependent();
-#else
+#elif (SWIG_V8_VERSION < 0x031918)
cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete);
-# if (SWIG_V8_VERSION < 0x032100)
+#elif (SWIG_V8_VERSION < SWIGV8_SETWEAK_VERSION)
+ cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete);
+#else
+ cdata->handle.SetWeak(cdata, _wrap_SwigV8PackedData_delete);
+// v8::V8::SetWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete);
+#endif
+
+#if (SWIG_V8_VERSION < 0x031710)
+ cdata->handle.MarkIndependent();
+#elif (SWIG_V8_VERSION < 0x032100)
cdata->handle.MarkIndependent(v8::Isolate::GetCurrent());
-# else
+#else
cdata->handle.MarkIndependent();
-# endif
#endif
- return scope.Close(obj);
+ SWIGV8_ESCAPE(obj);
}
#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIGV8_ConvertPacked(obj, ptr, sz, ty)
@@ -450,13 +599,23 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf
* ---------------------------------------------------------------------------*/
SWIGRUNTIME
+
+#if (SWIG_V8_VERSION < 0x031903)
v8::Handle<v8::Value> SWIGV8_AppendOutput(v8::Handle<v8::Value> result, v8::Handle<v8::Value> obj) {
- v8::HandleScope scope;
+#else
+v8::Handle<v8::Value> SWIGV8_AppendOutput(v8::Local<v8::Value> result, v8::Handle<v8::Value> obj) {
+#endif
+ SWIGV8_HANDLESCOPE_ESC();
+
if (result->IsUndefined()) {
- result = v8::Array::New();
+ result = SWIGV8_ARRAY_NEW();
}
+#if (SWIG_V8_VERSION < 0x031903)
v8::Handle<v8::Array> arr = v8::Handle<v8::Array>::Cast(result);
+#else
+ v8::Local<v8::Array> arr = v8::Local<v8::Array>::Cast(result);
+#endif
arr->Set(arr->Length(), obj);
- return scope.Close(arr);
+ SWIGV8_ESCAPE(arr);
}
diff --git a/Lib/javascript/v8/javascriptstrings.swg b/Lib/javascript/v8/javascriptstrings.swg
index 69b6836a8..65ba20e5a 100644
--- a/Lib/javascript/v8/javascriptstrings.swg
+++ b/Lib/javascript/v8/javascriptstrings.swg
@@ -47,13 +47,13 @@ SWIG_FromCharPtrAndSize(const char* carray, size_t size)
if (carray) {
if (size > INT_MAX) {
// TODO: handle extra long strings
- return v8::Undefined();
+ return SWIGV8_UNDEFINED();
} else {
- v8::Handle<v8::String> js_str = v8::String::New(carray, size);
+ v8::Handle<v8::String> js_str = SWIGV8_STRING_NEW2(carray, size);
return js_str;
}
} else {
- return v8::Undefined();
+ return SWIGV8_UNDEFINED();
}
}
}
diff --git a/Lib/javascript/v8/javascripttypemaps.swg b/Lib/javascript/v8/javascripttypemaps.swg
index 90317a1c7..4601698e0 100644
--- a/Lib/javascript/v8/javascripttypemaps.swg
+++ b/Lib/javascript/v8/javascripttypemaps.swg
@@ -26,7 +26,7 @@
/* Javascript types */
#define SWIG_Object v8::Handle<v8::Value>
-#define VOID_Object v8::Undefined()
+#define VOID_Object SWIGV8_UNDEFINED()
/* Overload of the output/constant/exception/dirout handling */
diff --git a/Lib/javascript/v8/std_common.i b/Lib/javascript/v8/std_common.i
index cee11e8ca..cee11e8ca 100755..100644
--- a/Lib/javascript/v8/std_common.i
+++ b/Lib/javascript/v8/std_common.i
diff --git a/Lib/javascript/v8/std_map.i b/Lib/javascript/v8/std_map.i
index e7812f38a..e7812f38a 100755..100644
--- a/Lib/javascript/v8/std_map.i
+++ b/Lib/javascript/v8/std_map.i
diff --git a/Lib/javascript/v8/std_pair.i b/Lib/javascript/v8/std_pair.i
index 8d6057223..8d6057223 100755..100644
--- a/Lib/javascript/v8/std_pair.i
+++ b/Lib/javascript/v8/std_pair.i
diff --git a/Lib/javascript/v8/std_string.i b/Lib/javascript/v8/std_string.i
index 5ad1ead27..dc1378ae6 100755..100644
--- a/Lib/javascript/v8/std_string.i
+++ b/Lib/javascript/v8/std_string.i
@@ -1,79 +1 @@
-/* -----------------------------------------------------------------------------
- * std_string.i
- *
- * Typemaps for std::string and const std::string&.
- *
- * To use non-const std::string references use the following %apply:
- * %apply const std::string & {std::string &};
- *
- * ----------------------------------------------------------------------------- */
-
-%{
-#include <string>
-%}
-
-%fragment("SWIGV8_valueToString", "header", fragment="SWIG_AsCharPtrAndSize") {
-std::string* SWIGV8_valueToStringPtr(v8::Handle<v8::Value> val) {
-
- if (!val->IsString()) return 0;
-
- int alloc;
- size_t size;
- char* chars;
- int res = SWIG_AsCharPtrAndSize(val, &chars, &size, &alloc);
-
- if(res != SWIG_OK) {
- v8::ThrowException(v8::Exception::TypeError(v8::String::New("Could not convert to string.")));
- return 0;
- }
-
- // copies the data (again)
- std::string *str = new std::string(chars);
-
- if (alloc) delete[] chars;
-
- return str;
-}
-}
-
-%fragment("SWIGV8_stringToValue", "header", fragment="SWIG_FromCharPtrAndSize") {
-v8::Handle<v8::Value> SWIGV8_stringToValue(const std::string &str) {
- return SWIG_FromCharPtrAndSize(str.c_str(), str.length());
-}
-}
-
-namespace std {
- %naturalvar string;
-
- class string;
-
- %typemap(in, fragment="SWIGV8_valueToString") string (std::string* tmp)
- %{
- tmp = SWIGV8_valueToStringPtr($input);
- $1 = *tmp;
- if (tmp == 0) { v8::ThrowException(v8::Exception::TypeError(v8::String::New("Null pointer."))); goto fail; }
- if (tmp) delete tmp;
- %}
-
- %typemap(in, fragment="SWIGV8_valueToString") const string &
- %{
- $1 = SWIGV8_valueToStringPtr($input);
- if ($1 == 0) { v8::ThrowException(v8::Exception::TypeError(v8::String::New("Null pointer."))); goto fail; }
- %}
-
- %typemap(freearg) const string &
- %{
- if ($1) delete $1;
- %}
-
- %typemap(out, fragment="SWIGV8_stringToValue") string
- %{
- $result = SWIGV8_stringToValue($1);
- %}
-
- %typemap(out, fragment="SWIGV8_stringToValue") const string &
- %{
- $result = SWIGV8_stringToValue(*$1);
- %}
-
-}
+%include <typemaps/std_string.swg>
diff --git a/Lib/javascript/v8/std_vector.i b/Lib/javascript/v8/std_vector.i
index 3f29b19c7..971b426a1 100755..100644
--- a/Lib/javascript/v8/std_vector.i
+++ b/Lib/javascript/v8/std_vector.i
@@ -61,7 +61,7 @@ namespace std {
%rename(add) push_back;
void push_back(const value_type& x);
%extend {
- const_reference get(int i) throw (std::out_of_range) {
+ bool get(int i) throw (std::out_of_range) {
int size = int(self->size());
if (i>=0 && i<size)
return (*self)[i];
diff --git a/Lib/javascript/v8/stl.i b/Lib/javascript/v8/stl.i
index 04f86014f..04f86014f 100755..100644
--- a/Lib/javascript/v8/stl.i
+++ b/Lib/javascript/v8/stl.i