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