Antlr4.Tool.Grammar.UndefineRule C# (CSharp) Method

UndefineRule() public method

public UndefineRule ( [ r ) : bool
r [
return bool
        public virtual bool UndefineRule([NotNull] Rule r)
        {
            if (r.index < 0 || r.index >= indexToRule.Count || indexToRule[r.index] != r)
            {
                return false;
            }

            Debug.Assert(rules.ContainsKey(r.name) && rules[r.name] == r);

            rules.Remove(r.name);
            indexToRule.RemoveAt(r.index);
            for (int i = r.index; i < indexToRule.Count; i++)
            {
                Debug.Assert(indexToRule[i].index == i + 1);
                indexToRule[i].index--;
            }

            ruleNumber--;
            return true;
        }