diff sema/ScopeBuilder.d @ 180:29324df1d649

Fixed a but that did't allow type-only params.
author Anders Johnsen <skabet@gmail.com>
date Fri, 25 Jul 2008 01:34:12 +0200
parents dc9bf56b7ace
children
line wrap: on
line diff
--- a/sema/ScopeBuilder.d	Fri Jul 25 01:21:07 2008 +0200
+++ b/sema/ScopeBuilder.d	Fri Jul 25 01:34:12 2008 +0200
@@ -78,14 +78,18 @@
     override void visitVarDecl(VarDecl d)
     {
         visitExp(d.varType);
-        visitExp(d.identifier);
+        if(d.identifier)
+            visitExp(d.identifier);
         
         if (d.init)
             visitExp(d.init);
 
-        DType t = typeOf(d.varType, d.env);
-        d.sym = sf.get(current.symbol, t, d.identifier, d);
-        d.sym.type = t;
+        if(d.identifier)
+        {
+            DType t = typeOf(d.varType, d.env);
+            d.sym = sf.get(current.symbol, t, d.identifier, d);
+            d.sym.type = t;
+        }
     }
 
     override void visitStructDecl(StructDecl s)
@@ -398,11 +402,14 @@
             --need_push;
         }
 
-        auto sc = current();
-        sc.put(d.identifier.get, d);
-        d.env = sc;
-        visitExp(d.varType);
-        visitExp(d.identifier);
+        if(d.identifier)
+        {
+            auto sc = current();
+            sc.put(d.identifier.get, d);
+            d.env = sc;
+            visitExp(d.varType);
+            visitExp(d.identifier);
+        }
     }
 
     override void visitStructDecl(StructDecl s)