summaryrefslogtreecommitdiff
path: root/Lib/javascript/v8/javascriptrun.swg
diff options
context:
space:
mode:
authorOliver Buchtala <oliver.buchtala@googlemail.com>2013-09-16 00:55:43 +0200
committerOliver Buchtala <oliver.buchtala@googlemail.com>2013-09-16 00:55:43 +0200
commitbb7bd50eabdf5cc2f07640227713ef75dc1c8fce (patch)
tree24487328a784d16477363e41f2bb14784e91e4a2 /Lib/javascript/v8/javascriptrun.swg
parent477b2393b10f664696b8cf1e49c2b98deab39d79 (diff)
downloadswig-bb7bd50eabdf5cc2f07640227713ef75dc1c8fce.tar.gz
Add support for IN/OUTPUT typemaps.
Diffstat (limited to 'Lib/javascript/v8/javascriptrun.swg')
-rw-r--r--Lib/javascript/v8/javascriptrun.swg18
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);
+}