# HG changeset patch # User Anders Halager # Date 1216942808 -7200 # Node ID 4e703658eca009c6b352b67cb1264b7146942685 # Parent 59cd211a1bd3231c1dd422acd236db2eefa9ec21# Parent 29324df1d64966ee17a2f94c46e79a544fa54adf merge diff -r 59cd211a1bd3 -r 4e703658eca0 sema/AstAction.d --- a/sema/AstAction.d Fri Jul 25 01:39:01 2008 +0200 +++ b/sema/AstAction.d Fri Jul 25 01:40:08 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 59cd211a1bd3 -r 4e703658eca0 sema/ScopeBuilder.d --- a/sema/ScopeBuilder.d Fri Jul 25 01:39:01 2008 +0200 +++ b/sema/ScopeBuilder.d Fri Jul 25 01:40:08 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)