Mercurial > projects > dang
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)