parser: do not duplicate table imports
							parent
							
								
									75aa92b907
								
							
						
					
					
						commit
						653d40bfe8
					
				|  | @ -289,28 +289,29 @@ fn (mut v Builder) cc() { | ||||||
| 			println('$builtin_o_path not found... building module builtin') | 			println('$builtin_o_path not found... building module builtin') | ||||||
| 			os.system('$vexe build module vlib${os.path_separator}builtin') | 			os.system('$vexe build module vlib${os.path_separator}builtin') | ||||||
| 		} | 		} | ||||||
|  | 		*/ | ||||||
| 		for imp in v.table.imports { | 		for imp in v.table.imports { | ||||||
| 			if imp.contains('vweb') { | 			if imp.contains('vweb') { | ||||||
| 				continue | 				continue | ||||||
| 			} // not working
 | 			} | ||||||
|  | 			// not working
 | ||||||
| 			if imp == 'webview' { | 			if imp == 'webview' { | ||||||
| 				continue | 				continue | ||||||
| 			} | 			} | ||||||
|  | 			// println('cache: import "$imp"')
 | ||||||
| 			imp_path := imp.replace('.', os.path_separator) | 			imp_path := imp.replace('.', os.path_separator) | ||||||
| 			path := '${pref.default_module_path}${os.path_separator}cache${os.path_separator}vlib${os.path_separator}${imp_path}.o' | 			path := '$pref.default_module_path${os.path_separator}cache${os.path_separator}vlib$os.path_separator${imp_path}.o' | ||||||
| 			// println('adding ${imp_path}.o')
 | 			// println('adding ${imp_path}.o')
 | ||||||
| 			if os.exists(path) { | 			if os.exists(path) { | ||||||
| 				libs += ' ' + path | 				libs += ' ' + path | ||||||
| 			} | 			} else { | ||||||
| 			else { |  | ||||||
| 				println('$path not found... building module $imp') | 				println('$path not found... building module $imp') | ||||||
| 				os.system('$vexe build module vlib${os.path_separator}$imp_path') | 				os.system('$vexe build-module vlib$os.path_separator$imp_path') | ||||||
| 			} | 			} | ||||||
| 			if path.ends_with('vlib/ui.o') { | 			if path.ends_with('vlib/ui.o') { | ||||||
| 				a << '-framework Cocoa -framework Carbon' | 				a << '-framework Cocoa -framework Carbon' | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		*/ |  | ||||||
| 	} | 	} | ||||||
| 	if v.pref.sanitize { | 	if v.pref.sanitize { | ||||||
| 		a << '-fsanitize=leak' | 		a << '-fsanitize=leak' | ||||||
|  |  | ||||||
|  | @ -732,7 +732,10 @@ fn (mut g Gen) stmt(node ast.Stmt) { | ||||||
| 			mut skip := false | 			mut skip := false | ||||||
| 			pos := g.out.buf.len | 			pos := g.out.buf.len | ||||||
| 			if g.pref.build_mode == .build_module { | 			if g.pref.build_mode == .build_module { | ||||||
| 				if !node.name.starts_with(g.module_built + '.') && node.mod != g.module_built { | 				// if node.name.contains('parse_text') {
 | ||||||
|  | 				// println('!!! $node.name mod=$node.mod, built=$g.module_built')
 | ||||||
|  | 				// }
 | ||||||
|  | 				if !node.name.starts_with(g.module_built + '.') && node.mod != g.module_built.after('/') { | ||||||
| 					// Skip functions that don't have to be generated
 | 					// Skip functions that don't have to be generated
 | ||||||
| 					// for this module.
 | 					// for this module.
 | ||||||
| 					skip = true | 					skip = true | ||||||
|  |  | ||||||
|  | @ -1398,8 +1398,10 @@ fn (mut p Parser) import_stmt() ast.Import { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	p.imports[mod_alias] = mod_name | 	p.imports[mod_alias] = mod_name | ||||||
| 	p.table.imports << mod_name | 	if mod_name !in p.table.imports { | ||||||
| 	p.ast_imports << node | 		p.table.imports << mod_name | ||||||
|  | 		p.ast_imports << node | ||||||
|  | 	} | ||||||
| 	return node | 	return node | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue