New test for generator confirmed to work, filled out
This commit is contained in:
parent
2d5a747be6
commit
bf73821dbd
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue