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