Mercurial > projects > dang
comparison ast/Module.d @ 144:6e6355fb5f0f
- Parsing nested attributes.
- Creating classes and interfaces in AST.
- Updated AstPrinter to print attributes, classes and interfaces.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Mon, 21 Jul 2008 17:41:40 +0200 |
parents | 927ae00bd9d2 |
children | 6c5a3c0bb4fb |
comparison
equal
deleted
inserted
replaced
143:d76cc5cad4fc | 144:6e6355fb5f0f |
---|---|
23 vars ~= cast(VarDecl)decl; | 23 vars ~= cast(VarDecl)decl; |
24 break; | 24 break; |
25 case DeclType.StructDecl: | 25 case DeclType.StructDecl: |
26 structs ~= cast(StructDecl)decl; | 26 structs ~= cast(StructDecl)decl; |
27 break; | 27 break; |
28 case DeclType.ClassDecl: | |
29 classes ~= cast(ClassDecl)decl; | |
30 break; | |
31 case DeclType.InterfaceDecl: | |
32 interfaces ~= cast(InterfaceDecl)decl; | |
33 break; | |
28 default: | 34 default: |
29 assert(0, "DeclType not implemented"); | 35 assert(0, "DeclType not implemented"); |
30 } | 36 } |
31 decls ~= decl; | 37 decls ~= decl; |
32 } | 38 } |
33 | 39 |
34 VarDecl[] vars; | 40 VarDecl[] vars; |
35 FuncDecl[] functions; | 41 FuncDecl[] functions; |
36 StructDecl[] structs; | 42 StructDecl[] structs; |
43 ClassDecl[] classes; | |
44 InterfaceDecl[] interfaces; | |
37 Decl[] decls; | 45 Decl[] decls; |
38 | 46 |
39 char[] moduleName; | 47 char[] moduleName; |
40 Scope env; | 48 Scope env; |
41 Symbol symbol; | 49 Symbol symbol; |