From 05177b9dcb6f1d1d91b3a4954e5cb9d0d42aeef6 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Thu, 11 Jun 2020 19:23:13 +0300 Subject: [PATCH] builder: add 'builtin' to builtin_module_parts instead of .clone() --- vlib/v/builder/builder.v | 5 ++--- vlib/v/builder/compile.v | 4 ++++ vlib/v/util/util.v | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/vlib/v/builder/builder.v b/vlib/v/builder/builder.v index 10e253cf8a..0f1aefb0c2 100644 --- a/vlib/v/builder/builder.v +++ b/vlib/v/builder/builder.v @@ -18,13 +18,13 @@ pub: mut: checker checker.Checker pref &pref.Preferences - parsed_files []ast.File global_scope &ast.Scope out_name_c string out_name_js string max_nr_errors int = 100 pub mut: module_search_paths []string + parsed_files []ast.File } pub fn new_builder(pref &pref.Preferences) Builder { @@ -142,8 +142,7 @@ pub fn (mut b Builder) resolve_deps() { // graph of all imported modules pub fn (b &Builder) import_graph() &depgraph.DepGraph { - mut builtins := util.builtin_module_parts.clone() - builtins << 'builtin' + builtins := util.builtin_module_parts mut graph := depgraph.new_dep_graph() for p in b.parsed_files { mut deps := []string{} diff --git a/vlib/v/builder/compile.v b/vlib/v/builder/compile.v index 6b32ef65cd..7a6f41d4f7 100644 --- a/vlib/v/builder/compile.v +++ b/vlib/v/builder/compile.v @@ -156,6 +156,10 @@ Did you forget to add vlib to the path? (Use @vlib for default vlib)') } pub fn (v Builder) get_user_files() []string { + if v.pref.path == 'vlib/builtin' { + // get_builtin_files() has already added the builtin files: + return [] + } mut dir := v.pref.path v.log('get_v_files($dir)') // Need to store user files separately, because they have to be added after diff --git a/vlib/v/util/util.v b/vlib/v/util/util.v index 2b39e417d3..afc876b847 100644 --- a/vlib/v/util/util.v +++ b/vlib/v/util/util.v @@ -12,7 +12,7 @@ pub const ( // math.bits is needed by strconv.ftoa pub const ( - builtin_module_parts = ['math.bits', 'strconv', 'strconv.ftoa', 'hash.wyhash', 'strings'] + builtin_module_parts = ['math.bits', 'strconv', 'strconv.ftoa', 'hash.wyhash', 'strings', 'builtin'] ) pub const (