github.com/neilgarb/delve@v1.9.2-nobreaks/_fixtures/testvariables2.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "go/constant" 6 "math" 7 "runtime" 8 "time" 9 "unsafe" 10 ) 11 12 type Byte byte 13 14 type astruct struct { 15 A int 16 B int 17 } 18 19 type bstruct struct { 20 a astruct 21 } 22 23 type cstruct struct { 24 pb *bstruct 25 sa []*astruct 26 } 27 28 type a struct { 29 aas []a 30 } 31 32 type A struct { 33 val int 34 } 35 36 type C struct { 37 s string 38 } 39 40 type B struct { 41 A 42 *C 43 a A 44 ptr *A 45 } 46 47 type D struct { 48 u1, u2, u3, u4, u5, u6 uint32 49 } 50 51 func afunc(x int) int { 52 return x + 2 53 } 54 55 func afunc1(x int) { 56 } 57 58 func afunc2() int { 59 return 0 60 } 61 62 type functype func(int) int 63 64 func (a *astruct) Error() string { 65 return "not an error" 66 } 67 68 func (a astruct) NonPointerRecieverMethod() { 69 return 70 } 71 72 func (b *bstruct) Error() string { 73 return "not an error" 74 } 75 76 type dstruct struct { 77 x interface{} 78 } 79 80 type maptype map[string]interface{} 81 82 type benchstruct struct { 83 a [64]byte 84 b [64]byte 85 } 86 87 type Item struct { 88 Name string 89 Route string 90 Active int 91 } 92 93 type Menu []Item 94 95 type truncatedMap struct { 96 v []map[string]astruct 97 } 98 99 type Cache struct { 100 blocks [2000]Block 101 } 102 103 type Block struct { 104 cache *Cache 105 } 106 107 type List struct { 108 N int 109 Next *List 110 } 111 112 type T struct { 113 F string 114 } 115 116 type W1 struct { 117 T 118 } 119 120 func (*W1) M() {} 121 122 type I interface{ M() } 123 124 type W2 struct { 125 W1 126 T 127 } 128 129 type W3 struct { 130 I 131 T 132 } 133 134 type W4 struct { 135 I 136 } 137 138 type W5 struct { 139 *W5 140 } 141 142 var _ I = (*W2)(nil) 143 144 func main() { 145 i1 := 1 146 i2 := 2 147 f1 := 3.0 148 i3 := 3 149 p1 := &i1 150 pp1 := &p1 151 s1 := []string{"one", "two", "three", "four", "five"} 152 s3 := make([]int, 0, 6) 153 a0 := [0]int{} 154 a1 := [5]string{"one", "two", "three", "four", "five"} 155 c1 := cstruct{&bstruct{astruct{1, 2}}, []*astruct{&astruct{1, 2}, &astruct{2, 3}, &astruct{4, 5}}} 156 s2 := []astruct{{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}, {13, 14}, {15, 16}} 157 p2 := &(c1.sa[2].B) 158 as1 := astruct{1, 1} 159 var p3 *int 160 str1 := "01234567890" 161 var fn1 functype = afunc 162 var fn2 functype = nil 163 var nilslice []int = nil 164 var nilptr *int = nil 165 ch1 := make(chan int, 11) 166 ch1 <- 1 167 ch1 <- 4 168 ch1 <- 3 169 ch1 <- 2 170 var chnil chan int = nil 171 m1 := map[string]astruct{ 172 "Malone": astruct{2, 3}, 173 "Adenauer": astruct{}, 174 "squadrons": astruct{}, 175 "quintuplets": astruct{}, 176 "parasite": astruct{}, 177 "wristwatches": astruct{}, 178 "flashgun": astruct{}, 179 "equivocally": astruct{}, 180 "sweetbrier": astruct{}, 181 "idealism": astruct{}, 182 "tangos": astruct{}, 183 "alterable": astruct{}, 184 "quaffing": astruct{}, 185 "arsenic": astruct{}, 186 "coincidentally": astruct{}, 187 "hindrances": astruct{}, 188 "zoning": astruct{}, 189 "egging": astruct{}, 190 "inserts": astruct{}, 191 "adaptive": astruct{}, 192 "orientations": astruct{}, 193 "periling": astruct{}, 194 "lip": astruct{}, 195 "chant": astruct{}, 196 "availing": astruct{}, 197 "fern": astruct{}, 198 "flummoxes": astruct{}, 199 "meanders": astruct{}, 200 "ravenously": astruct{}, 201 "reminisce": astruct{}, 202 "snorkel": astruct{}, 203 "gutters": astruct{}, 204 "jibbed": astruct{}, 205 "tiara": astruct{}, 206 "takers": astruct{}, 207 "animates": astruct{}, 208 "Zubenelgenubi": astruct{}, 209 "bantering": astruct{}, 210 "tumblers": astruct{}, 211 "horticulturists": astruct{}, 212 "thallium": astruct{}, 213 "capital": astruct{}, 214 "paramese": astruct{}, 215 "vaccinationist": astruct{}, 216 "shadrach": astruct{}, 217 "unsincereness": astruct{}, 218 "undazzled": astruct{}, 219 "heautomorphism": astruct{}, 220 "undermeasure": astruct{}, 221 "intentionally": astruct{}, 222 "glycine": astruct{}, 223 "basiliscine": astruct{}, 224 "preinvolvement": astruct{}, 225 "adversaria": astruct{}, 226 "capocchia": astruct{}, 227 "annunciable": astruct{}, 228 "unguidableness": astruct{}, 229 "prankster": astruct{}, 230 "jagless": astruct{}, 231 "hormonal": astruct{}, 232 "crenature": astruct{}, 233 "unfluttering": astruct{}, 234 "councilmanic": astruct{}, 235 "Micraster": astruct{}, 236 "raphidiferous": astruct{}, 237 "groomer": astruct{}, 238 } 239 var mnil map[string]astruct = nil 240 m2 := map[int]*astruct{1: &astruct{10, 11}} 241 m3 := map[astruct]int{{1, 1}: 42, {2, 2}: 43} 242 m4 := map[astruct]astruct{{1, 1}: {11, 11}, {2, 2}: {22, 22}} 243 upnil := unsafe.Pointer(nil) 244 up1 := unsafe.Pointer(&i1) 245 i4 := 800 246 i5 := -3 247 i6 := -500 248 var err1 error = c1.sa[0] 249 var err2 error = c1.pb 250 var errnil error = nil 251 var psa *astruct = nil 252 var errtypednil error = psa 253 var iface1 interface{} = c1.sa[0] 254 var iface2 interface{} = "test" 255 var iface3 interface{} = map[string]constant.Value{} 256 var iface4 interface{} = []constant.Value{constant.MakeInt64(4)} 257 var ifacenil interface{} = nil 258 arr1 := [4]int{0, 1, 2, 3} 259 parr := &arr1 260 cpx1 := complex(1, 2) 261 const1 := constant.MakeInt64(3) 262 recursive1 := dstruct{} 263 recursive1.x = &recursive1 264 var iface5 interface{} = &recursive1 265 var iface2fn1 interface{} = afunc1 266 var iface2fn2 interface{} = afunc2 267 var mapinf maptype = map[string]interface{}{} 268 mapinf["inf"] = mapinf 269 var bencharr [64]benchstruct 270 var benchparr [64]*benchstruct 271 var issue1578 Block 272 mainMenu := Menu{ 273 {Name: "home", Route: "/", Active: 1}, 274 {Name: "About", Route: "/about", Active: 1}, 275 {Name: "Login", Route: "/login", Active: 1}, 276 } 277 var aas = []a{{nil}} 278 aas[0].aas = aas 279 b := B{A: A{-314}, C: &C{"hello"}, a: A{42}, ptr: &A{1337}} 280 b2 := B{A: A{42}, a: A{47}} 281 var sd D 282 283 ifacearr := []error{&astruct{}, nil} 284 efacearr := []interface{}{&astruct{}, "test", nil} 285 286 var mapanonstruct1 map[string]struct{} 287 var anonstruct1 struct{ val constant.Value } 288 var anonstruct2 struct{ i, j int } 289 var anoniface1 interface { 290 SomeFunction(struct{ val constant.Value }) 291 OtherFunction(i, j int) 292 } 293 var anonfunc func(a struct{ i int }, b interface{}, c struct{ val constant.Value }) 294 295 for i := range benchparr { 296 benchparr[i] = &benchstruct{} 297 } 298 299 ni8 := int8(-5) 300 ni16 := int16(-5) 301 ni32 := int32(-5) 302 ni64 := int64(-5) 303 304 pinf := math.Inf(+1) 305 ninf := math.Inf(-1) 306 nan := math.NaN() 307 308 var iface6 interface{} 309 var ptrinf *interface{} 310 iface6 = &ptrinf 311 ptrinf = &iface6 312 313 sliceinf := make([]interface{}, 1) 314 sliceinf[0] = sliceinf 315 316 zsvar := struct{}{} 317 zsslice := make([]struct{}, 3) 318 zsvmap := map[string]struct{}{"testkey": struct{}{}} 319 var tm truncatedMap 320 tm.v = []map[string]astruct{m1} 321 var rettm = func() truncatedMap { return tm } 322 323 emptyslice := []string{} 324 emptymap := make(map[string]string) 325 326 byteslice := []byte{116, 195, 168, 115, 116} 327 bytestypeslice := []Byte{116, 195, 168, 115, 116} 328 runeslice := []rune{116, 232, 115, 116} 329 330 bytearray := [5]byte{116, 195, 168, 115, 116} 331 bytetypearray := [5]Byte{116, 195, 168, 115, 116} 332 runearray := [4]rune{116, 232, 115, 116} 333 334 longstr := "very long string 0123456789a0123456789b0123456789c0123456789d0123456789e0123456789f0123456789g012345678h90123456789i0123456789j0123456789" 335 m5 := map[C]int{{longstr}: 1} 336 m6 := map[string]int{longstr: 123} 337 m7 := map[C]C{{longstr}: {"hello"}} 338 cl := C{s: longstr} 339 var nilstruct *astruct = nil 340 341 val := A{val: 1} // val vs val.val 342 var as2 astruct 343 s4 := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0} 344 345 var iface2map interface{} = map[string]interface{}{ 346 "a": map[string]interface{}{ 347 "1": map[string]interface{}{ 348 "x": 1, 349 "y": 2, 350 }, 351 }, 352 } 353 354 ll := &List{0, &List{1, &List{2, &List{3, &List{4, nil}}}}} 355 unread := (*int)(unsafe.Pointer(uintptr(12345))) 356 357 w2 := &W2{W1{T{"T-inside-W1"}}, T{"T-inside-W2"}} 358 w3 := &W3{&W1{T{"T-inside-W1"}}, T{"T-inside-W3"}} 359 w4 := &W4{&W1{T{"T-inside-W1"}}} 360 w5 := &W5{nil} 361 w5.W5 = w5 362 363 tim1 := time.Unix(233431200, 0) 364 loc, _ := time.LoadLocation("Mexico/BajaSur") 365 tim2, _ := time.ParseInLocation("2006-01-02 15:04:05", "2022-06-07 02:03:04", loc) 366 367 var amb1 = 1 368 runtime.Breakpoint() 369 for amb1 := 0; amb1 < 10; amb1++ { 370 fmt.Println(amb1) 371 } 372 373 longarr := [100]int{} 374 longslice := make([]int, 100, 100) 375 376 runtime.Breakpoint() 377 fmt.Println(i1, i2, i3, p1, pp1, amb1, s1, s3, a0, a1, p2, p3, s2, as1, str1, f1, fn1, fn2, nilslice, nilptr, ch1, chnil, m1, mnil, m2, m3, m4, m5, upnil, up1, i4, i5, i6, err1, err2, errnil, iface1, iface2, ifacenil, arr1, parr, cpx1, const1, iface3, iface4, recursive1, recursive1.x, iface5, iface2fn1, iface2fn2, bencharr, benchparr, mapinf, mainMenu, b, b2, sd, anonstruct1, anonstruct2, anoniface1, anonfunc, mapanonstruct1, ifacearr, efacearr, ni8, ni16, ni32, ni64, pinf, ninf, nan, zsvmap, zsslice, zsvar, tm, rettm, errtypednil, emptyslice, emptymap, byteslice, bytestypeslice, runeslice, bytearray, bytetypearray, runearray, longstr, nilstruct, as2, as2.NonPointerRecieverMethod, s4, iface2map, issue1578, ll, unread, w2, w3, w4, w5, longarr, longslice, val, m6, m7, cl, tim1, tim2) 378 }