checker: exit if there are errors
							parent
							
								
									8be07194c7
								
							
						
					
					
						commit
						0074976636
					
				|  | @ -33,6 +33,9 @@ pub fn (c mut Checker) check(ast_file ast.File) { | ||||||
| 	for stmt in ast_file.stmts { | 	for stmt in ast_file.stmts { | ||||||
| 		c.stmt(stmt) | 		c.stmt(stmt) | ||||||
| 	} | 	} | ||||||
|  | 	if c.nr_errors > 0 { | ||||||
|  | 		exit(1) | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn (c mut Checker) check_files(ast_files []ast.File) { | pub fn (c mut Checker) check_files(ast_files []ast.File) { | ||||||
|  | @ -121,7 +124,6 @@ fn (c mut Checker) check_assign_expr(assign_expr ast.AssignExpr) { | ||||||
| 
 | 
 | ||||||
| pub fn (c mut Checker) call_expr(call_expr ast.CallExpr) table.Type { | pub fn (c mut Checker) call_expr(call_expr ast.CallExpr) table.Type { | ||||||
| 	fn_name := call_expr.name | 	fn_name := call_expr.name | ||||||
| 
 |  | ||||||
| 	mut found := false | 	mut found := false | ||||||
| 	// look for function in format `mod.fn` or `fn` (main/builtin)
 | 	// look for function in format `mod.fn` or `fn` (main/builtin)
 | ||||||
| 	mut f := table.Fn{} | 	mut f := table.Fn{} | ||||||
|  | @ -139,7 +141,6 @@ pub fn (c mut Checker) call_expr(call_expr ast.CallExpr) table.Type { | ||||||
| 	if !found { | 	if !found { | ||||||
| 		c.error('unknown fn: $fn_name', call_expr.pos) | 		c.error('unknown fn: $fn_name', call_expr.pos) | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	if f.is_c || call_expr.is_c { | 	if f.is_c || call_expr.is_c { | ||||||
| 		return f.return_type | 		return f.return_type | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue