1*67de8962SJonas Devlieghere //===-- ScriptInterpreterLua.h ----------------------------------*- C++ -*-===// 2*67de8962SJonas Devlieghere // 3*67de8962SJonas Devlieghere // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*67de8962SJonas Devlieghere // See https://llvm.org/LICENSE.txt for license information. 5*67de8962SJonas Devlieghere // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*67de8962SJonas Devlieghere // 7*67de8962SJonas Devlieghere //===----------------------------------------------------------------------===// 8*67de8962SJonas Devlieghere 9*67de8962SJonas Devlieghere #ifndef liblldb_ScriptInterpreterLua_h_ 10*67de8962SJonas Devlieghere #define liblldb_ScriptInterpreterLua_h_ 11*67de8962SJonas Devlieghere 12*67de8962SJonas Devlieghere #include "lldb/Interpreter/ScriptInterpreter.h" 13*67de8962SJonas Devlieghere 14*67de8962SJonas Devlieghere namespace lldb_private { 15*67de8962SJonas Devlieghere 16*67de8962SJonas Devlieghere class ScriptInterpreterLua : public ScriptInterpreter { 17*67de8962SJonas Devlieghere public: 18*67de8962SJonas Devlieghere ScriptInterpreterLua(Debugger &debugger); 19*67de8962SJonas Devlieghere 20*67de8962SJonas Devlieghere ~ScriptInterpreterLua() override; 21*67de8962SJonas Devlieghere 22*67de8962SJonas Devlieghere bool ExecuteOneLine( 23*67de8962SJonas Devlieghere llvm::StringRef command, CommandReturnObject *result, 24*67de8962SJonas Devlieghere const ExecuteScriptOptions &options = ExecuteScriptOptions()) override; 25*67de8962SJonas Devlieghere 26*67de8962SJonas Devlieghere void ExecuteInterpreterLoop() override; 27*67de8962SJonas Devlieghere 28*67de8962SJonas Devlieghere // Static Functions 29*67de8962SJonas Devlieghere static void Initialize(); 30*67de8962SJonas Devlieghere 31*67de8962SJonas Devlieghere static void Terminate(); 32*67de8962SJonas Devlieghere 33*67de8962SJonas Devlieghere static lldb::ScriptInterpreterSP CreateInstance(Debugger &debugger); 34*67de8962SJonas Devlieghere 35*67de8962SJonas Devlieghere static lldb_private::ConstString GetPluginNameStatic(); 36*67de8962SJonas Devlieghere 37*67de8962SJonas Devlieghere static const char *GetPluginDescriptionStatic(); 38*67de8962SJonas Devlieghere 39*67de8962SJonas Devlieghere // PluginInterface protocol 40*67de8962SJonas Devlieghere lldb_private::ConstString GetPluginName() override; 41*67de8962SJonas Devlieghere 42*67de8962SJonas Devlieghere uint32_t GetPluginVersion() override; 43*67de8962SJonas Devlieghere }; 44*67de8962SJonas Devlieghere 45*67de8962SJonas Devlieghere } // namespace lldb_private 46*67de8962SJonas Devlieghere 47*67de8962SJonas Devlieghere #endif // liblldb_ScriptInterpreterLua_h_ 48