comparison ast/Module.d @ 194:08f68d684047

Rename some files. Hopefully we can get a more iterative sema pass, that's a lot easier to "get startet with". Also added support for alias.
author Anders Johnsen <skabet@gmail.com>
date Tue, 29 Jul 2008 13:54:44 +0200
parents 6c5a3c0bb4fb
children
comparison
equal deleted inserted replaced
193:658178183018 194:08f68d684047
13 this.moduleName = moduleName; 13 this.moduleName = moduleName;
14 } 14 }
15 15
16 void addDecl(Decl decl) 16 void addDecl(Decl decl)
17 { 17 {
18 if(!decl)
19 return;
18 switch(decl.declType) 20 switch(decl.declType)
19 { 21 {
20 case DeclType.FuncDecl: 22 case DeclType.FuncDecl:
21 functions ~= cast(FuncDecl)decl; 23 functions ~= cast(FuncDecl)decl;
22 break; 24 break;
29 case DeclType.ClassDecl: 31 case DeclType.ClassDecl:
30 classes ~= cast(ClassDecl)decl; 32 classes ~= cast(ClassDecl)decl;
31 break; 33 break;
32 case DeclType.InterfaceDecl: 34 case DeclType.InterfaceDecl:
33 interfaces ~= cast(InterfaceDecl)decl; 35 interfaces ~= cast(InterfaceDecl)decl;
36 break;
37 case DeclType.AliasDecl:
38 aliases ~= cast(AliasDecl)decl;
34 break; 39 break;
35 default: 40 default:
36 assert(0, "DeclType not implemented"); 41 assert(0, "DeclType not implemented");
37 } 42 }
38 decls ~= decl; 43 decls ~= decl;
47 VarDecl[] vars; 52 VarDecl[] vars;
48 FuncDecl[] functions; 53 FuncDecl[] functions;
49 StructDecl[] structs; 54 StructDecl[] structs;
50 ClassDecl[] classes; 55 ClassDecl[] classes;
51 InterfaceDecl[] interfaces; 56 InterfaceDecl[] interfaces;
57 AliasDecl[] aliases;
52 Decl[] decls; 58 Decl[] decls;
53 59
54 char[] moduleName; 60 char[] moduleName;
55 Scope env; 61 Scope env;
56 Symbol symbol; 62 Symbol symbol;