Antlr4.Semantics.BasicSemanticChecks.CheckElementIsOuterMostInSingleAlt C# (CSharp) Method

CheckElementIsOuterMostInSingleAlt() protected method

protected CheckElementIsOuterMostInSingleAlt ( GrammarAST tree ) : void
tree Antlr4.Tool.Ast.GrammarAST
return void
        protected virtual void CheckElementIsOuterMostInSingleAlt(GrammarAST tree)
        {
            CommonTree alt = (CommonTree)tree.Parent;
            CommonTree blk = (CommonTree)alt.Parent;
            bool outerMostAlt = blk.Parent.Type == RULE;
            ITree rule = tree.GetAncestor(RULE);
            string fileName = tree.Token.InputStream.SourceName;
            if (!outerMostAlt || blk.ChildCount > 1)
            {
                ErrorType e = ErrorType.LEXER_COMMAND_PLACEMENT_ISSUE;
                g.tool.errMgr.GrammarError(e,
                                           fileName,
                                           tree.Token,
                                           rule.GetChild(0).Text);

            }
        }