1//===-- StopPointSiteList.cpp ---------------------------------------------===//
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 "lldb/Breakpoint/StopPointSiteList.h"
10#include "lldb/Breakpoint/BreakpointSite.h"
11#include "lldb/Breakpoint/WatchpointResource.h"
12
13#include "lldb/Utility/Stream.h"
14#include <algorithm>
15
16using namespace lldb;
17using namespace lldb_private;
18
19// This method is only defined when we're specializing for
20// BreakpointSite / BreakpointLocation / Breakpoint.
21// Watchpoints don't have a similar structure, they are
22// WatchpointResource / Watchpoint
23
24template <>
25bool StopPointSiteList<BreakpointSite>::StopPointSiteContainsBreakpoint(
26 typename BreakpointSite::SiteID site_id, lldb::break_id_t bp_id) {
27 std::lock_guard<std::recursive_mutex> guard(m_mutex);
28 typename collection::const_iterator pos = GetIDConstIterator(site_id);
29 if (pos != m_site_list.end())
30 return pos->second->IsBreakpointAtThisSite(bp_id);
31
32 return false;
33}
34
35namespace lldb_private {
36template class StopPointSiteList<BreakpointSite>;
37} // namespace lldb_private
38

source code of lldb/source/Breakpoint/StopPointSiteList.cpp