public Argument_v1[] ParseArgumentList()
{
var args = new List<Argument_v1>();
if (!PeekAndDiscard('X')) // Empty arg list
{
while (!PeekAndDiscard('@'))
{
if (PeekAndDiscard('Z')) // Ellipses ('...')
{
args.Add(new Argument_v1 { Name="...", Type=new VoidType_v1() });
break; // Ellipses can only be the last arg, so arglist is done!
}
var arg = ParseDataTypeCode(this.compoundArgs);
args.Add(new Argument_v1 { Type = arg });
}
}
Expect('Z');
return args.ToArray();
}