Generator passes method owner as pointer
This commit is contained in:
parent
52ac569c06
commit
e24b9b8f17
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
}
|
||||
`)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue