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