struct_test.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. package test
  2. func init() {
  3. testCases = append(testCases,
  4. (*struct1Alias)(nil),
  5. (*struct {
  6. F [4]*string
  7. })(nil),
  8. (*struct {
  9. F [4]string
  10. })(nil),
  11. (*struct {
  12. F1 [4]stringAlias
  13. F2 arrayAlis
  14. })(nil),
  15. (*struct {
  16. F1 [4]string
  17. F2 [4]string
  18. F3 [4]string
  19. })(nil),
  20. (*struct {
  21. F [4]struct {
  22. F1 string
  23. F2 string
  24. F3 string
  25. }
  26. })(nil),
  27. (*struct{})(nil),
  28. (*structEmpty)(nil),
  29. (*struct {
  30. Byte1 byte
  31. Byte2 byte
  32. Bool1 bool
  33. Bool2 bool
  34. Int8 int8
  35. Int16 int16
  36. Int32 int32
  37. Int64 int64
  38. Uint8 uint8
  39. Uint16 uint16
  40. Uint32 uint32
  41. Uint64 uint64
  42. Float32 float32
  43. Float64 float64
  44. String1 string
  45. String2 string
  46. })(nil),
  47. (*struct {
  48. F float64
  49. })(nil),
  50. (*struct {
  51. F float64Alias
  52. })(nil),
  53. (*struct {
  54. F1 float64
  55. F2 float64
  56. F3 float64
  57. })(nil),
  58. (*struct {
  59. F1 float64Alias
  60. F2 float64Alias
  61. F3 float64Alias
  62. })(nil),
  63. (*struct {
  64. F int32
  65. })(nil),
  66. (*struct {
  67. F int32Alias
  68. })(nil),
  69. (*struct {
  70. F1 int32
  71. F2 int32
  72. F3 int32
  73. })(nil),
  74. (*struct {
  75. F1 int32Alias
  76. F2 int32Alias
  77. F3 int32Alias
  78. })(nil),
  79. (*struct {
  80. F int64
  81. })(nil),
  82. (*struct {
  83. F map[int32]*string
  84. })(nil),
  85. (*struct {
  86. F map[int32]string
  87. })(nil),
  88. (*struct {
  89. F map[int32]struct {
  90. F1 string
  91. F2 string
  92. F3 string
  93. }
  94. })(nil),
  95. (*struct {
  96. F map[string]*string
  97. })(nil),
  98. (*struct {
  99. F map[string]string
  100. })(nil),
  101. (*struct {
  102. F map[string]struct {
  103. F1 string
  104. F2 string
  105. F3 string
  106. }
  107. })(nil),
  108. (*struct {
  109. F *float64
  110. })(nil),
  111. (*struct {
  112. F1 *float64Alias
  113. F2 ptrFloat64Alias
  114. F3 *ptrFloat64Alias
  115. })(nil),
  116. (*struct {
  117. F *int32
  118. })(nil),
  119. (*struct {
  120. F1 *int32Alias
  121. F2 ptrInt32Alias
  122. F3 *ptrInt32Alias
  123. })(nil),
  124. (*struct {
  125. F **struct{}
  126. })(nil),
  127. (*struct {
  128. F **struct {
  129. F1 string
  130. F2 string
  131. F3 string
  132. }
  133. })(nil),
  134. (*struct {
  135. F *string
  136. })(nil),
  137. (*struct {
  138. F1 *stringAlias
  139. F2 ptrStringAlias
  140. F3 *ptrStringAlias
  141. })(nil),
  142. (*struct {
  143. F *struct{}
  144. })(nil),
  145. (*struct {
  146. F *struct {
  147. F1 string
  148. F2 string
  149. F3 string
  150. }
  151. })(nil),
  152. (*struct {
  153. F1 *float64
  154. F2 *float64
  155. F3 *float64
  156. })(nil),
  157. (*struct {
  158. F1 *int32
  159. F2 *int32
  160. F3 *int32
  161. })(nil),
  162. (*struct {
  163. F1 *string
  164. F2 *string
  165. F3 *string
  166. })(nil),
  167. (*struct {
  168. F []*string
  169. })(nil),
  170. (*struct {
  171. F []string
  172. })(nil),
  173. (*struct {
  174. F1 []stringAlias
  175. F2 stringAlias
  176. })(nil),
  177. (*struct {
  178. F1 []string
  179. F2 []string
  180. F3 []string
  181. })(nil),
  182. (*struct {
  183. F []struct {
  184. F1 string
  185. F2 string
  186. F3 string
  187. }
  188. })(nil),
  189. (*struct {
  190. F string
  191. })(nil),
  192. (*struct {
  193. F stringAlias
  194. })(nil),
  195. (*struct {
  196. F1 string
  197. F2 string
  198. F3 string
  199. })(nil),
  200. (*struct {
  201. F1 stringAlias
  202. F2 stringAlias
  203. F3 stringAlias
  204. })(nil),
  205. (*struct {
  206. F1 struct{}
  207. F2 struct{}
  208. F3 struct{}
  209. })(nil),
  210. (*struct {
  211. F struct{}
  212. })(nil),
  213. (*struct {
  214. F structEmpty
  215. })(nil),
  216. (*struct {
  217. F struct {
  218. F1 float32
  219. F2 float32
  220. F3 float32
  221. }
  222. })(nil),
  223. (*struct {
  224. F struct {
  225. F float32
  226. }
  227. })(nil),
  228. (*struct {
  229. F struct2
  230. })(nil),
  231. (*struct {
  232. F struct {
  233. F1 int32
  234. F2 int32
  235. F3 int32
  236. }
  237. })(nil),
  238. (*struct {
  239. F struct {
  240. F1 string
  241. F2 string
  242. F3 string
  243. }
  244. })(nil),
  245. (*struct {
  246. F struct3
  247. })(nil),
  248. )
  249. }
  250. type struct1 struct {
  251. Byte1 byte
  252. Byte2 byte
  253. Bool1 bool
  254. Bool2 bool
  255. Int8 int8
  256. Int16 int16
  257. Int32 int32
  258. Uint8 uint8
  259. Uint16 uint16
  260. Uint32 uint32
  261. Float32 float32
  262. Float64 float64
  263. String1 string
  264. String2 string
  265. }
  266. type struct1Alias struct1
  267. type struct2 struct {
  268. F float64
  269. }
  270. type struct3 struct {
  271. F1 stringAlias
  272. F2 stringAlias
  273. F3 stringAlias
  274. }