github.com/april1989/origin-go-tools@v0.0.32/cmd/guru/testdata/src/definition-json/main.go (about) 1 package definition 2 3 // Tests of 'definition' query, -json output. 4 // See github.com/april1989/origin-go-tools/cmd/guru/guru_test.go for explanation. 5 // See main.golden for expected query results. 6 7 // TODO(adonovan): test: selection of member of same package defined in another file. 8 9 import ( 10 "lib" 11 lib2 "lib" 12 "nosuchpkg" 13 ) 14 15 func main() { 16 var _ int // @definition builtin "int" 17 18 var _ undef // @definition lexical-undef "undef" 19 var x lib.T // @definition lexical-pkgname "lib" 20 f() // @definition lexical-func "f" 21 print(x) // @definition lexical-var "x" 22 if x := ""; x == "" { // @definition lexical-shadowing "x" 23 } 24 25 var _ lib.Type // @definition qualified-type "Type" 26 var _ lib.Func // @definition qualified-func "Func" 27 var _ lib.Var // @definition qualified-var "Var" 28 var _ lib.Const // @definition qualified-const "Const" 29 var _ lib2.Type // @definition qualified-type-renaming "Type" 30 var _ lib.Nonesuch // @definition qualified-nomember "Nonesuch" 31 var _ nosuchpkg.T // @definition qualified-nopkg "nosuchpkg" 32 33 var u U 34 print(u.field) // @definition select-field "field" 35 u.method() // @definition select-method "method" 36 } 37 38 func f() 39 40 type T struct{ field int } 41 42 func (T) method() 43 44 type U struct{ T } 45 46 type V1 struct { 47 W // @definition embedded-other-file "W" 48 } 49 50 type V2 struct { 51 *W // @definition embedded-other-file-pointer "W" 52 } 53 54 type V3 struct { 55 int // @definition embedded-basic "int" 56 } 57 58 type V4 struct { 59 *int // @definition embedded-basic-pointer "int" 60 } 61 62 type V5 struct { 63 lib.Type // @definition embedded-other-pkg "Type" 64 } 65 66 type V6 struct { 67 T // @definition embedded-same-file "T" 68 }