# HG changeset patch # User Anders Johnsen # Date 1216942452 -7200 # Node ID 29324df1d64966ee17a2f94c46e79a544fa54adf # Parent 2a1a635bd5312729531f4b7a01a5ad7be8ea7460 Fixed a but that did't allow type-only params. diff -r 2a1a635bd531 -r 29324df1d649 sema/AstAction.d --- a/sema/AstAction.d Fri Jul 25 01:21:07 2008 +0200 +++ b/sema/AstAction.d Fri Jul 25 01:34:12 2008 +0200 @@ -97,7 +97,7 @@ else if (type.tok.type == Tok.Interface) d = new InterfaceDecl(identifierFromTok(id.tok)); else - d = new VarDecl(handleType(type), identifierFromTok(id.tok), exp); + d = new VarDecl(handleType(type), id ? identifierFromTok(id.tok) : null, exp); d.att = att; return d; diff -r 2a1a635bd531 -r 29324df1d649 sema/ScopeBuilder.d --- 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)