Mercurial > projects > dil
diff trunk/src/dil/SettingsLoader.d @ 778:78be32e3e157
Implemented conditional compilation.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Wed, 20 Feb 2008 22:09:29 +0100 |
parents | 9c47f377ca0b |
children |
line wrap: on
line diff
--- a/trunk/src/dil/SettingsLoader.d Wed Feb 20 01:24:19 2008 +0100 +++ b/trunk/src/dil/SettingsLoader.d Wed Feb 20 22:09:29 2008 +0100 @@ -12,6 +12,7 @@ import dil.semantic.Symbol; import dil.semantic.Symbols; import dil.Information; +import dil.Compilation; import common; import tango.io.FilePath; @@ -77,9 +78,14 @@ if (mod.hasErrors) return; - auto pass1 = new SemanticPass1(mod); + auto context = new CompilationContext; + auto pass1 = new SemanticPass1(mod, context); pass1.start(); + if (auto array = getValue!(ArrayInitExpression)("version_ids")) + foreach (value; array.values) + if (auto str = castTo!(StringExpression)(value)) + GlobalSettings.versionIds ~= str.getString(); if (auto val = getValue!(StringExpression)("langfile")) GlobalSettings.langFile = val.getString(); if (auto array = getValue!(ArrayInitExpression)("import_paths")) @@ -109,7 +115,7 @@ if (mod.hasErrors) return; - pass1 = new SemanticPass1(mod); + pass1 = new SemanticPass1(mod, context); pass1.start(); if (auto array = getValue!(ArrayInitExpression)("messages")) @@ -149,7 +155,8 @@ if (mod.hasErrors) return null; - auto pass1 = new SemanticPass1(mod); + auto context = new CompilationContext; + auto pass1 = new SemanticPass1(mod, context); pass1.start(); string[string] map;