aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/testdata/rename/generics
diff options
context:
space:
mode:
Diffstat (limited to 'gopls/internal/lsp/testdata/rename/generics')
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/embedded.go10
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/embedded.go.golden12
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/generics.go25
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/generics.go.golden108
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/unions.go10
-rw-r--r--gopls/internal/lsp/testdata/rename/generics/unions.go.golden24
6 files changed, 189 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/rename/generics/embedded.go b/gopls/internal/lsp/testdata/rename/generics/embedded.go
new file mode 100644
index 000000000..b44bab880
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/embedded.go
@@ -0,0 +1,10 @@
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type foo[P any] int //@rename("foo","bar")
+
+var x struct{ foo[int] }
+
+var _ = x.foo
diff --git a/gopls/internal/lsp/testdata/rename/generics/embedded.go.golden b/gopls/internal/lsp/testdata/rename/generics/embedded.go.golden
new file mode 100644
index 000000000..faa9afb69
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/embedded.go.golden
@@ -0,0 +1,12 @@
+-- bar-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type bar[P any] int //@rename("foo","bar")
+
+var x struct{ bar[int] }
+
+var _ = x.bar
+
diff --git a/gopls/internal/lsp/testdata/rename/generics/generics.go b/gopls/internal/lsp/testdata/rename/generics/generics.go
new file mode 100644
index 000000000..977589c0c
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/generics.go
@@ -0,0 +1,25 @@
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type G[P any] struct {
+ F int
+}
+
+func (G[_]) M() {}
+
+func F[P any](P) {
+ var p P //@rename("P", "Q")
+ _ = p
+}
+
+func _() {
+ var x G[int] //@rename("G", "H")
+ _ = x.F //@rename("F", "K")
+ x.M() //@rename("M", "N")
+
+ var y G[string]
+ _ = y.F
+ y.M()
+}
diff --git a/gopls/internal/lsp/testdata/rename/generics/generics.go.golden b/gopls/internal/lsp/testdata/rename/generics/generics.go.golden
new file mode 100644
index 000000000..7d39813e1
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/generics.go.golden
@@ -0,0 +1,108 @@
+-- H-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type H[P any] struct {
+ F int
+}
+
+func (H[_]) M() {}
+
+func F[P any](P) {
+ var p P //@rename("P", "Q")
+ _ = p
+}
+
+func _() {
+ var x H[int] //@rename("G", "H")
+ _ = x.F //@rename("F", "K")
+ x.M() //@rename("M", "N")
+
+ var y H[string]
+ _ = y.F
+ y.M()
+}
+
+-- K-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type G[P any] struct {
+ K int
+}
+
+func (G[_]) M() {}
+
+func F[P any](P) {
+ var p P //@rename("P", "Q")
+ _ = p
+}
+
+func _() {
+ var x G[int] //@rename("G", "H")
+ _ = x.K //@rename("F", "K")
+ x.M() //@rename("M", "N")
+
+ var y G[string]
+ _ = y.K
+ y.M()
+}
+
+-- N-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type G[P any] struct {
+ F int
+}
+
+func (G[_]) N() {}
+
+func F[P any](P) {
+ var p P //@rename("P", "Q")
+ _ = p
+}
+
+func _() {
+ var x G[int] //@rename("G", "H")
+ _ = x.F //@rename("F", "K")
+ x.N() //@rename("M", "N")
+
+ var y G[string]
+ _ = y.F
+ y.N()
+}
+
+-- Q-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type G[P any] struct {
+ F int
+}
+
+func (G[_]) M() {}
+
+func F[Q any](Q) {
+ var p Q //@rename("P", "Q")
+ _ = p
+}
+
+func _() {
+ var x G[int] //@rename("G", "H")
+ _ = x.F //@rename("F", "K")
+ x.M() //@rename("M", "N")
+
+ var y G[string]
+ _ = y.F
+ y.M()
+}
+
diff --git a/gopls/internal/lsp/testdata/rename/generics/unions.go b/gopls/internal/lsp/testdata/rename/generics/unions.go
new file mode 100644
index 000000000..c737b5c27
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/unions.go
@@ -0,0 +1,10 @@
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type T string //@rename("T", "R")
+
+type C interface {
+ T | ~int //@rename("T", "S")
+}
diff --git a/gopls/internal/lsp/testdata/rename/generics/unions.go.golden b/gopls/internal/lsp/testdata/rename/generics/unions.go.golden
new file mode 100644
index 000000000..463289629
--- /dev/null
+++ b/gopls/internal/lsp/testdata/rename/generics/unions.go.golden
@@ -0,0 +1,24 @@
+-- R-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type R string //@rename("T", "R")
+
+type C interface {
+ R | ~int //@rename("T", "S")
+}
+
+-- S-rename --
+//go:build go1.18
+// +build go1.18
+
+package generics
+
+type S string //@rename("T", "R")
+
+type C interface {
+ S | ~int //@rename("T", "S")
+}
+