Mercurial > projects > dang
diff sema/ScopeBuilder.d @ 162:0f38f1a0f06f
Fixed symbol for a functions members.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Tue, 22 Jul 2008 16:22:58 +0200 |
parents | 57b0b4464a0b |
children | 362265427838 |
line wrap: on
line diff
--- a/sema/ScopeBuilder.d Tue Jul 22 13:39:15 2008 +0200 +++ b/sema/ScopeBuilder.d Tue Jul 22 16:22:58 2008 +0200 @@ -30,6 +30,15 @@ visitExp(d.returnType); visitExp(d.identifier); + + d.sym = current.symbol.createMember( + d.identifier.get, + d.type, + d); + + auto old = current.symbol; + current.symbol = d.sym; + foreach (arg; d.funcArgs) visitDecl(arg); @@ -40,10 +49,8 @@ inFunctionBodyStack.pop(); - d.sym = current.symbol.createMember( - d.identifier.get, - d.type, - d); + current.symbol = old; + } override void visitVarDecl(VarDecl d)