Files
clang-p2996/cross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexWatch.py
James Henderson 1364750dad [RFC][debuginfo-test] Rename debug-info lit tests for general purposes
Discussion thread:
https://lists.llvm.org/pipermail/llvm-dev/2021-January/148048.html

Move debuginfo-test into a subdirectory of a new top-level directory,
called cross-project-tests. The new name replaces "debuginfo-test" as an
LLVM project enabled via LLVM_ENABLE_PROJECTS.

Differential Revision: https://reviews.llvm.org/D95339

Reviewed by: aprantl
2021-06-28 11:31:40 +01:00

40 lines
1.1 KiB
Python

# 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}