go-lang-plugin-org/go-lang-idea-plugin — pull request #685 by m0sth8 (2014-04-16 12:11:20+00:00)
Title: Fix create function

The code
```
type Person struct {
}

func tc(arg *Person) bool {
return true
}

var c complex64 = complex(2, -2)

func main() {
f := func(n int) int {
return 7 + n + /*begin*/Foo/*end*/([]string{"1", "2", "3"}, tc, tc(nil), func() int { return 0 }(), 50/5, 2*.5*2, .5*2 == 1, 'w', 1.0 << 2, c, complex(2, -2))
}
println(f(5))
}
```
generates
```
func Foo(arg0 []string, arg1 func(*Person) bool, arg2 bool, arg3 int, arg4 int, arg5 int, arg6 bool, arg7 string, arg8 int, arg9 complex64, arg10 identifier) {
//TODO: implements Foo
}
```
in old version, where arg5, arg7, arg10 types are wrong.
The new version generates
```
func Foo(arg0 []string, arg1 func(*Person) bool, arg2 bool, arg3 int, arg4 int, arg5 float64, arg6 bool, arg7 rune, arg8 int, arg9 complex64, arg10 complex128) {
//TODO: implements Foo
}
```
which is seemed correct.