| Test of basic cross-package references. |
| |
| -- go.mod -- |
| module example.com |
| go 1.12 |
| |
| -- a/a.go -- |
| package a |
| |
| type X struct { |
| Y int //@loc(typeXY, "Y") |
| } |
| |
| -- b/b.go -- |
| package b |
| |
| import "example.com/a" |
| |
| func GetXes() []a.X { |
| return []a.X{ |
| { |
| Y: 1, //@loc(GetXesY, "Y"), refs("Y", typeXY, GetXesY, anotherXY) |
| }, |
| } |
| } |
| |
| -- c/c.go -- |
| package c |
| |
| import "example.com/b" |
| |
| func _() { |
| xes := b.GetXes() |
| for _, x := range xes { //@loc(defX, "x") |
| _ = x.Y //@loc(useX, "x"), loc(anotherXY, "Y"), refs("Y", typeXY, anotherXY, GetXesY), refs(".", defX, useX), refs("x", defX, useX) |
| } |
| } |