Mercurial > projects > dil
diff trunk/src/dil/Declarations.d @ 364:1059295c2727
- Every command module has an execute method now.
- Added module cmd.ImportGraph.
- Renamed ModuleName to ModuleFQN.
- Added module dil.Module.
- Added member 'imports' to class Parser.
author | aziz |
---|---|
date | Fri, 31 Aug 2007 00:53:00 +0000 |
parents | 511c14950cac |
children | ed67acc82268 |
line wrap: on
line diff
--- a/trunk/src/dil/Declarations.d Thu Aug 30 12:02:04 2007 +0000 +++ b/trunk/src/dil/Declarations.d Fri Aug 31 00:53:00 2007 +0000 @@ -58,30 +58,36 @@ } } -alias Token*[] ModuleName; // Identifier(.Identifier)* +/// FQN = fully qualified name +alias Token*[] ModuleFQN; // Identifier(.Identifier)* class ModuleDeclaration : Declaration { - ModuleName moduleName; // module name sits at end of array - this(ModuleName moduleName) + Token* moduleName; + Token*[] packages; + this(ModuleFQN moduleFQN) { super(false); mixin(set_kind); - this.moduleName = moduleName; + if (moduleFQN.length) + { + this.moduleName = moduleFQN[$-1]; + this.packages = moduleFQN[0..$-1]; + } } } class ImportDeclaration : Declaration { - ModuleName[] moduleNames; + ModuleFQN[] moduleFQNs; Token*[] moduleAliases; Token*[] bindNames; Token*[] bindAliases; - this(ModuleName[] moduleNames, Token*[] moduleAliases, Token*[] bindNames, Token*[] bindAliases) + this(ModuleFQN[] moduleFQNs, Token*[] moduleAliases, Token*[] bindNames, Token*[] bindAliases) { super(false); mixin(set_kind); - this.moduleNames = moduleNames; + this.moduleFQNs = moduleFQNs; this.moduleAliases = moduleAliases; this.bindNames = bindNames; this.bindAliases = bindAliases;