summaryrefslogtreecommitdiff
path: root/Lib/go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2012-10-02 14:53:13 +0000
committerIan Lance Taylor <iant@google.com>2012-10-02 14:53:13 +0000
commit5e30ec58e83c95c48879fe21c63f7dfffe2b4edd (patch)
treeb389adde8aa9bcd9e88dc8ee4688b546fd0ee93f /Lib/go
parent8af91dcc754ae002e815d20a5acc80452a6e9500 (diff)
downloadswig-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.i32
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 ""