checker: fix global fn calls
							parent
							
								
									72c12b6735
								
							
						
					
					
						commit
						7458927593
					
				|  | @ -28,12 +28,14 @@ pub fn (s &Scope) free() { | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| /* | ||||
| pub fn new_scope(parent &Scope, start_pos int) &Scope { | ||||
| 	return &Scope{ | ||||
| 		parent: parent | ||||
| 		start_pos: start_pos | ||||
| 	} | ||||
| } | ||||
| */ | ||||
| 
 | ||||
| fn (s &Scope) dont_lookup_parent() bool { | ||||
| 	return isnil(s.parent) || s.detached_from_parent | ||||
|  |  | |||
|  | @ -2407,6 +2407,15 @@ pub fn (mut c Checker) fn_call(mut call_expr ast.CallExpr) ast.Type { | |||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	// global fn?
 | ||||
| 	if !found { | ||||
| 		if obj := c.file.global_scope.find(fn_name) { | ||||
| 			sym := c.table.get_type_symbol(obj.typ) | ||||
| 			if sym.kind == .function { | ||||
| 				found = true | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	if !found { | ||||
| 		c.error('unknown function: $fn_name', call_expr.pos) | ||||
| 		return ast.void_type | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue