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)
        }
}
