/usr/share/swig/3.0.12/javascript/jsc
NameSizeModeActions
arrays_javascript.i33530644editdlrm
ccomplex.i7710644editdlrm
cdata.i300644editdlrm
complex.i800644editdlrm
exception.i340644editdlrm
javascript.swg4390644editdlrm
javascriptcode.swg158120644editdlrm
javascriptcomplex.swg37260644editdlrm
javascriptfragments.swg5590644editdlrm
javascripthelpers.swg23770644editdlrm
javascriptinit.swg20640644editdlrm
javascriptkw.swg10150644editdlrm
javascriptprimtypes.swg43080644editdlrm
javascriptrun.swg102340644editdlrm
javascriptruntime.swg5570644editdlrm
javascriptstrings.swg59520644editdlrm
javascripttypemaps.swg19800644editdlrm
std_common.i1020644editdlrm
std_complex.i4740644editdlrm
std_deque.i280644editdlrm
std_except.i350644editdlrm
std_map.i23370644editdlrm
std_pair.i7120644editdlrm
std_string.i350644editdlrm
std_vector.i26330644editdlrm
stl.i2910644editdlrm
typemaps.i44140644editdlrm
Edit: /usr/share/swig/3.0.12/javascript/jsc/arrays_javascript.i (3353B)
/* ----------------------------------------------------------------------------- * arrays_javascript.i * * These typemaps give more natural support for arrays. The typemaps are not efficient * as there is a lot of copying of the array values whenever the array is passed to C/C++ * from JavaScript and vice versa. The JavaScript array is expected to be the same size as the C array. * An exception is thrown if they are not. * * Example usage: * Wrapping: * * %include * %inline %{ * extern int FiddleSticks[3]; * %} * * Use from JavaScript like this: * * var fs = [10, 11, 12]; * example.FiddleSticks = fs; * fs = example.FiddleSticks; * ----------------------------------------------------------------------------- */ %fragment("SWIG_JSCGetIntProperty", "header", fragment=SWIG_AsVal_frag(int)) {} %fragment("SWIG_JSCGetNumberProperty", "header", fragment=SWIG_AsVal_frag(double)) {} %typemap(in, fragment="SWIG_JSCGetIntProperty") int[], int[ANY] (int length = 0, JSObjectRef array, JSValueRef jsvalue, int i = 0, int res = 0, $*1_ltype temp) { if (JSValueIsObject(context, $input)) { // Convert into Array array = JSValueToObject(context, $input, NULL); length = $1_dim0; $1 = ($*1_ltype *)malloc(sizeof($*1_ltype) * length); // Get each element from array for (i = 0; i < length; i++) { jsvalue = JSObjectGetPropertyAtIndex(context, array, i, NULL); // Get primitive value from JSObject res = SWIG_AsVal(int)(jsvalue, &temp); if (!SWIG_IsOK(res)) { SWIG_exception_fail(SWIG_ERROR, "Failed to convert $input to double"); } arg$argnum[i] = temp; } } else { SWIG_exception_fail(SWIG_ERROR, "$input is not JSObjectRef"); } } %typemap(freearg) int[], int[ANY] { free($1); } %typemap(out, fragment=SWIG_From_frag(int)) int[], int[ANY] (int length = 0, int i = 0) { length = $1_dim0; JSValueRef values[length]; for (i = 0; i < length; i++) { values[i] = SWIG_From(int)($1[i]); } $result = JSObjectMakeArray(context, length, values, NULL); } %typemap(in, fragment="SWIG_JSCGetNumberProperty") double[], double[ANY] (int length = 0, JSObjectRef array, JSValueRef jsvalue, int i = 0, int res = 0, $*1_ltype temp) { if (JSValueIsObject(context, $input)) { // Convert into Array array = JSValueToObject(context, $input, NULL); length = $1_dim0; $1 = ($*1_ltype *)malloc(sizeof($*1_ltype) * length); // Get each element from array for (i = 0; i < length; i++) { jsvalue = JSObjectGetPropertyAtIndex(context, array, i, NULL); // Get primitive value from JSObject res = SWIG_AsVal(double)(jsvalue, &temp); if (!SWIG_IsOK(res)) { SWIG_exception_fail(SWIG_ERROR, "Failed to convert $input to double"); } arg$argnum[i] = temp; } } else { SWIG_exception_fail(SWIG_ERROR, "$input is not JSObjectRef"); } } %typemap(freearg) double[], double[ANY] { free($1); } %typemap(out, fragment=SWIG_From_frag(double)) double[], double[ANY] (int length = 0, int i = 0) { length = $1_dim0; JSValueRef values[length]; for (i = 0; i < length; i++) { values[i] = SWIG_From(double)($1[i]); } $result = JSObjectMakeArray(context, length, values, NULL); }