diff options
author | Oliver Buchtala <oliver.buchtala@googlemail.com> | 2013-09-16 00:55:43 +0200 |
---|---|---|
committer | Oliver Buchtala <oliver.buchtala@googlemail.com> | 2013-09-16 00:55:43 +0200 |
commit | bb7bd50eabdf5cc2f07640227713ef75dc1c8fce (patch) | |
tree | 24487328a784d16477363e41f2bb14784e91e4a2 /Lib/javascript/v8/javascriptrun.swg | |
parent | 477b2393b10f664696b8cf1e49c2b98deab39d79 (diff) | |
download | swig-bb7bd50eabdf5cc2f07640227713ef75dc1c8fce.tar.gz |
Add support for IN/OUTPUT typemaps.
Diffstat (limited to 'Lib/javascript/v8/javascriptrun.swg')
-rw-r--r-- | Lib/javascript/v8/javascriptrun.swg | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/javascript/v8/javascriptrun.swg b/Lib/javascript/v8/javascriptrun.swg index bab81613c..14936986f 100644 --- a/Lib/javascript/v8/javascriptrun.swg +++ b/Lib/javascript/v8/javascriptrun.swg @@ -442,3 +442,21 @@ v8::Handle<v8::Value> SWIGV8_NewPackedObj(void *data, size_t size, swig_type_inf #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIGV8_ConvertPacked(obj, ptr, sz, ty) #define SWIG_NewMemberObj(ptr, sz, type) SWIGV8_NewPackedObj(ptr, sz, type) + + +/* --------------------------------------------------------------------------- + * Support for IN/OUTPUT typemaps (see Lib/typemaps/inoutlist.swg) + * + * ---------------------------------------------------------------------------*/ + +SWIGRUNTIME +v8::Handle<v8::Value> SWIGV8_AppendOutput(v8::Handle<v8::Value> result, v8::Handle<v8::Value> obj) { + v8::HandleScope scope; + if (result->IsUndefined()) { + result = v8::Array::New(); + } + v8::Handle<v8::Array> arr = v8::Handle<v8::Array>::Cast(result); + arr->Set(arr->Length(), obj); + + return scope.Close(arr); +} |