fix: support variadic parameters on methods

This commit is contained in:
Marc Vertes
2019-09-23 15:20:04 +02:00
committed by Traefiker Bot
parent bee21968c7
commit 030dd3cbc2
2 changed files with 27 additions and 1 deletions

22
_test/variadic5.go Normal file
View File

@@ -0,0 +1,22 @@
package main
import (
"fmt"
)
type A struct {
}
func (a A) f(vals ...bool) {
for _, v := range vals {
fmt.Println(v)
}
}
func main() {
a := A{}
a.f(true)
}
// Output:
// true

View File

@@ -671,7 +671,11 @@ func call(n *node) {
// Init variadic argument vector
if variadic >= 0 {
vararg = nf.data[numRet+variadic]
if method {
vararg = nf.data[numRet+variadic+1]
} else {
vararg = nf.data[numRet+variadic]
}
}
// Copy input parameters from caller