gitlab.com/Raven-IO/raven-delve@v1.22.4/_fixtures/pkgrenames.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"reflect"
     6  	"runtime"
     7  
     8  	pkg1 "go/ast"
     9  	pkg2 "net/http"
    10  
    11  	"gitlab.com/Raven-IO/raven-delve/_fixtures/internal/dir.io"
    12  	"gitlab.com/Raven-IO/raven-delve/_fixtures/internal/dir0/pkg"
    13  	"gitlab.com/Raven-IO/raven-delve/_fixtures/internal/dir0/renamedpackage"
    14  	dir1pkg "gitlab.com/Raven-IO/raven-delve/_fixtures/internal/dir1/pkg"
    15  )
    16  
    17  func main() {
    18  	var badexpr interface{} = &pkg1.BadExpr{1, 2}
    19  	var req interface{} = &pkg2.Request{Method: "amethod"}
    20  	var amap interface{} = map[pkg1.BadExpr]pkg2.Request{pkg1.BadExpr{2, 3}: pkg2.Request{Method: "othermethod"}}
    21  	var amap2 interface{} = &map[pkg1.BadExpr]pkg2.Request{pkg1.BadExpr{2, 3}: pkg2.Request{Method: "othermethod"}}
    22  	var dir0someType interface{} = &pkg.SomeType{3}
    23  	var dir1someType interface{} = dir1pkg.SomeType{1, 2}
    24  	var amap3 interface{} = map[pkg.SomeType]dir1pkg.SomeType{pkg.SomeType{4}: dir1pkg.SomeType{5, 6}}
    25  	var anarray interface{} = [2]pkg.SomeType{pkg.SomeType{1}, pkg.SomeType{2}}
    26  	var achan interface{} = make(chan pkg.SomeType)
    27  	var aslice interface{} = []pkg.SomeType{pkg.SomeType{3}, pkg.SomeType{4}}
    28  	var afunc interface{} = func(a pkg.SomeType, b dir1pkg.SomeType) {}
    29  	var astruct interface{} = &struct {
    30  		A dir1pkg.SomeType
    31  		B pkg.SomeType
    32  	}{
    33  		A: dir1pkg.SomeType{1, 2},
    34  		B: pkg.SomeType{3},
    35  	}
    36  	var astruct2 interface{} = &struct {
    37  		dir1pkg.SomeType
    38  		X int
    39  	}{
    40  		SomeType: dir1pkg.SomeType{1, 2},
    41  		X:        10,
    42  	}
    43  	var iface interface {
    44  		AMethod(x int) int
    45  		AnotherMethod(x int) int
    46  	} = &pkg.SomeType{4}
    47  	var iface2iface interface{} = &iface
    48  	var iface3 interface{} = &realname.SomeType{A: true}
    49  
    50  	runtime.Breakpoint()
    51  	t := reflect.ValueOf(iface2iface).Elem().Type()
    52  	m := t.Method(0)
    53  	fmt.Println(m.Type.In(0))
    54  	fmt.Println(m.Type.String())
    55  	fmt.Println(badexpr, req, amap, amap2, dir0someType, dir1someType, amap3, anarray, achan, aslice, afunc, astruct, astruct2, iface2iface, iface3, pkg.SomeVar, pkg.A, dir1pkg.A, dirio.A, dirio.SomeFunction)
    56  }