This test checks the param name and type of the generated missing method based on CallExpr.

-- basic_stub.go --
package fromcallparams

type A struct{}

func untypedParams() {
	a := A{}
	a.untyped("s", 42, 4.12, make(map[string]int), []int{1}, [1]int{1}, make(chan string)) //@quickfix("untyped", re"has no field or method", basic)
}
-- @basic/basic_stub.go --
@@ -5 +5,4 @@
+func (a A) untyped(s string, i int, f float64, m map[string]int, param5 []int, param6 [1]int, ch chan string) {
+	panic("unimplemented")
+}
+
-- nonexistent_type.go --
package fromcallparams

type B struct{}

func invalidBasicKindParam() {
	b := B{}
	b.basicKind(NonExistentType{}) //@quickfix("basicKind", re"has no field or method", nonexistent),diag(re"NonExistentType",re"undefined: NonExistentType")
}
-- @nonexistent/nonexistent_type.go --
@@ -5 +5,4 @@
+func (b B) basicKind(param any) {
+	panic("unimplemented")
+}
+
-- pass_param_by_ident.go --
package fromcallparams

type C struct{}

func passParamByIdent() {
	c := C{}
	stringVar := "some string"
	intVar := 1
	sliceVar := []int{1}
	c.ident(stringVar, intVar, sliceVar) //@quickfix("ident", re"has no field or method", ident)
}
-- @ident/pass_param_by_ident.go --
@@ -5 +5,4 @@
+func (c C) ident(stringVar string, intVar int, sliceVar []int) {
+	panic("unimplemented")
+}
+
-- tail_param_name.go --
package fromcallparams

type Tail struct{}

type TypeWithLongName struct{}

func TailParamName() {
	t := Tail{}
	t.longName(TypeWithLongName{}) //@quickfix("longName", re"has no field or method", trail)
}
-- @trail/tail_param_name.go --
@@ -5 +5,4 @@
+func (t Tail) longName(name TypeWithLongName) {
+	panic("unimplemented")
+}
+
-- selector_param_name.go --
package fromcallparams

import "net/http"

type Select struct{}

func selectExpr() {
	s := Select{}
	s.sel(http.ErrNotMultipart) //@quickfix("sel", re"has no field or method", select)
}
-- @select/selector_param_name.go --
@@ -7 +7,4 @@
+func (s Select) sel(multipart *http.ProtocolError) {
+	panic("unimplemented")
+}
+
