[memprof] Move YAML traits to MemProf.h (NFC) (#118668)
[llvm-project.git] / lldb / source / Plugins / DynamicLoader / wasm-DYLD / DynamicLoaderWasmDYLD.h
blob5ed855395cca7045bbaea707e36d26e0601e0df8
1 //===-- DynamicLoaderWasmDYLD.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 //===----------------------------------------------------------------------===//
9 #ifndef liblldb_Plugins_DynamicLoaderWasmDYLD_h_
10 #define liblldb_Plugins_DynamicLoaderWasmDYLD_h_
12 #include "lldb/Target/DynamicLoader.h"
14 namespace lldb_private {
15 namespace wasm {
17 class DynamicLoaderWasmDYLD : public DynamicLoader {
18 public:
19 DynamicLoaderWasmDYLD(Process *process);
21 static void Initialize();
22 static void Terminate() {}
24 static llvm::StringRef GetPluginNameStatic() { return "wasm-dyld"; }
25 static llvm::StringRef GetPluginDescriptionStatic();
27 static DynamicLoader *CreateInstance(Process *process, bool force);
29 /// DynamicLoader
30 /// \{
31 void DidAttach() override;
32 void DidLaunch() override {}
33 Status CanLoadImage() override { return Status(); }
34 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread,
35 bool stop) override;
36 lldb::ModuleSP LoadModuleAtAddress(const lldb_private::FileSpec &file,
37 lldb::addr_t link_map_addr,
38 lldb::addr_t base_addr,
39 bool base_addr_is_offset) override;
41 /// \}
43 /// PluginInterface protocol.
44 /// \{
45 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
46 /// \}
49 } // namespace wasm
50 } // namespace lldb_private
52 #endif // liblldb_Plugins_DynamicLoaderWasmDYLD_h_