Antlr4.Automata.LexerATNFactory.CheckSetCollision C# (CSharp) Method

CheckSetCollision() protected method

protected CheckSetCollision ( GrammarAST ast, Antlr4.Runtime.Misc.IntervalSet set, int a, int b ) : void
ast Antlr4.Tool.Ast.GrammarAST
set Antlr4.Runtime.Misc.IntervalSet
a int
b int
return void
        protected virtual void CheckSetCollision(GrammarAST ast, IntervalSet set, int a, int b)
        {
            for (int i = a; i <= b; i++)
            {
                if (set.Contains(i))
                {
                    string setText;
                    if (ast.Children == null)
                    {
                        setText = ast.Text;
                    }
                    else
                    {
                        StringBuilder sb = new StringBuilder();
                        foreach (object child in ast.Children)
                        {
                            if (child is RangeAST)
                            {
                                sb.Append(((RangeAST)child).GetChild(0).Text);
                                sb.Append("..");
                                sb.Append(((RangeAST)child).GetChild(1).Text);
                            }
                            else
                            {
                                sb.Append(((GrammarAST)child).Text);
                            }
                            sb.Append(" | ");
                        }
                        sb.Remove(sb.Length - 3, 3);
                        setText = sb.ToString();
                    }

                    g.tool.errMgr.GrammarError(ErrorType.CHARACTERS_COLLISION_IN_SET, g.fileName, ast.Token,
                                        (char)a + "-" + (char)b, setText);
                    break;
                }
            }
        }

Same methods

LexerATNFactory::CheckSetCollision ( GrammarAST ast, Antlr4.Runtime.Misc.IntervalSet set, int el ) : void