From 00457b65995e0edb8e783ea13d4d2740e08ecb62 Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 30 Sep 2014 12:33:49 -0300 Subject: [PATCH] Making generated code more readable --- Lib/javascript/v8/javascriptcode.swg | 10 +++------- Lib/javascript/v8/javascriptinit.swg | 8 +------- Lib/javascript/v8/javascriptrun.swg | 8 ++++++++ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg index 5af026d0b..12db9b4ab 100644 --- a/Lib/javascript/v8/javascriptcode.swg +++ b/Lib/javascript/v8/javascriptcode.swg @@ -357,14 +357,9 @@ fail: * ----------------------------------------------------------------------------- */ %fragment("jsv8_define_class_template", "templates") %{ + /* Name: $jsmangledname, Type: $jsmangledtype, Dtor: $jsdtor */ v8::Handle $jsmangledname_class = SWIGV8_CreateClassTemplate("$jsmangledname"); -#if (SWIG_V8_VERSION < 0x031710) - $jsmangledname_clientData.class_templ = v8::Persistent::New($jsmangledname_class); -#elif (SWIG_V8_VERSION < 0x031900) - $jsmangledname_clientData.class_templ = v8::Persistent::New(v8::Isolate::GetCurrent(), $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; @@ -408,6 +403,7 @@ fail: * ----------------------------------------------------------------------------- */ %fragment("jsv8_create_class_instance", "templates") %{ + /* Class: $jsname ($jsmangledname) */ v8::Handle $jsmangledname_class_0 = SWIGV8_CreateClassTemplate("$jsname"); $jsmangledname_class_0->SetCallHandler($jsctor); $jsmangledname_class_0->Inherit($jsmangledname_class); diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg index 03ea5e658..34befa7ce 100644 --- a/Lib/javascript/v8/javascriptinit.swg +++ b/Lib/javascript/v8/javascriptinit.swg @@ -82,13 +82,7 @@ void SWIGV8_INIT (v8::Handle exports, v8::Handle /*modul %fragment("js_initializer", "templates") %{ // a class template for creating proxies of undefined types -#if (SWIG_V8_VERSION < 0x031710) - SWIGV8_SWIGTYPE_Proxy_class_templ = v8::Persistent::New(SWIGV8_CreateClassTemplate("SwigProxy")); -#elif (SWIG_V8_VERSION < 0x031900) - SWIGV8_SWIGTYPE_Proxy_class_templ = v8::Persistent::New(v8::Isolate::GetCurrent(), 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 diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg index d9a6b591a..b37059cca 100644 --- a/Lib/javascript/v8/javascriptrun.swg +++ b/Lib/javascript/v8/javascriptrun.swg @@ -83,6 +83,14 @@ typedef v8::PropertyCallbackInfo SwigV8PropertyCallbackInfo; #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::New(class); +#elif (SWIG_V8_VERSION < 0x031900) +#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ = v8::Persistent::New(v8::Isolate::GetCurrent(), class); +#else +#define SWIGV8_SET_CLASS_TEMPL(class_templ, class) class_templ.Reset(v8::Isolate::GetCurrent(), class); +#endif + /* --------------------------------------------------------------------------- * Error handling *