blob: 5ddff1182f6260e9a22fb38be990fa59dc1dad5b [file]
This test checks that extract variable/constant permits:
- extraneous whitespace in the selection
- function literals
- pointer dereference expressions
- parenthesized expressions
-- a.go --
package a
func _(ptr *int) {
var _ = 1 + 2 + 3 //@codeaction("1 + 2 ", "refactor.extract.constant", edit=spaces)
var _ = func() {} //@codeaction("func() {}", "refactor.extract.variable", edit=funclit)
var _ = *ptr //@codeaction("*ptr", "refactor.extract.variable", edit=ptr)
var _ = (ptr) //@codeaction("(ptr)", "refactor.extract.variable", edit=paren)
}
-- @spaces/a.go --
@@ -4 +4,2 @@
- var _ = 1 + 2 + 3 //@codeaction("1 + 2 ", "refactor.extract.constant", edit=spaces)
+ const newConst = 1 + 2
+ var _ = newConst + 3 //@codeaction("1 + 2 ", "refactor.extract.constant", edit=spaces)
-- @funclit/a.go --
@@ -5 +5,2 @@
- var _ = func() {} //@codeaction("func() {}", "refactor.extract.variable", edit=funclit)
+ newVar := func() {}
+ var _ = newVar //@codeaction("func() {}", "refactor.extract.variable", edit=funclit)
-- @ptr/a.go --
@@ -6 +6,2 @@
- var _ = *ptr //@codeaction("*ptr", "refactor.extract.variable", edit=ptr)
+ newVar := *ptr
+ var _ = newVar //@codeaction("*ptr", "refactor.extract.variable", edit=ptr)
-- @paren/a.go --
@@ -7 +7,2 @@
- var _ = (ptr) //@codeaction("(ptr)", "refactor.extract.variable", edit=paren)
+ newVar := (ptr)
+ var _ = newVar //@codeaction("(ptr)", "refactor.extract.variable", edit=paren)