File: overload_simple_runme.go

package info (click to toggle)
renderdoc 1.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 79,584 kB
  • sloc: cpp: 491,671; ansic: 285,823; python: 12,617; java: 11,345; cs: 7,181; makefile: 6,703; yacc: 5,682; ruby: 4,648; perl: 3,461; php: 2,119; sh: 2,068; lisp: 1,835; tcl: 1,068; ml: 747; xml: 137
file content (125 lines) | stat: -rw-r--r-- 1,829 bytes parent folder | download | duplicates (10)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package main

import . "./overload_simple"

func main() {
	if Foo(3) != "foo:int" {
		panic("foo(int)")
	}

	if Foo(3.0) != "foo:double" {
		panic("foo(double)")
	}

	if Foo("hello") != "foo:char *" {
		panic("foo(char *)")
	}

	f := NewFoos()
	b := NewBar()

	if Foo(f) != "foo:Foo *" {
		panic("foo(Foo *)")
	}

	if Foo(b) != "foo:Bar *" {
		panic("foo(Bar *)")
	}

	v := Malloc_void(32)

	if Foo(v) != "foo:void *" {
		panic("foo(void *)")
	}
	s := NewSpam()

	if s.Foo(3) != "foo:int" {
		panic("Spam::foo(int)")
	}

	if s.Foo(3.0) != "foo:double" {
		panic("Spam::foo(double)")
	}

	if s.Foo("hello") != "foo:char *" {
		panic("Spam::foo(char *)")
	}

	if s.Foo(f) != "foo:Foo *" {
		panic("Spam::foo(Foo *)")
	}

	if s.Foo(b) != "foo:Bar *" {
		panic("Spam::foo(Bar *)")
	}

	if s.Foo(v) != "foo:void *" {
		panic("Spam::foo(void *)")
	}

	if SpamBar(3) != "bar:int" {
		panic("Spam::bar(int)")
	}

	if SpamBar(3.0) != "bar:double" {
		panic("Spam::bar(double)")
	}

	if SpamBar("hello") != "bar:char *" {
		panic("Spam::bar(char *)")
	}

	if SpamBar(f) != "bar:Foo *" {
		panic("Spam::bar(Foo *)")
	}

	if SpamBar(b) != "bar:Bar *" {
		panic("Spam::bar(Bar *)")
	}

	if SpamBar(v) != "bar:void *" {
		panic("Spam::bar(void *)")
	}

	// Test constructors

	s = NewSpam()
	if s.GetXtype() != "none" {
		panic("Spam()")
	}

	s = NewSpam(3)
	if s.GetXtype() != "int" {
		panic("Spam(int)")
	}

	s = NewSpam(3.4)
	if s.GetXtype() != "double" {
		panic("Spam(double)")
	}

	s = NewSpam("hello")
	if s.GetXtype() != "char *" {
		panic("Spam(char *)")
	}

	s = NewSpam(f)
	if s.GetXtype() != "Foo *" {
		panic("Spam(Foo *)")
	}

	s = NewSpam(b)
	if s.GetXtype() != "Bar *" {
		panic("Spam(Bar *)")
	}

	s = NewSpam(v)
	if s.GetXtype() != "void *" {
		panic("Spam(void *)")
	}

	Free_void(v)

	a := NewClassA()
	_ = a.Method1(1)
}