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  }