xref: /freebsd-src/contrib/llvm-project/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.h (revision 349cc55c9796c4596a5b9904cd3281af295f878f)
15ffd83dbSDimitry Andric //===-- SymbolVendorWasm.h --------------------------------------*- C++ -*-===//
25ffd83dbSDimitry Andric //
35ffd83dbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
45ffd83dbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
55ffd83dbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
65ffd83dbSDimitry Andric //
75ffd83dbSDimitry Andric //===----------------------------------------------------------------------===//
85ffd83dbSDimitry Andric 
95ffd83dbSDimitry Andric #ifndef LLDB_SOURCE_PLUGINS_SYMBOLVENDOR_WASM_SYMBOLVENDORWASM_H
105ffd83dbSDimitry Andric #define LLDB_SOURCE_PLUGINS_SYMBOLVENDOR_WASM_SYMBOLVENDORWASM_H
115ffd83dbSDimitry Andric 
125ffd83dbSDimitry Andric #include "lldb/Symbol/SymbolVendor.h"
135ffd83dbSDimitry Andric #include "lldb/lldb-private.h"
145ffd83dbSDimitry Andric 
155ffd83dbSDimitry Andric namespace lldb_private {
165ffd83dbSDimitry Andric namespace wasm {
175ffd83dbSDimitry Andric 
185ffd83dbSDimitry Andric class SymbolVendorWasm : public lldb_private::SymbolVendor {
195ffd83dbSDimitry Andric public:
205ffd83dbSDimitry Andric   SymbolVendorWasm(const lldb::ModuleSP &module_sp);
215ffd83dbSDimitry Andric 
225ffd83dbSDimitry Andric   static void Initialize();
235ffd83dbSDimitry Andric   static void Terminate();
GetPluginNameStatic()24*349cc55cSDimitry Andric   static llvm::StringRef GetPluginNameStatic() { return "WASM"; }
25*349cc55cSDimitry Andric   static llvm::StringRef GetPluginDescriptionStatic();
265ffd83dbSDimitry Andric 
275ffd83dbSDimitry Andric   static lldb_private::SymbolVendor *
285ffd83dbSDimitry Andric   CreateInstance(const lldb::ModuleSP &module_sp,
295ffd83dbSDimitry Andric                  lldb_private::Stream *feedback_strm);
305ffd83dbSDimitry Andric 
315ffd83dbSDimitry Andric   /// PluginInterface protocol.
325ffd83dbSDimitry Andric   /// \{
GetPluginName()33*349cc55cSDimitry Andric   llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
345ffd83dbSDimitry Andric   /// \}
355ffd83dbSDimitry Andric };
365ffd83dbSDimitry Andric 
375ffd83dbSDimitry Andric } // namespace wasm
385ffd83dbSDimitry Andric } // namespace lldb_private
395ffd83dbSDimitry Andric 
405ffd83dbSDimitry Andric #endif // LLDB_SOURCE_PLUGINS_SYMBOLVENDOR_WASM_SYMBOLVENDORWASM_H
41