def METHOD_NAME(self, production, token):
    translated_state = self._get_target_state_after_shifting_production(production)
    try:
        # this might be negative (e.g. indicate a production shift).
        return self._parser.action[self._parser.goto[translated_state][production.name]][token]
    except KeyError:
        # this indicates a syntax error, the current token
        # does not match any rules where this production
        # is referenced from
        return -1