mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
compiler: faster vmod lookup
This commit is contained in:
@ -99,7 +99,7 @@ fn (mcache mut ModFileCacher) traverse(mfolder string) ([]string, ModFileAndFold
|
|||||||
// if its source folder is different
|
// if its source folder is different
|
||||||
res := ModFileAndFolder{ vmod_file: os.join_path( cfolder, 'v.mod'), vmod_folder: cfolder }
|
res := ModFileAndFolder{ vmod_file: os.join_path( cfolder, 'v.mod'), vmod_folder: cfolder }
|
||||||
return folders_so_far, res
|
return folders_so_far, res
|
||||||
}
|
}
|
||||||
if mcache.check_for_stop( cfolder, files ) {
|
if mcache.check_for_stop( cfolder, files ) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -139,7 +139,12 @@ fn (mcache mut ModFileCacher) get_files(cfolder string) []string {
|
|||||||
if cfolder in mcache.folder_files {
|
if cfolder in mcache.folder_files {
|
||||||
return mcache.folder_files[ cfolder ]
|
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
|
mcache.folder_files[ cfolder ] = files
|
||||||
return files
|
return files
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user