1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: GPL-3.0-or-later
4
5#ifndef BREAKPOINT_H
6#define BREAKPOINT_H
7
8#include <dap/protocol.h>
9#include <QString>
10
11namespace Internal
12{
13
14enum BreakpointType
15{
16 UnknownBreakpointType,
17 BreakpointByFileAndLine,
18 BreakpointByFunction,
19 BreakpointByAddress,
20 BreakpointAtThrow,
21 BreakpointAtCatch,
22 BreakpointAtExec,
23 LastBreakpointType
24};
25
26class Breakpoint
27{
28public:
29 Breakpoint();
30
31 void update(dap::Breakpoint &bp);
32
33 bool operator==(const Breakpoint& o) const
34 {
35 if (filePath == o.filePath
36 && lineNumber == o.lineNumber)
37 return true;
38 return false;
39 }
40
41 bool enabled = true;
42 QString fileName;
43 QString filePath;
44 int lineNumber = 0;
45 int threadSpec = 0;
46 QString functionName;
47 QString module;
48 BreakpointType type = BreakpointByFileAndLine;
49 QString address;
50};
51
52using Breakpoints = QVector<Breakpoint>;
53}
54
55#endif // BREAKPOINT_H
56