diff options
author | Ian Lance Taylor <iant@google.com> | 2012-10-02 14:53:13 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2012-10-02 14:53:13 +0000 |
commit | 5e30ec58e83c95c48879fe21c63f7dfffe2b4edd (patch) | |
tree | b389adde8aa9bcd9e88dc8ee4688b546fd0ee93f /Lib/go | |
parent | 8af91dcc754ae002e815d20a5acc80452a6e9500 (diff) | |
download | swig-5e30ec58e83c95c48879fe21c63f7dfffe2b4edd.tar.gz |
Adjust typemaps.i for change in handling of reference to slice.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13856 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Lib/go')
-rw-r--r-- | Lib/go/typemaps.i | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/Lib/go/typemaps.i b/Lib/go/typemaps.i index 89b29fb96..c339fb37e 100644 --- a/Lib/go/typemaps.i +++ b/Lib/go/typemaps.i @@ -62,12 +62,9 @@ char * typemaps instead: %define INPUT_TYPEMAP(TYPE, GOTYPE) %typemap(gotype) TYPE *INPUT, TYPE &INPUT "GOTYPE" -%typemap(in) TYPE *INPUT + %typemap(in) TYPE *INPUT, TYPE &INPUT %{ $1 = ($1_ltype)&$input; %} -%typemap(in) TYPE &INPUT -%{ $1 = ($1_ltype)$input; %} - %typemap(out) TYPE *INPUT, TYPE &INPUT "" %typemap(freearg) TYPE *INPUT, TYPE &INPUT "" @@ -160,7 +157,7 @@ char * typemaps instead: %define OUTPUT_TYPEMAP(TYPE, GOTYPE) %typemap(gotype) TYPE *OUTPUT, TYPE &OUTPUT %{[]GOTYPE%} -%typemap(in) TYPE *OUTPUT($*1_ltype temp) +%typemap(in) TYPE *OUTPUT($*1_ltype temp), TYPE &OUTPUT($*1_ltype temp) { if ($input.len == 0) { _swig_gopanic("array must contain at least 1 element"); @@ -168,30 +165,16 @@ char * typemaps instead: $1 = &temp; } -%typemap(in) TYPE &OUTPUT($*1_ltype temp) -{ - if ($input->len == 0) { - _swig_gopanic("array must contain at least 1 element"); - } - $1 = &temp; -} - %typemap(out) TYPE *OUTPUT, TYPE &OUTPUT "" %typemap(freearg) TYPE *OUTPUT, TYPE &OUTPUT "" -%typemap(argout) TYPE *OUTPUT +%typemap(argout) TYPE *OUTPUT, TYPE &OUTPUT { TYPE* a = (TYPE *) $input.array; a[0] = temp$argnum; } -%typemap(argout) TYPE &OUTPUT -{ - TYPE* a = (TYPE *) $input->array; - a[0] = temp$argnum; -} - %enddef OUTPUT_TYPEMAP(bool, bool); @@ -276,20 +259,13 @@ char * typemaps instead: %define INOUT_TYPEMAP(TYPE, GOTYPE) %typemap(gotype) TYPE *INOUT, TYPE &INOUT %{[]GOTYPE%} -%typemap(in) TYPE *INOUT { +%typemap(in) TYPE *INOUT, TYPE &INOUT { if ($input.len == 0) { _swig_gopanic("array must contain at least 1 element"); } $1 = ($1_ltype) $input.array; } -%typemap(in) TYPE &INOUT { - if ($input->len == 0) { - _swig_gopanic("array must contain at least 1 element"); - } - $1 = ($1_ltype) $input->array; -} - %typemap(out) TYPE *INOUT, TYPE &INOUT "" %typemap(freearg) TYPE *INOUT, TYPE &INOUT "" |