diff options
author | Richard <richie765@gmail.com> | 2014-08-21 20:52:48 -0500 |
---|---|---|
committer | Richard <richie765@gmail.com> | 2014-08-28 19:46:50 -0500 |
commit | e0c0670540235420626649dadc86d96b676b5f19 (patch) | |
tree | 85f8e535b4038d4f16a8c91e1afa469e854aff72 | |
parent | 98b1fca4d8e71dc25fec68906e193d74765db074 (diff) | |
download | swig-e0c0670540235420626649dadc86d96b676b5f19.tar.gz |
Partially fixed for 3.25.30 (0x032530) - unfinished
-rw-r--r-- | Lib/javascript/v8/javascriptcode.swg | 82 | ||||
-rw-r--r-- | Lib/javascript/v8/javascriptcomplex.swg | 22 | ||||
-rw-r--r-- | Lib/javascript/v8/javascripthelpers.swg | 24 | ||||
-rw-r--r-- | Lib/javascript/v8/javascriptinit.swg | 16 | ||||
-rw-r--r-- | Lib/javascript/v8/javascriptprimtypes.swg | 12 | ||||
-rw-r--r-- | Lib/javascript/v8/javascriptrun.swg | 139 | ||||
-rw-r--r-- | Lib/javascript/v8/javascriptstrings.swg | 6 | ||||
-rw-r--r-- | Lib/javascript/v8/javascripttypemaps.swg | 2 |
8 files changed, 129 insertions, 174 deletions
diff --git a/Lib/javascript/v8/javascriptcode.swg b/Lib/javascript/v8/javascriptcode.swg index 85e26d5f3..e82720e1c 100644 --- a/Lib/javascript/v8/javascriptcode.swg +++ b/Lib/javascript/v8/javascriptcode.swg @@ -9,11 +9,7 @@ %fragment("js_ctor", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Object> self = args.Holder(); $jslocals @@ -25,7 +21,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { goto fail; fail: - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -37,14 +33,10 @@ fail: %fragment ("js_veto_ctor", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); SWIG_exception(SWIG_ERROR, "Class $jsname can not be instantiated"); - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -57,11 +49,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { %fragment ("js_ctor_dispatcher", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); OverloadErrorHandler errorHandler; v8::Handle<v8::Value> self; @@ -73,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()); } %} @@ -87,11 +75,7 @@ fail: * ----------------------------------------------------------------------------- */ %fragment("js_overloaded_ctor", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8_ErrorHandler) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Object> self = args.Holder(); $jslocals @@ -103,7 +87,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8 goto fail; fail: - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -118,10 +102,10 @@ fail: %{ if(args.Length() == $jsargcount) { errorHandler.err.Clear(); -#if SWIG_V8_VERSION < 0x031903 +#if (SWIG_V8_VERSION < 0x031903) self = $jswrapper(args, errorHandler); if(errorHandler.err.IsEmpty()) { - return scope.Close(self); + SWIGV8_ESCAPE(self); } #else $jswrapper(args, errorHandler); @@ -221,11 +205,7 @@ 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) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; $jslocals @@ -234,7 +214,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); } %} @@ -248,11 +228,7 @@ fail: %{ void $jswrapper(v8::Local<v8::String> property, v8::Local<v8::Value> value, const SwigV8PropertyCallbackInfoVoid& info) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); $jslocals $jscode @@ -271,11 +247,7 @@ fail: %fragment("js_function", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; $jslocals @@ -286,7 +258,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { goto fail; fail: - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -300,11 +272,7 @@ fail: %fragment("js_function_dispatcher", "templates") %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; OverloadErrorHandler errorHandler; @@ -314,7 +282,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args) { goto fail; fail: - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -328,11 +296,7 @@ fail: %{ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8_ErrorHandler) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; $jslocals @@ -341,7 +305,7 @@ SwigV8ReturnValue $jswrapper(const SwigV8Arguments& args, V8ErrorHandler& SWIGV8 goto fail; fail: - SWIGV8_RETURN(v8::Undefined()); + SWIGV8_RETURN(SWIGV8_UNDEFINED()); } %} @@ -359,7 +323,7 @@ fail: #if (SWIG_V8_VERSION < 0x031903) jsresult = $jswrapper(args, errorHandler); if(errorHandler.err.IsEmpty()) { - return scope.Close(jsresult); + SWIGV8_ESCAPE(jsresult); } #else $jswrapper(args, errorHandler); @@ -453,7 +417,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); %} /* ----------------------------------------------------------------------------- @@ -462,7 +426,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(); %} /* ----------------------------------------------------------------------------- @@ -473,7 +437,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 88573c2f2..683b972bc 100644 --- a/Lib/javascript/v8/javascriptcomplex.swg +++ b/Lib/javascript/v8/javascriptcomplex.swg @@ -15,17 +15,13 @@ SWIGINTERNINLINE v8::Handle<v8::Value> SWIG_From_dec(Type)(%ifcplusplus(const Type&, Type) c) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE_ESC(); - v8::Local<v8::Array> vals = v8::Array::New(2); + 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 @@ -38,11 +34,7 @@ SWIG_From_dec(Type)(%ifcplusplus(const Type&, Type) c) SWIGINTERN int SWIG_AsVal_dec(Type) (v8::Handle<v8::Value> o, Type* val) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); if (o->IsArray()) { v8::Handle<v8::Array> array = v8::Handle<v8::Array>::Cast(o); @@ -84,11 +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) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + 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 630946d07..969225401 100644 --- a/Lib/javascript/v8/javascripthelpers.swg +++ b/Lib/javascript/v8/javascripthelpers.swg @@ -17,25 +17,21 @@ typedef v8::PropertyCallbackInfo<void> SwigV8PropertyCallbackInfoVoid; * Creates a class template for a class with specified initialization function. */ SWIGRUNTIME v8::Handle<v8::FunctionTemplate> SWIGV8_CreateClassTemplate(const char* symbol) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE_ESC(); - v8::Local<v8::FunctionTemplate> class_templ = v8::FunctionTemplate::New(); - class_templ->SetClassName(v8::String::NewSymbol(symbol)); + 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); } /** @@ -44,7 +40,7 @@ SWIGRUNTIME v8::Handle<v8::FunctionTemplate> SWIGV8_CreateClassTemplate(const ch 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)); } /** @@ -53,7 +49,7 @@ SWIGRUNTIME void SWIGV8_AddMemberFunction(v8::Handle<v8::FunctionTemplate> class 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); } /** @@ -61,7 +57,7 @@ SWIGRUNTIME void SWIGV8_AddMemberVariable(v8::Handle<v8::FunctionTemplate> class */ 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()); } /** @@ -69,7 +65,7 @@ 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) { - obj->SetAccessor(v8::String::NewSymbol(symbol), getter, setter); + obj->SetAccessor(SWIGV8_SYMBOL_NEW(symbol), getter, setter); } SWIGRUNTIME void JS_veto_set_variable(v8::Local<v8::String> property, v8::Local<v8::Value> value, diff --git a/Lib/javascript/v8/javascriptinit.swg b/Lib/javascript/v8/javascriptinit.swg index 97b273dc1..03ea5e658 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,11 +61,7 @@ void SWIGV8_INIT (v8::Handle<v8::Object> exports, v8::Handle<v8::Object> /*modul { SWIG_InitializeModule(static_cast<void *>(&exports)); -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Object> exports_obj = exports; %} diff --git a/Lib/javascript/v8/javascriptprimtypes.swg b/Lib/javascript/v8/javascriptprimtypes.swg index 706a799b7..2bb03a35f 100644 --- a/Lib/javascript/v8/javascriptprimtypes.swg +++ b/Lib/javascript/v8/javascriptprimtypes.swg @@ -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 311902378..bdedb25ac 100644 --- a/Lib/javascript/v8/javascriptrun.swg +++ b/Lib/javascript/v8/javascriptrun.swg @@ -9,7 +9,7 @@ #define SWIGV8_OVERLOAD false void SWIG_V8_Raise(const char* msg) { - v8::ThrowException(v8::Exception::Error(v8::String::New(msg))); + v8::ThrowException(v8::Exception::Error(SWIGV8_STRING_NEW(msg))); } /* @@ -39,7 +39,7 @@ V8ErrorHandler SWIGV8_ErrorHandler; class OverloadErrorHandler: public V8ErrorHandler { public: virtual void error(int code, const char* msg) { - err = v8::Exception::Error(v8::String::New(msg)); + err = v8::Exception::Error(SWIGV8_STRING_NEW(msg)); if(code != SWIG_TypeError) { v8::ThrowException(err); } @@ -63,6 +63,55 @@ typedef v8::PropertyCallbackInfo<v8::Value> SwigV8PropertyCallbackInfo; #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 < 0x032530) +#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 < 0x032530) +#define SWIGV8_CURRENT_CONTEXT() v8::Context::GetCurrent() +#define SWIGV8_STRING_NEW(str) v8::String::New(str) +#define SWIGV8_STRING_NEW2(cstr, len) v8::String::New(cstr, kNormalString, len) +#define SWIGV8_FUNCTEMPLATE_NEW(func) v8::FunctionTemplate::New(func) +#define SWIGV8_FUNCTEMPLATE_NEW_VOID() v8::FunctionTemplate::New() +#define SWIGV8_OBJECT_NEW() v8::Object::New() +#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(val) +#define SWIGV8_UNDEFINED() v8::Undefined() +#define SWIGV8_NULL() v8::Null() +#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(bool) +#define SWIGV8_ARRAY_NEW() v8::Array::New() +#define SWIGV8_NUMBER_NEW(num) v8::Number::New(num) +#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewSymbol(sym) +#define SWIGV8_INTEGER_NEW(num) v8::Integer::New(num) +#define SWIGV8_INTEGER_NEW_UNS(num) v8::Integer::NewFromUnsigned(num) +#define SWIGV8_INT32_NEW(num) v8::Int32::New(num) +#else +#define SWIGV8_CURRENT_CONTEXT() v8::Isolate::GetCurrent()->GetCurrentContext() +#define SWIGV8_STRING_NEW(str) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), str) +#define SWIGV8_STRING_NEW2(cstr, len) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), cstr, v8::String::kNormalString, len) +#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_OBJECT_NEW() v8::Object::New(v8::Isolate::GetCurrent()) +#define SWIGV8_EXTERNAL_NEW(val) v8::External::New(v8::Isolate::GetCurrent(), val) +#define SWIGV8_UNDEFINED() v8::Undefined(v8::Isolate::GetCurrent()) +#define SWIGV8_NULL() v8::Null(v8::Isolate::GetCurrent()) +#define SWIGV8_BOOLEAN_NEW(bool) v8::Boolean::New(v8::Isolate::GetCurrent(), bool) +#define SWIGV8_ARRAY_NEW() v8::Array::New(v8::Isolate::GetCurrent()) +#define SWIGV8_NUMBER_NEW(num) v8::Number::New(v8::Isolate::GetCurrent(), num) +#define SWIGV8_SYMBOL_NEW(sym) v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), sym) +#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_INT32_NEW(num) v8::Int32::New(v8::Isolate::GetCurrent(), num) +#endif /* --------------------------------------------------------------------------- * Basic Proxy object @@ -117,11 +166,7 @@ public: 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) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); if(objRef->InternalFieldCount() < 1) return SWIG_ERROR; @@ -243,11 +288,7 @@ void SWIGV8_SetPrivateData(v8::Handle<v8::Object> obj, void* ptr, swig_type_info } int SWIG_V8_ConvertPtr(v8::Handle<v8::Value> valRef, void** ptr, swig_type_info *info, int flags) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); /* special case: JavaScript null => C NULL pointer */ if(valRef->IsNull()) { @@ -262,16 +303,12 @@ int SWIG_V8_ConvertPtr(v8::Handle<v8::Value> valRef, void** ptr, swig_type_info } v8::Handle<v8::Value> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int flags) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE_ESC(); v8::Handle<v8::FunctionTemplate> class_templ; if (ptr == NULL) { - return scope.Close(v8::Null()); + SWIGV8_ESCAPE(SWIGV8_NULL); } #if (SWIG_V8_VERSION < 0x031903) @@ -293,7 +330,7 @@ v8::Handle<v8::Value> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int v8::Handle<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) @@ -308,12 +345,7 @@ v8::Handle<v8::Value> SWIG_V8_NewPointerObj(void *ptr, swig_type_info *info, int #define SWIG_GetInstancePtr(obj, ptr) SWIG_V8_GetInstancePtr(obj, ptr) SwigV8ReturnValue _SWIGV8_wrap_equals(const SwigV8Arguments &args) { - -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; void *arg1 = (void *) 0 ; @@ -334,21 +366,16 @@ SwigV8ReturnValue _SWIGV8_wrap_equals(const SwigV8Arguments &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()); } SwigV8ReturnValue _wrap_getCPtr(const SwigV8Arguments &args) { - -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); v8::Handle<v8::Value> jsresult; void *arg1 = (void *) 0 ; @@ -361,12 +388,12 @@ SwigV8ReturnValue _wrap_getCPtr(const SwigV8Arguments &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()); } /* --------------------------------------------------------------------------- @@ -390,28 +417,18 @@ public: SWIGRUNTIMEINLINE int SwigV8Packed_Check(v8::Handle<v8::Value> valRef) { - -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + 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) { if (SwigV8Packed_Check(valRef)) { - -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE(); SwigV8PackedData *sobj; @@ -475,16 +492,12 @@ void _wrap_SwigV8PackedData_delete(v8::Isolate *isolate, v8::Persistent< v8::Obj SWIGRUNTIME v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_info *type) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE_ESC(); SwigV8PackedData* cdata = new SwigV8PackedData(data, size, type); - v8::Handle<v8::Object> obj = v8::Object::New(); + v8::Handle<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 < 0x031511) obj->SetPointerInInternalField(0, cdata); @@ -505,8 +518,10 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); #elif (SWIG_V8_VERSION < 0x031918) cdata->handle.MakeWeak(v8::Isolate::GetCurrent(), cdata, _wrap_SwigV8PackedData_delete); -#else +#elif (SWIG_V8_VERSION < 0x032530) cdata->handle.MakeWeak(cdata, _wrap_SwigV8PackedData_delete); +#else + v8::V8::MakeWeak(&cdata->handle, cdata, _wrap_SwigV8PackedData_delete); #endif #if (SWIG_V8_VERSION < 0x031710) @@ -517,7 +532,7 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf cdata->handle.MarkIndependent(); #endif - return scope.Close(obj); + SWIGV8_ESCAPE(obj); } #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIGV8_ConvertPacked(obj, ptr, sz, ty) @@ -531,17 +546,13 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf SWIGRUNTIME v8::Handle<v8::Value> SWIGV8_AppendOutput(v8::Handle<v8::Value> result, v8::Handle<v8::Value> obj) { -#if (SWIG_V8_VERSION < 0x032117) - v8::HandleScope scope; -#else - v8::HandleScope scope(v8::Isolate::GetCurrent()); -#endif + SWIGV8_HANDLESCOPE_ESC(); if (result->IsUndefined()) { - result = v8::Array::New(); + result = SWIGV8_ARRAY_NEW(); } v8::Handle<v8::Array> arr = v8::Handle<v8::Array>::Cast(result); 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 */ |