Add TestMethodPtr to generator

This commit is contained in:
Sasha Koshka 2024-03-11 11:50:12 -04:00
parent 566bf41843
commit 1565376418
1 changed files with 34 additions and 0 deletions

View File

@ -105,6 +105,40 @@ Number.[number]: Int = [.this]
`)
}
func TestMethodPtr (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::main"() {
0:
%1 = alloca %"0zNZN147MN2wzMAQ6NS2dQ==::Number"
store i64 5, ptr %1
%2 = alloca ptr
store ptr %1, ptr %2
%3 = load ptr, ptr %2
%4 = call i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %3)
ret i64 %4
}
define i64 @"0zNZN147MN2wzMAQ6NS2dQ==::Number.number"(ptr %this) {
0:
%1 = alloca ptr
store ptr %this, ptr %1
%2 = load ptr, ptr %1
%3 = load i64, ptr %2
ret i64 %3
}
`,
`
Number: Int
Number.[number]: Int = [.this]
[main]: Int = {
num:Number = 5
numptr:*Number = [@num]
numptr.[number]
}
`)
}
func TestMethodChained (test *testing.T) {
testString (test,
`%"0zNZN147MN2wzMAQ6NS2dQ==::Number" = type i64