reflect: correctly handle direct interface typed receiver in Value.call
A direct interface type's value method takes value receiver now. Don't pass pointer to the method function. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/175798 From-SVN: r271000
This commit is contained in:
parent
d9b120ce89
commit
b65b77cc80
2 changed files with 2 additions and 2 deletions
|
@ -1,4 +1,4 @@
|
|||
e3ba8828baf60343316bb68002e94570ee63ad1e
|
||||
fcbf847c3bf76fb475c9020e1c57057134407263
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -401,7 +401,7 @@ func (v Value) call(op string, in []Value) []Value {
|
|||
if v.flag&flagMethod != 0 {
|
||||
nin++
|
||||
}
|
||||
firstPointer := len(in) > 0 && t.In(0).Kind() != Ptr && v.flag&flagMethodFn != 0
|
||||
firstPointer := len(in) > 0 && ifaceIndir(t.In(0).common()) && v.flag&flagMethodFn != 0
|
||||
params := make([]unsafe.Pointer, nin)
|
||||
off := 0
|
||||
if v.flag&flagMethod != 0 {
|
||||
|
|
Loading…
Add table
Reference in a new issue