Antlr4.Tool.GrammarTransformPipeline.SetGrammarPtr C# (CSharp) Method

SetGrammarPtr() public static method

public static SetGrammarPtr ( Grammar g, GrammarAST tree ) : void
g Grammar
tree Antlr4.Tool.Ast.GrammarAST
return void
        public static void SetGrammarPtr(Grammar g, GrammarAST tree)
        {
            if (tree == null)
                return;
            // ensure each node has pointer to surrounding grammar
            Antlr.Runtime.Misc.Func<object, object> preAction =
                t =>
                {
                    ((GrammarAST)t).g = g;
                    return t;
                };
            Antlr.Runtime.Misc.Func<object, object> postAction = t => t;
            TreeVisitor v = new TreeVisitor(new GrammarASTAdaptor());
            v.Visit(tree, new TreeVisitorAction(preAction, postAction));
        }