diff options
author | Araq <rumpf_a@web.de> | 2016-11-05 01:19:23 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2016-11-05 01:19:23 +0100 |
commit | 9e6fb3f696b2d28f900506b531a916457b4a263c (patch) | |
tree | bfa56e480c01264102b26703181c1c8a6d8e2233 /compiler/scriptconfig.nim | |
parent | 33ebf3e5fb05f45abadeff4747ab0e3031f75dd0 (diff) | |
download | Nim-9e6fb3f696b2d28f900506b531a916457b4a263c.tar.gz |
new dependency tracking for nimsuggest
Diffstat (limited to 'compiler/scriptconfig.nim')
-rw-r--r-- | compiler/scriptconfig.nim | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/compiler/scriptconfig.nim b/compiler/scriptconfig.nim index 891ee80ad..ddd73e6f8 100644 --- a/compiler/scriptconfig.nim +++ b/compiler/scriptconfig.nim @@ -13,7 +13,7 @@ import ast, modules, idents, passes, passaux, condsyms, options, nimconf, lists, sem, semdata, llstream, vm, vmdef, commands, msgs, - os, times, osproc, wordrecg, strtabs + os, times, osproc, wordrecg, strtabs, modulegraphs # we support 'cmpIgnoreStyle' natively for efficiency: from strutils import cmpIgnoreStyle, contains @@ -134,9 +134,11 @@ proc setupVM*(module: PSym; cache: IdentCache; scriptName: string): PEvalContext cbconf selfExe: setResult(a, os.getAppFilename()) -proc runNimScript*(cache: IdentCache; scriptName: string; freshDefines=true) = +proc runNimScript*(cache: IdentCache; scriptName: string; + freshDefines=true) = passes.gIncludeFile = includeModule passes.gImportModule = importModule + let graph = newModuleGraph() if freshDefines: initDefines() defineSymbol("nimscript") @@ -146,15 +148,15 @@ proc runNimScript*(cache: IdentCache; scriptName: string; freshDefines=true) = appendStr(searchPaths, options.libpath) - var m = makeModule(scriptName) + var m = graph.makeModule(scriptName) incl(m.flags, sfMainModule) vm.globalCtx = setupVM(m, cache, scriptName) - compileSystemModule(cache) - discard processModule(m, llStreamOpen(scriptName, fmRead), nil, cache) + graph.compileSystemModule(cache) + discard graph.processModule(m, llStreamOpen(scriptName, fmRead), nil, cache) # ensure we load 'system.nim' again for the real non-config stuff! - resetAllModulesHard() + #resetAllModulesHard() vm.globalCtx = nil # do not remove the defined symbols #initDefines() |