Basic test of references within a single package. -- go.mod -- module example.com go 1.12 -- a/a.go -- package a type i int //@loc(decli, "i"), refs("i", decli, argi, returni, embeddedi) func _(_ i) []bool { //@loc(argi, "i") return nil } func _(_ []byte) i { //@loc(returni, "i") return 0 } var q string //@loc(declq, "q"), refs("q", declq, assignq, bobq) var Q string //@loc(declQ, "Q"), refs("Q", declQ) func _() { q = "hello" //@loc(assignq, "q") bob := func(_ string) {} bob(q) //@loc(bobq, "q") } type e struct { i //@loc(embeddedi, "i"), refs("i", embeddedi, embeddediref) } func _() { _ = e{}.i //@loc(embeddediref, "i") }