public override SimpleTreeNode ToSimpleTree() { var typeArgumentNodes = TypeArguments.Select(node => node.ToSimpleTree()).ToList(); var typeParamsNode = new SimpleGroupNode(RQNameStrings.TypeParams, typeArgumentNodes); return(new SimpleGroupNode(RQNameStrings.AggType, DefiningType.ToSimpleTree(), typeParamsNode)); }
private static void WriteNode(SimpleTreeNode node, StringBuilder sb) { sb.Append(node.Text); if (node is SimpleGroupNode) { SimpleGroupNode group = (SimpleGroupNode)node; sb.Append('('); for (int i = 0; i < group.Count; i++) { if (i > 0) { sb.Append(','); } WriteNode(group[i], sb); } sb.Append(')'); } }