diff options
author | Dan Willemsen <dwillemsen@google.com> | 2023-03-15 13:19:36 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2023-03-15 14:18:08 -0400 |
commit | 09c5a32afc5b66f28f166a68afe1fc71afbf9b73 (patch) | |
tree | 194d7b0e539d014393564a256bec571e18d6533a /gopls/internal/lsp/testdata/references/refs.go | |
parent | f10932f763d058b0dcb3acfb795c869996fef47b (diff) | |
parent | 031fc75960d487b0b15db12fb328676236a3a39c (diff) | |
download | golang-x-tools-09c5a32afc5b66f28f166a68afe1fc71afbf9b73.tar.gz |
Not using external_updater this time to switch to the new upstream tags.
Test: treehugger
Change-Id: I31488b4958a366ed7f183bb387d3e1446acc13ae
Diffstat (limited to 'gopls/internal/lsp/testdata/references/refs.go')
-rw-r--r-- | gopls/internal/lsp/testdata/references/refs.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/references/refs.go b/gopls/internal/lsp/testdata/references/refs.go new file mode 100644 index 000000000..e7ff50494 --- /dev/null +++ b/gopls/internal/lsp/testdata/references/refs.go @@ -0,0 +1,53 @@ +// Package refs is a package used to test find references. +package refs + +import "os" //@mark(osDecl, `"os"`),refs("os", osDecl, osUse) + +type i int //@mark(typeI, "i"),refs("i", typeI, argI, returnI, embeddedI) + +type X struct { + Y int //@mark(typeXY, "Y") +} + +func _(_ i) []bool { //@mark(argI, "i") + return nil +} + +func _(_ []byte) i { //@mark(returnI, "i") + return 0 +} + +var q string //@mark(declQ, "q"),refs("q", declQ, assignQ, bobQ) + +var Q string //@mark(declExpQ, "Q"),refs("Q", declExpQ, assignExpQ, bobExpQ) + +func _() { + q = "hello" //@mark(assignQ, "q") + bob := func(_ string) {} + bob(q) //@mark(bobQ, "q") +} + +type e struct { + i //@mark(embeddedI, "i"),refs("i", embeddedI, embeddedIUse) +} + +func _() { + _ = e{}.i //@mark(embeddedIUse, "i") +} + +const ( + foo = iota //@refs("iota") +) + +func _(x interface{}) { + // We use the _ prefix because the markers inhabit a single + // namespace and yDecl is already used in ../highlights/highlights.go. + switch _y := x.(type) { //@mark(_yDecl, "_y"),refs("_y", _yDecl, _yInt, _yDefault) + case int: + println(_y) //@mark(_yInt, "_y"),refs("_y", _yDecl, _yInt, _yDefault) + default: + println(_y) //@mark(_yDefault, "_y") + } + + os.Getwd() //@mark(osUse, "os") +} |