Antlr4.Codegen.Model.RuleFunction.GetElementFrequenciesForAlt C# (CSharp) Method

GetElementFrequenciesForAlt() protected method

protected GetElementFrequenciesForAlt ( AltAST ast ) : FrequencySet>.System.Tuple
ast AltAST
return FrequencySet>.System.Tuple
        protected virtual System.Tuple<FrequencySet<string>, FrequencySet<string>> GetElementFrequenciesForAlt(AltAST ast)
        {
            try
            {
                ElementFrequenciesVisitor visitor = new ElementFrequenciesVisitor(rule.g, new CommonTreeNodeStream(new GrammarASTAdaptor(), ast));
                visitor.outerAlternative();
                if (visitor.frequencies.Count != 1)
                {
                    factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR);
                    return Tuple.Create(new FrequencySet<string>(), new FrequencySet<string>());
                }

                return Tuple.Create(visitor.GetMinFrequencies(), visitor.frequencies.Peek());
            }
            catch (RecognitionException ex)
            {
                factory.GetGrammar().tool.errMgr.ToolError(ErrorType.INTERNAL_ERROR, ex);
                return Tuple.Create(new FrequencySet<string>(), new FrequencySet<string>());
            }
        }