Mercurial > projects > ddmd
diff dmd/Module.d @ 169:e7769d53e750
Moves static variables from Module to Global
author | korDen |
---|---|
date | Thu, 30 Sep 2010 13:29:54 +0400 |
parents | 010eb8f0e18d |
children | 96c0fff6897d |
line wrap: on
line diff
--- a/dmd/Module.d Thu Sep 30 12:57:13 2010 +0400 +++ b/dmd/Module.d Thu Sep 30 13:29:54 2010 +0400 @@ -164,22 +164,6 @@ class Module : Package { - static Module rootModule; - static DsymbolTable modules; // symbol table of all modules - static Array amodules; // array of all modules - static Array deferred; // deferred Dsymbol's needing semantic() run on them - static uint dprogress; // progress resolving the deferred list - - static void init() - { - modules = new DsymbolTable(); - amodules = new Array(); - deferred = new Array(); - } - - static ClassDeclaration moduleinfo; - - string arg; // original argument name ModuleDeclaration md; // if !null, the contents of the ModuleDeclaration declaration File srcfile; // input source file @@ -687,7 +671,7 @@ } else { - dst = modules; + dst = global.modules; /* Check to see if module name is a valid identifier */ @@ -705,7 +689,7 @@ } else { - amodules.push(cast(void*)this); + global.amodules.push(cast(void*)this); } } } @@ -823,6 +807,7 @@ void semantic2() // pass 2 semantic analysis { + auto deferred = global.deferred; if (deferred.dim) { for (int i = 0; i < deferred.dim; i++) @@ -1282,6 +1267,7 @@ */ void addDeferredSemantic(Dsymbol s) { + auto deferred = global.deferred; // Don't add it if it is already there for (int i = 0; i < deferred.dim; i++) { @@ -1309,9 +1295,11 @@ //if (deferred.dim) printf("+Module.runDeferredSemantic('%s'), len = %d\n", toChars(), deferred.dim); nested++; + auto deferred = global.deferred; + do { - dprogress = 0; + global.dprogress = 0; len = deferred.dim; if (!len) break; @@ -1341,7 +1329,7 @@ //printf("deferred: %s, parent = %s\n", s.toChars(), s.parent.toChars()); } //printf("\tdeferred.dim = %d, len = %d, dprogress = %d\n", deferred.dim, len, dprogress); - } while (deferred.dim < len || dprogress); // while making progress + } while (deferred.dim < len || global.dprogress); // while making progress nested--; //printf("-Module.runDeferredSemantic('%s'), len = %d\n", toChars(), deferred.dim); } @@ -1566,8 +1554,8 @@ */ dt_t* dt = null; - if (moduleinfo) - dtxoff(&dt, moduleinfo.toVtblSymbol(), 0, TYM.TYnptr); // vtbl for ModuleInfo + if (global.moduleinfo) + dtxoff(&dt, global.moduleinfo.toVtblSymbol(), 0, TYM.TYnptr); // vtbl for ModuleInfo else { //printf("moduleinfo is null\n");