diff sema/SymbolTableBuilder.d @ 82:06dda301ea61 new_gen

Can declare outside functions and call c-functions
author Anders Johnsen <skabet@gmail.com>
date Fri, 02 May 2008 19:51:58 +0200
parents 110c7e1c4ca2
children 9e90694f5da0
line wrap: on
line diff
--- a/sema/SymbolTableBuilder.d	Fri May 02 18:23:33 2008 +0200
+++ b/sema/SymbolTableBuilder.d	Fri May 02 19:51:58 2008 +0200
@@ -34,11 +34,14 @@
 
     override void visitVarDecl(VarDecl d)
     {
+        visitExp(d.varType);
+        if(!d.identifier)
+            return;
+        
         if (d.init)
             visitExp(d.init);
 
         d.env.find(d.identifier).type = typeOf(d.varType, d.env);
-        visitExp(d.varType);
         visitExp(d.identifier);
     }
 
@@ -135,6 +138,8 @@
             --need_push;
         }
 
+        if(!d.identifier)
+            return;
         auto sc = current();
         auto sym = sc.add(d.identifier);
         d.env = sc;