aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/testdata/extract/extract_method
diff options
context:
space:
mode:
Diffstat (limited to 'gopls/internal/lsp/testdata/extract/extract_method')
-rw-r--r--gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go24
-rw-r--r--gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go.golden364
2 files changed, 388 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go b/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go
new file mode 100644
index 000000000..c9a8d9dce
--- /dev/null
+++ b/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go
@@ -0,0 +1,24 @@
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
diff --git a/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go.golden b/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go.golden
new file mode 100644
index 000000000..3310d973e
--- /dev/null
+++ b/gopls/internal/lsp/testdata/extract/extract_method/extract_basic.go.golden
@@ -0,0 +1,364 @@
+-- functionextraction_extract_basic_13_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := newFunction(a) //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func newFunction(a *A) int {
+ sum := a.x + a.y
+ return sum
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- functionextraction_extract_basic_14_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return newFunction(sum) //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func newFunction(sum int) int {
+ return sum
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- functionextraction_extract_basic_18_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return newFunction(a) //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func newFunction(a A) bool {
+ return a.x < a.y
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- functionextraction_extract_basic_22_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := newFunction(a) //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func newFunction(a A) int {
+ sum := a.x + a.y
+ return sum
+}
+
+-- functionextraction_extract_basic_23_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return newFunction(sum) //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func newFunction(sum int) int {
+ return sum
+}
+
+-- functionextraction_extract_basic_9_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return newFunction(a) //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func newFunction(a *A) bool {
+ return a.x < a.y
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- methodextraction_extract_basic_13_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.newMethod() //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a *A) newMethod() int {
+ sum := a.x + a.y
+ return sum
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- methodextraction_extract_basic_14_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return a.newMethod(sum) //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (*A) newMethod(sum int) int {
+ return sum
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- methodextraction_extract_basic_18_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.newMethod() //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) newMethod() bool {
+ return a.x < a.y
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+-- methodextraction_extract_basic_22_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.newMethod() //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) newMethod() int {
+ sum := a.x + a.y
+ return sum
+}
+
+-- methodextraction_extract_basic_23_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return a.newMethod(sum) //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (A) newMethod(sum int) int {
+ return sum
+}
+
+-- methodextraction_extract_basic_9_2 --
+package extract
+
+type A struct {
+ x int
+ y int
+}
+
+func (a *A) XLessThanYP() bool {
+ return a.newMethod() //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a *A) newMethod() bool {
+ return a.x < a.y
+}
+
+func (a *A) AddP() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+
+func (a A) XLessThanY() bool {
+ return a.x < a.y //@extractmethod("return", "a.y"),extractfunc("return", "a.y")
+}
+
+func (a A) Add() int {
+ sum := a.x + a.y //@extractmethod("sum", "a.y"),extractfunc("sum", "a.y")
+ return sum //@extractmethod("return", "sum"),extractfunc("return", "sum")
+}
+