Mercurial > projects > dang
diff sema/AstAction.d @ 136:2be29b296081
Lots of changes:
- Parsing classes and interfaces
- Fixed some seg faults in sema
- Supporting "private" to some extend
- And a lot of other small fixes
author | johnsen@johnsen-laptop |
---|---|
date | Fri, 11 Jul 2008 21:47:57 +0200 |
parents | c3b24e7e8cf8 |
children | d76cc5cad4fc |
line wrap: on
line diff
--- a/sema/AstAction.d Wed Jul 09 13:38:11 2008 +0200 +++ b/sema/AstAction.d Fri Jul 11 21:47:57 2008 +0200 @@ -31,8 +31,8 @@ { if(auto t = cast(PointerId)type) return new PointerIdentifier(handleType(t.id)); - if(auto t = cast(ArrayId)type) - return new ArrayIdentifier(handleType(t.id), cast(IntegerLit)t.number); + if(auto t = cast(StaticArrayId)type) + return new StaticArrayIdentifier(handleType(t.id), cast(IntegerLit)t.number); else return identifierFromTok(type.tok); } @@ -108,9 +108,11 @@ return new MemberReference(op, exp, id); } - override DeclT actOnStartOfFunctionDef(ref Id type, ref Id name) + override DeclT actOnStartOfFunctionDef(ref Id type, ref Id name, Attribute att) { - return new FuncDecl(identifierFromTok(type.tok), identifierFromTok(name.tok)); + auto res = new FuncDecl(identifierFromTok(type.tok), identifierFromTok(name.tok)); + res.att = att; + return res; } override void addFuncArg(DeclT func, Id type, Id name)