xref: /openbsd-src/gnu/llvm/lldb/tools/lldb-vscode/SourceBreakpoint.cpp (revision 46035553bfdd96e63c94e32da0210227ec2e3cf1)
1 //===-- SourceBreakpoint.cpp ------------------------------------*- 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 #include "SourceBreakpoint.h"
10 #include "VSCode.h"
11 
12 namespace lldb_vscode {
13 
14 SourceBreakpoint::SourceBreakpoint(const llvm::json::Object &obj)
15     : BreakpointBase(obj), line(GetUnsigned(obj, "line", 0)),
16       column(GetUnsigned(obj, "column", 0)) {}
17 
18 void SourceBreakpoint::SetBreakpoint(const llvm::StringRef source_path) {
19   bp = g_vsc.target.BreakpointCreateByLocation(source_path.str().c_str(), line);
20   if (!condition.empty())
21     SetCondition();
22   if (!hitCondition.empty())
23     SetHitCondition();
24 }
25 
26 } // namespace lldb_vscode
27