Antlr4.Codegen.Model.RuleFunction.GetLabelName C# (CSharp) Метод

GetLabelName() публичный статический Метод

public static GetLabelName ( Grammar g, GrammarAST t ) : string
g Antlr4.Tool.Grammar
t Antlr4.Tool.Ast.GrammarAST
Результат string
        public static string GetLabelName(Grammar g, GrammarAST t)
        {
            string labelName = t.Text;
            Rule referencedRule;
            if (g.rules.TryGetValue(labelName, out referencedRule) && referencedRule != null)
            {
                labelName = referencedRule.GetBaseContext();
            }

            return labelName;
        }

Usage Example

        public override void RuleRef(GrammarAST @ref, ActionAST arg)
        {
            if (@ref is GrammarASTWithOptions)
            {
                GrammarASTWithOptions grammarASTWithOptions = (GrammarASTWithOptions)@ref;
                if (bool.Parse(grammarASTWithOptions.GetOptionString(LeftFactoringRuleTransformer.SUPPRESS_ACCESSOR) ?? "false"))
                {
                    return;
                }
            }

            frequencies.Peek().Add(RuleFunction.GetLabelName(grammar, @ref));
            minFrequencies.Peek().Add(RuleFunction.GetLabelName(grammar, @ref));
        }