| # DExTer : Debugging Experience Tester |
| # ~~~~~~ ~ ~~ ~ ~~ |
| # |
| # Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| # See https://llvm.org/LICENSE.txt for license information. |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| |
| from dex.command.CommandBase import CommandBase |
| from dex.dextIR import ValueIR |
| |
| |
| class DexUnreachable(CommandBase): |
| """Expect the source line this is found on will never be stepped on to. |
| |
| DexUnreachable() |
| |
| See Commands.md for more info. |
| """ |
| |
| def __init(self): |
| super(DexUnreachable, self).__init__() |
| pass |
| |
| @staticmethod |
| def get_name(): |
| return __class__.__name__ |
| |
| def eval(self, step_info): |
| # If we're ever called, at all, then we're evaluating a line that has |
| # been marked as unreachable. Which means a failure. |
| vir = ValueIR(expression="Unreachable", |
| value="True", type_name=None, |
| error_string=None, |
| could_evaluate=True, |
| is_optimized_away=True, |
| is_irretrievable=False) |
| return {'DexUnreachable' : vir} |