aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/go/director_string_runme.go
blob: 0c73b6a297dd0ac31f91153128c63d685d1fc671 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main

import . "swigtests/director_string"

type B struct { // From A
	abi  A
	smem string
}

func NewB(s string) A {
	p := &B{nil, ""}
	ret := NewDirectorA(p, s)
	p.abi = ret
	return ret
}

func (p *B) Get_first() string {
	return DirectorAGet_first(p.abi) + " world!"
}

func (p *B) Process_text(s string) {
	DirectorAProcess_text(p.abi, s)
	p.smem = "hello"
}

func main() {
	b := NewB("hello")

	b.Get(0)
	if b.Get_first() != "hello world!" {
		panic(b.Get_first())
	}

	b.Call_process_func()

	if b.DirectorInterface().(*B).smem != "hello" {
		panic(b.DirectorInterface().(*B).smem)
	}
}