generateAssignmentSource assigns interface methods to iface dest

This commit is contained in:
Sasha Koshka 2023-12-14 00:47:14 -05:00
parent 91eb3e8e9e
commit 6fa8adf871
2 changed files with 22 additions and 2 deletions

View File

@ -81,7 +81,7 @@ func (this *generator) generateAssignmentSource (
// assign behaviors
for _, name := range toBase.BehaviorOrder {
toBehaviorField := this.getInterfaceBehavior (
toBase, source,
toBase, destination,
irToType, name)
fromBehavior, err := this.method(fromReferenced.Name, name)
if err != nil { return nil, err }
@ -102,7 +102,7 @@ func (this *generator) generateAssignmentSource (
// assign behaviors
for _, name := range toBase.BehaviorOrder {
toBehaviorField := this.getInterfaceBehavior (
toBase, source,
toBase, destination,
irToType, name)
fromBehavior, err := this.method(fromType.Name, name)
if err != nil { return nil, err }

View File

@ -0,0 +1,20 @@
package generator
import "testing"
func TestInterfaceBasic (test *testing.T) {
testString (test,
`
`,
`
Numbered: ([number]: Int)
Number: Int
Number.[number]: Int = [.this]
[main]:Index = {
num:Number = 5
if:Numbered = num
if.[number]
}
`)
}