diff options
Diffstat (limited to 'Lib/javascript/v8/javascriptcode.swg')
-rw-r--r-- | Lib/javascript/v8/javascriptcode.swg | 133 |
1 files changed, 79 insertions, 54 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); %} /* ----------------------------------------------------------------------------- |