1//===-- ExceptionBreakpoint.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_TOOLS_LLDB_VSCODE_EXCEPTIONBREAKPOINT_H
10#define LLDB_TOOLS_LLDB_VSCODE_EXCEPTIONBREAKPOINT_H
11
12#include <string>
13
14#include "lldb/API/SBBreakpoint.h"
15
16namespace lldb_vscode {
17
18struct ExceptionBreakpoint {
19  std::string filter;
20  std::string label;
21  lldb::LanguageType language;
22  bool default_value;
23  lldb::SBBreakpoint bp;
24  ExceptionBreakpoint(std::string f, std::string l, lldb::LanguageType lang)
25      : filter(std::move(f)), label(std::move(l)), language(lang),
26        default_value(false), bp() {}
27
28  void SetBreakpoint();
29  void ClearBreakpoint();
30};
31
32} // namespace lldb_vscode
33
34#endif
35