compiler: don't add pointer twice to value method of direct interface type

For a direct interface type T with a value method M, its pointer
type (*T)'s method table includes a stub method of M which takes
a (*T) as the receiver instead of a T. However, for the "typ"
field of the method table entry, we added another layer of
indirection, which makes it appear to take a **T, which is wrong.
This causes problems when using reflect.Type.Method to get the
method. This CL fixes the second, incorrect, indirection.

Change-Id: I629018011426a4621d7dd0fb63bdba2f8d109af7
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/175837
Reviewed-by: Ian Lance Taylor <iant@golang.org>
1 file changed