Generator passes method owner as pointer

This commit is contained in:
Sasha Koshka 2023-12-03 15:38:07 -05:00
parent 52ac569c06
commit e24b9b8f17
2 changed files with 11 additions and 4 deletions

View File

@ -55,9 +55,7 @@ func (this *generator) generateMethod (
if err != nil { return nil, err }
params[index + 1] = llvm.NewParameter(argument.Name, paramType)
}
ownerType, err := this.typedef(method.TypeName)
if err != nil { return nil, err }
params[0] = llvm.NewParameter("this", ownerType)
params[0] = llvm.NewParameter("this", new(llvm.TypePointer))
irFunc := this.module.NewFunction (
method.TypeName + "." + method.Signature.Name,

View File

@ -16,7 +16,16 @@ Greeter.[greet] = [puts [@[.this.message 0]]]
greeter: Greeter = (
message: 'hello\0'
)
greeter.[greet]
greeter.[doNothing]
}
Greeter.[doNothing] = { }
Greeter.[getMessage]: String = {
[puts 'getting']
this.message
[puts 'got']
this.message
}
`)
}