PageRenderTime 40ms CodeModel.GetById 14ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/Examples/test-suite/go/overload_simple_runme.go

#
Go | 125 lines | 93 code | 31 blank | 1 comment | 50 complexity | b5a50ee7b7ae7b0ddff66a7a93d14f2f MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. package main
  2. import . "./overload_simple"
  3. func main() {
  4. if Foo(3) != "foo:int" {
  5. panic("foo(int)")
  6. }
  7. if Foo(3.0) != "foo:double" {
  8. panic("foo(double)")
  9. }
  10. if Foo("hello") != "foo:char *" {
  11. panic("foo(char *)")
  12. }
  13. f := NewFoos()
  14. b := NewBar()
  15. if Foo(f) != "foo:Foo *" {
  16. panic("foo(Foo *)")
  17. }
  18. if Foo(b) != "foo:Bar *" {
  19. panic("foo(Bar *)")
  20. }
  21. v := Malloc_void(32)
  22. if Foo(v) != "foo:void *" {
  23. panic("foo(void *)")
  24. }
  25. s := NewSpam()
  26. if s.Foo(3) != "foo:int" {
  27. panic("Spam::foo(int)")
  28. }
  29. if s.Foo(3.0) != "foo:double" {
  30. panic("Spam::foo(double)")
  31. }
  32. if s.Foo("hello") != "foo:char *" {
  33. panic("Spam::foo(char *)")
  34. }
  35. if s.Foo(f) != "foo:Foo *" {
  36. panic("Spam::foo(Foo *)")
  37. }
  38. if s.Foo(b) != "foo:Bar *" {
  39. panic("Spam::foo(Bar *)")
  40. }
  41. if s.Foo(v) != "foo:void *" {
  42. panic("Spam::foo(void *)")
  43. }
  44. if SpamBar(3) != "bar:int" {
  45. panic("Spam::bar(int)")
  46. }
  47. if SpamBar(3.0) != "bar:double" {
  48. panic("Spam::bar(double)")
  49. }
  50. if SpamBar("hello") != "bar:char *" {
  51. panic("Spam::bar(char *)")
  52. }
  53. if SpamBar(f) != "bar:Foo *" {
  54. panic("Spam::bar(Foo *)")
  55. }
  56. if SpamBar(b) != "bar:Bar *" {
  57. panic("Spam::bar(Bar *)")
  58. }
  59. if SpamBar(v) != "bar:void *" {
  60. panic("Spam::bar(void *)")
  61. }
  62. // Test constructors
  63. s = NewSpam()
  64. if s.GetXtype() != "none" {
  65. panic("Spam()")
  66. }
  67. s = NewSpam(3)
  68. if s.GetXtype() != "int" {
  69. panic("Spam(int)")
  70. }
  71. s = NewSpam(3.4)
  72. if s.GetXtype() != "double" {
  73. panic("Spam(double)")
  74. }
  75. s = NewSpam("hello")
  76. if s.GetXtype() != "char *" {
  77. panic("Spam(char *)")
  78. }
  79. s = NewSpam(f)
  80. if s.GetXtype() != "Foo *" {
  81. panic("Spam(Foo *)")
  82. }
  83. s = NewSpam(b)
  84. if s.GetXtype() != "Bar *" {
  85. panic("Spam(Bar *)")
  86. }
  87. s = NewSpam(v)
  88. if s.GetXtype() != "void *" {
  89. panic("Spam(void *)")
  90. }
  91. Free_void(v)
  92. a := NewClassA()
  93. _ = a.Method1(1)
  94. }