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;