gotools/gopls/internal/test/marker/testdata/references/crosspackage.txt

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