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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user