def _check_jmpdest(self):
should_check_jumpdest = self._check_jumpdest<EOL>if issymbolic(should_check_jumpdest):<EOL><INDENT>should_check_jumpdest_solutions = solver.get_all_values(self.constraints, should_check_jumpdest)<EOL>if len(should_check_jumpdest_solutions) != <NUM_LIT:1>:<EOL><INDENT>raise EthereumError("<STR_LIT>")<EOL><DEDENT>should_check_jumpdest = should_check_jumpdest_solutions[<NUM_LIT:0>]<EOL><DEDENT>if should_check_jumpdest:<EOL><INDENT>self._check_jumpdest = False<EOL>pc = self.pc.value if isinstance(self.pc, Constant) else self.pc<EOL>if pc not in self._valid_jumpdests:<EOL><INDENT>raise InvalidOpcode()<EOL><DEDENT><DEDENT>
If the previous instruction was a JUMP/JUMPI and the conditional was
True, this checks that the current instruction must be a JUMPDEST.

Here, if symbolic, the conditional `self._check_jumpdest` would be
already constrained to a single concrete value.