This test checks the basic of 'Declare missing method T.f' quick fix.

-- basic_stub.go --
package fromcallbasic

type Basic struct{}

func basic() {
	i := 1
	b := Basic{}
	f(b.basic(i)) //@quickfix("basic", re"has no field or method", basic)
}

func f(i int) string { return "s" }
-- @basic/basic_stub.go --
@@ -5 +5,4 @@
+func (b Basic) basic(i int) int {
+	panic("unimplemented")
+}
+
-- pointer.go --
package fromcallbasic

type P struct{}

func recv_param_pointer() {
	p := &P{}
	i := 42
	p.pointer(&i) //@quickfix("pointer", re"has no field or method", pointer)
}
-- @pointer/pointer.go --
@@ -5 +5,4 @@
+func (p *P) pointer(i *int) {
+	panic("unimplemented")
+}
+
-- other.go --
package fromcallbasic

type TypeDeclInOtherFile struct{}

-- this.go --
package fromcallbasic

func fun() {
	i := 1
	t := TypeDeclInOtherFile{}
	t.other(i) //@quickfix("other", re"has no field or method", del_other)
}
-- @del_other/other.go --
@@ -5 +5,3 @@
+func (t TypeDeclInOtherFile) other(i int) {
+	panic("unimplemented")
+}
-- should_insert_after.go --
package fromcallbasic

type HasMethod struct{}

func (h *HasMethod) m() {
	h.should_insert_after() //@quickfix("should_insert_after", re"has no field or method", insert)
}
-- @insert/should_insert_after.go --
@@ -8 +8,4 @@
+
+func (h *HasMethod) should_insert_after() {
+	panic("unimplemented")
+}
