1 //===-- InstrumentationRuntimeStopInfo.h ------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef liblldb_InstrumentationRuntimeStopInfo_h_
10 #define liblldb_InstrumentationRuntimeStopInfo_h_
14 #include "lldb/Target/StopInfo.h"
15 #include "lldb/Utility/StructuredData.h"
17 namespace lldb_private {
19 class InstrumentationRuntimeStopInfo : public StopInfo {
21 ~InstrumentationRuntimeStopInfo() override {}
23 lldb::StopReason GetStopReason() const override {
24 return lldb::eStopReasonInstrumentation;
27 const char *GetDescription() override;
29 bool DoShouldNotify(Event *event_ptr) override { return true; }
31 static lldb::StopInfoSP CreateStopReasonWithInstrumentationData(
32 Thread &thread, std::string description,
33 StructuredData::ObjectSP additional_data);
36 InstrumentationRuntimeStopInfo(Thread &thread, std::string description,
37 StructuredData::ObjectSP additional_data);
40 } // namespace lldb_private
42 #endif // liblldb_InstrumentationRuntimeStopInfo_h_