aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/testdata/references/refs.go
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2023-03-15 13:19:36 -0400
committerDan Willemsen <dwillemsen@google.com>2023-03-15 14:18:08 -0400
commit09c5a32afc5b66f28f166a68afe1fc71afbf9b73 (patch)
tree194d7b0e539d014393564a256bec571e18d6533a /gopls/internal/lsp/testdata/references/refs.go
parentf10932f763d058b0dcb3acfb795c869996fef47b (diff)
parent031fc75960d487b0b15db12fb328676236a3a39c (diff)
downloadgolang-x-tools-09c5a32afc5b66f28f166a68afe1fc71afbf9b73.tar.gz
Upgrade golang-x-tools to v0.7.0HEADmastermain
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.go53
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")
+}