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>());
}
}