public List<SerializedType> ParseTemplateArguments() { var old = this.compoundArgs; this.compoundArgs = new List<Argument_v1>(); var types = new List<SerializedType>(); while (!PeekAndDiscard('@')) { if (PeekAndDiscard('$')) { ParseNonTypeTemplateArgument(); } else { var t = ParseDataTypeCode(this.compoundArgs); if (t != null) types.Add(t); } } this.compoundArgs = old; return types; }
public SerializedTemplate Parse() { string name = outer.ParseAtName(); List <SerializedType> types = outer.ParseTemplateArguments(); return(new SerializedTemplate(null, name, types.ToArray())); }