Antlr4.Runtime.Atn.ParserATNSimulator.AddDFAState C# (CSharp) Method

AddDFAState() protected method

protected AddDFAState ( DFA dfa, DFAState D ) : DFAState
dfa Antlr4.Runtime.Dfa.DFA
D Antlr4.Runtime.Dfa.DFAState
return Antlr4.Runtime.Dfa.DFAState
        protected DFAState AddDFAState(DFA dfa, DFAState D)
        {
            if (D == ERROR)
            {
                return D;
            }

            lock (dfa.states)
            {
                DFAState existing = dfa.states.Get(D);
                if (existing != null) return existing;

                D.stateNumber = dfa.states.Count;
                if (!D.configSet.IsReadOnly)
                {
                    D.configSet.OptimizeConfigs(this);
                    D.configSet.IsReadOnly = true;
                }
                dfa.states.Put(D, D);
                if (debug) Console.WriteLine("adding new DFA state: " + D);
                return D;
            }
        }