mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-07 04:23:41 +00:00
compiler: fix expanded structs in invoke calls
This commit is contained in:
Vendored
+28
@@ -13,6 +13,8 @@ func main() {
|
||||
printItf(Number(3))
|
||||
array := Array([4]uint32{1, 7, 11, 13})
|
||||
printItf(array)
|
||||
printItf(ArrayStruct{3, array})
|
||||
printItf(SmallPair{3, 5})
|
||||
s := Stringer(thing)
|
||||
println("Stringer.String():", s.String())
|
||||
var itf interface{} = s
|
||||
@@ -85,3 +87,29 @@ func (a Array) Nth(n int) uint32 {
|
||||
func (a Array) Print() {
|
||||
println("Array len:", len(a))
|
||||
}
|
||||
|
||||
type ArrayStruct struct {
|
||||
n int
|
||||
a Array
|
||||
}
|
||||
|
||||
func (a ArrayStruct) Nth(n int) uint32 {
|
||||
return a.a[n]
|
||||
}
|
||||
|
||||
func (a ArrayStruct) Print() {
|
||||
println("ArrayStruct.Print:", len(a.a), a.n)
|
||||
}
|
||||
|
||||
type SmallPair struct {
|
||||
a byte
|
||||
b byte
|
||||
}
|
||||
|
||||
func (p SmallPair) Nth(n int) uint32 {
|
||||
return uint32(int(p.a)*n + int(p.b)*n)
|
||||
}
|
||||
|
||||
func (p SmallPair) Print() {
|
||||
println("SmallPair.Print:", p.a, p.b)
|
||||
}
|
||||
|
||||
Vendored
+4
@@ -9,5 +9,9 @@ is *Thing: foo
|
||||
is Doubler: 6
|
||||
is Tuple: 1 7 11 13
|
||||
Array len: 4
|
||||
is Tuple: 1 7 11 13
|
||||
ArrayStruct.Print: 4 3
|
||||
is Tuple: 0 8 16 24
|
||||
SmallPair.Print: 3 5
|
||||
Stringer.String(): foo
|
||||
Stringer.(*Thing).String(): foo
|
||||
|
||||
Reference in New Issue
Block a user