Mercurial > projects > dang
view ast/Module.d @ 160:6cb2f4201e2a
Improved static arrays
Here is a list of some stuff that works
char[3] s = "hey"
char[3] s2 = s;
s2[1] = 98 // no support for chars, but 98 = 'b' :)
int[2] i;
i[0] = 2;
Still can't pass static arrays to functions
author | Anders Halager <halager@gmail.com> |
---|---|
date | Tue, 22 Jul 2008 13:29:20 +0200 |
parents | 6c5a3c0bb4fb |
children | 08f68d684047 |
line wrap: on
line source
module ast.Module; import sema.Scope, sema.VC, sema.Symbol; import ast.Decl; class Module { this(char[] moduleName) { this.moduleName = moduleName; } void addDecl(Decl decl) { switch(decl.declType) { case DeclType.FuncDecl: functions ~= cast(FuncDecl)decl; break; case DeclType.VarDecl: vars ~= cast(VarDecl)decl; break; case DeclType.StructDecl: structs ~= cast(StructDecl)decl; break; case DeclType.ClassDecl: classes ~= cast(ClassDecl)decl; break; case DeclType.InterfaceDecl: interfaces ~= cast(InterfaceDecl)decl; break; default: assert(0, "DeclType not implemented"); } decls ~= decl; } void verify(VC vc) { foreach (decl; decls) decl.verify(vc); } VarDecl[] vars; FuncDecl[] functions; StructDecl[] structs; ClassDecl[] classes; InterfaceDecl[] interfaces; Decl[] decls; char[] moduleName; Scope env; Symbol symbol; bool outputModule = true; }