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)