public virtual IDictionary<string, IList<System.Tuple<int, AltAST>>> GetAltLabels()
{
IDictionary<string, IList<System.Tuple<int, AltAST>>> labels = new LinkedHashMap<string, IList<System.Tuple<int, AltAST>>>();
for (int i = 1; i <= numberOfAlts; i++)
{
GrammarAST altLabel = alt[i].ast.altLabel;
if (altLabel != null)
{
IList<System.Tuple<int, AltAST>> list;
if (!labels.TryGetValue(altLabel.Text, out list) || list == null)
{
list = new List<System.Tuple<int, AltAST>>();
labels[altLabel.Text] = list;
}
list.Add(Tuple.Create(i, alt[i].ast));
}
}
if (labels.Count == 0)
return null;
return labels;
}