From a77640165e21b9dc43aa41cd87033b1a02654062 Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sat, 25 Apr 2020 23:43:46 +0300 Subject: [PATCH] compiler: faster vmod lookup --- vlib/v/vmod/vmod.v | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vlib/v/vmod/vmod.v b/vlib/v/vmod/vmod.v index fe724e7fc1..c91caa836e 100644 --- a/vlib/v/vmod/vmod.v +++ b/vlib/v/vmod/vmod.v @@ -99,7 +99,7 @@ fn (mcache mut ModFileCacher) traverse(mfolder string) ([]string, ModFileAndFold // if its source folder is different res := ModFileAndFolder{ vmod_file: os.join_path( cfolder, 'v.mod'), vmod_folder: cfolder } return folders_so_far, res - } + } if mcache.check_for_stop( cfolder, files ) { break } @@ -139,7 +139,12 @@ fn (mcache mut ModFileCacher) get_files(cfolder string) []string { if cfolder in mcache.folder_files { return mcache.folder_files[ cfolder ] } - files := os.ls(cfolder) or { return [] } + mut files := []string + if os.exists( cfolder ) && os.is_dir(cfolder) { + if listing := os.ls(cfolder) { + files = listing + } + } mcache.folder_files[ cfolder ] = files return files }