1//===-- InstrumentationRuntimeStopInfo.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_TARGET_INSTRUMENTATIONRUNTIMESTOPINFO_H
10#define LLDB_TARGET_INSTRUMENTATIONRUNTIMESTOPINFO_H
11
12#include <string>
13
14#include "lldb/Target/StopInfo.h"
15#include "lldb/Utility/StructuredData.h"
16
17namespace lldb_private {
18
19class InstrumentationRuntimeStopInfo : public StopInfo {
20public:
21 ~InstrumentationRuntimeStopInfo() override = default;
22
23 lldb::StopReason GetStopReason() const override {
24 return lldb::eStopReasonInstrumentation;
25 }
26
27 const char *GetDescription() override;
28
29 bool DoShouldNotify(Event *event_ptr) override { return true; }
30
31 static lldb::StopInfoSP CreateStopReasonWithInstrumentationData(
32 Thread &thread, std::string description,
33 StructuredData::ObjectSP additional_data);
34
35private:
36 InstrumentationRuntimeStopInfo(Thread &thread, std::string description,
37 StructuredData::ObjectSP additional_data);
38};
39
40} // namespace lldb_private
41
42#endif // LLDB_TARGET_INSTRUMENTATIONRUNTIMESTOPINFO_H
43

source code of lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h