New test for generator confirmed to work, filled out

This commit is contained in:
Sasha Koshka 2024-02-10 21:31:10 -05:00
parent 2d5a747be6
commit bf73821dbd
1 changed files with 59 additions and 1 deletions

View File

@ -107,7 +107,65 @@ Number.[number]: Int = [.this]
func TestMethodChained (test *testing.T) {
testString (test,
`
`%Number = type i64
define %Number @main() {
0:
%1 = alloca i64
store i64 5, ptr %1
%2 = call %Number @Number.add(ptr %1, i64 8)
%3 = alloca %Number
store %Number %2, ptr %3
%4 = call %Number @Number.mul(ptr %3, i64 3)
ret %Number %4
}
define %Number @Number.mul(ptr %this, %Number %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
%2 = alloca %Number
store %Number %x, ptr %2
%3 = load ptr, ptr %1
%4 = load %Number, ptr %3
%5 = load %Number, ptr %2
%6 = mul %Number %4, %5
ret %Number %6
}
define %Number @Number.add(ptr %this, %Number %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
%2 = alloca %Number
store %Number %x, ptr %2
%3 = load ptr, ptr %1
%4 = load %Number, ptr %3
%5 = load %Number, ptr %2
%6 = add %Number %4, %5
ret %Number %6
}
define %Number @Number.div(ptr %this, %Number %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
%2 = alloca %Number
store %Number %x, ptr %2
%3 = load ptr, ptr %1
%4 = load %Number, ptr %3
%5 = load %Number, ptr %2
%6 = sdiv %Number %4, %5
ret %Number %6
}
define %Number @Number.sub(ptr %this, %Number %x) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
%2 = alloca %Number
store %Number %x, ptr %2
%3 = load ptr, ptr %1
%4 = load %Number, ptr %3
%5 = load %Number, ptr %2
%6 = sub %Number %4, %5
ret %Number %6
}
`,
`
Number: Int