# 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 """Command to instruct the debugger to inspect the value of some set of expressions on the current source line. """ from dex.command.CommandBase import CommandBase class DexWatch(CommandBase): """[Deprecated] Evaluate each given `expression` when the debugger steps onto the line this command is found on DexWatch(*expressions) See Commands.md for more info. """ def __init__(self, *args): if not args: raise TypeError('expected some arguments') for arg in args: if not isinstance(arg, str): raise TypeError('invalid argument type') self._args = args super(DexWatch, self).__init__() @staticmethod def get_name(): return __class__.__name__ def eval(self, debugger): return {arg: debugger.evaluate_expression(arg) for arg in self._args}