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  }