mirror of
https://github.com/golang/go
synced 2024-11-19 01:24:39 -07:00
bca362e842
This change implements the find all references feature by finding all of the uses and definitions of the identifier within the current package. Testing for references is done using "refs" in the testdata files and marking the references in the package. Change-Id: Ieb44b68608e940df5f65c3052eb9ec974f6fae6c Reviewed-on: https://go-review.googlesource.com/c/tools/+/181122 Run-TryBot: Suzy Mueller <suzmue@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
31 lines
914 B
Go
31 lines
914 B
Go
package foo //@mark(PackageFoo, "foo")
|
|
|
|
type StructFoo struct { //@item(StructFoo, "StructFoo", "struct{...}", "struct")
|
|
Value int //@item(Value, "Value", "int", "field")
|
|
}
|
|
|
|
// Pre-set this marker, as we don't have a "source" for it in this package.
|
|
/* Error() */ //@item(Error, "Error()", "string", "method")
|
|
|
|
func Foo() { //@item(Foo, "Foo()", "", "func")
|
|
var err error
|
|
err.Error() //@complete("E", Error)
|
|
}
|
|
|
|
func _() {
|
|
var sFoo StructFoo //@mark(sFoo1, "sFoo"),complete("t", StructFoo)
|
|
if x := sFoo; x.Value == 1 { //@mark(sFoo2, "sFoo"),complete("V", Value),typdef("sFoo", StructFoo),refs("sFo", sFoo1, sFoo2)
|
|
return
|
|
}
|
|
}
|
|
|
|
func _() {
|
|
shadowed := 123
|
|
{
|
|
shadowed := "hi" //@item(shadowed, "shadowed", "string", "var"),refs("shadowed", shadowed)
|
|
sha //@complete("a", shadowed)
|
|
}
|
|
}
|
|
|
|
type IntFoo int //@item(IntFoo, "IntFoo", "int", "type"),complete("", Foo, IntFoo, StructFoo)
|