| package definition |
| |
| // Tests of 'definition' query, -json output. |
| // See golang.org/x/tools/cmd/guru/guru_test.go for explanation. |
| // See main.golden for expected query results. |
| |
| // TODO(adonovan): test: selection of member of same package defined in another file. |
| |
| import ( |
| "lib" |
| lib2 "lib" |
| ) |
| |
| func main() { |
| var _ int // @definition builtin "int" |
| |
| var _ undef // @definition lexical-undef "undef" |
| var x lib.T // @definition lexical-pkgname "lib" |
| f() // @definition lexical-func "f" |
| print(x) // @definition lexical-var "x" |
| if x := ""; x == "" { // @definition lexical-shadowing "x" |
| } |
| |
| var _ lib.Type // @definition qualified-type "Type" |
| var _ lib.Func // @definition qualified-func "Func" |
| var _ lib.Var // @definition qualified-var "Var" |
| var _ lib.Const // @definition qualified-const "Const" |
| var _ lib2.Type // @definition qualified-type-renaming "Type" |
| var _ lib.Nonesuch // @definition qualified-nomember "Nonesuch" |
| |
| var u U |
| print(u.field) // @definition select-field "field" |
| u.method() // @definition select-method "method" |
| } |
| |
| func f() |
| |
| type T struct{ field int } |
| |
| func (T) method() |
| |
| type U struct{ T } |
| |
| type V1 struct { |
| W // @definition embedded-other-file "W" |
| } |
| |
| type V2 struct { |
| *W // @definition embedded-other-file-pointer "W" |
| } |
| |
| type V3 struct { |
| int // @definition embedded-basic "int" |
| } |
| |
| type V4 struct { |
| *int // @definition embedded-basic-pointer "int" |
| } |
| |
| type V5 struct { |
| lib.Type // @definition embedded-other-pkg "Type" |
| } |
| |
| type V6 struct { |
| T // @definition embedded-same-file "T" |
| } |