Mercurial > projects > dil
changeset 254:eb6e3f1fbfee
- Removed typedef and created a proper TemplateArguments class.
author | aziz |
---|---|
date | Wed, 01 Aug 2007 19:10:01 +0000 |
parents | 4279b638c63e |
children | 7ba0229af908 |
files | trunk/src/Parser.d trunk/src/Types.d |
diffstat | 2 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Parser.d Wed Aug 01 18:39:02 2007 +0000 +++ b/trunk/src/Parser.d Wed Aug 01 19:10:01 2007 +0000 @@ -3382,7 +3382,8 @@ TemplateArguments parseTemplateArguments() { - TemplateArguments args; + auto begin = token; + auto args = new TemplateArguments; require(T.LParen); if (token.type == T.RParen) @@ -3416,6 +3417,7 @@ } while (token.type == T.Comma) require(T.RParen); + set(args, begin); return args; }
--- a/trunk/src/Types.d Wed Aug 01 18:39:02 2007 +0000 +++ b/trunk/src/Types.d Wed Aug 01 19:10:01 2007 +0000 @@ -159,7 +159,20 @@ } } -typedef Object[] TemplateArguments; +class TemplateArguments : Node +{ + Node[] args; + + this() + { + super(NodeType.Other); + } + + void opCatAssign(Node argument) + { + args ~= argument; + } +} enum TID {