1//===-- OptionGroupWatchpoint.h ---------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_INTERPRETER_OPTIONGROUPWATCHPOINT_H
10#define LLDB_INTERPRETER_OPTIONGROUPWATCHPOINT_H
11
12#include "lldb/Interpreter/OptionValueUInt64.h"
13#include "lldb/Interpreter/Options.h"
14
15namespace lldb_private {
16
17// OptionGroupWatchpoint
18
19class OptionGroupWatchpoint : public OptionGroup {
20public:
21 OptionGroupWatchpoint() = default;
22
23 ~OptionGroupWatchpoint() override = default;
24
25 llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
26
27 Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
28 ExecutionContext *execution_context) override;
29
30 void OptionParsingStarting(ExecutionContext *execution_context) override;
31
32 /// eWatchRead == LLDB_WATCH_TYPE_READ
33 /// eWatchWrite == LLDB_WATCH_TYPE_WRITE
34 /// eWatchModify == LLDB_WATCH_TYPE_MODIFY
35 /// eWatchReadWrite == LLDB_WATCH_TYPE_READ | LLDB_WATCH_TYPE_WRITE
36 enum WatchType {
37 eWatchInvalid = 0,
38 eWatchRead,
39 eWatchWrite,
40 eWatchModify,
41 eWatchReadWrite
42 };
43
44 WatchType watch_type;
45 OptionValueUInt64 watch_size;
46 bool watch_type_specified;
47 lldb::LanguageType language_type;
48
49private:
50 OptionGroupWatchpoint(const OptionGroupWatchpoint &) = delete;
51 const OptionGroupWatchpoint &
52 operator=(const OptionGroupWatchpoint &) = delete;
53};
54
55} // namespace lldb_private
56
57#endif // LLDB_INTERPRETER_OPTIONGROUPWATCHPOINT_H
58

source code of lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h