File: director_string_runme.go

package info (click to toggle)
swig 4.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 46,232 kB
  • sloc: cpp: 54,631; ansic: 29,122; java: 17,530; python: 12,505; cs: 10,369; ruby: 7,232; yacc: 6,477; makefile: 5,965; javascript: 5,520; sh: 5,415; perl: 4,187; php: 3,693; ml: 2,187; lisp: 2,056; tcl: 1,991; xml: 115
file content (39 lines) | stat: -rw-r--r-- 601 bytes parent folder | download | duplicates (3)
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)
	}
}