getPrecedenceStartState method

DFAState? getPrecedenceStartState(
  1. int precedence
)

Get the start state for a specific precedence value.

@param precedence The current precedence. @return The start state corresponding to the specified precedence, or null if no start state exists for the specified precedence.

@throws IllegalStateException if this is not a precedence DFA. @see #isPrecedenceDfa()

Implementation

DFAState? getPrecedenceStartState(int precedence) {
  if (!isPrecedenceDfa()) {
    throw StateError(
        'Only precedence DFAs may contain a precedence start state.');
  }

  // s0.edges is never null for a precedence DFA
  if (precedence < 0 || precedence >= s0!.edges!.length) {
    return null;
  }

  return s0!.edges![precedence];
}