Antlr4.Tool.Rule.GetAltLabels C# (CSharp) Method

GetAltLabels() public method

public GetAltLabels ( ) : IDictionary>>
return IDictionary>>
        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;
        }