xref: /llvm-project/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h (revision 5f4980f004f052367b947ff3aa6cc142cea1c23f)
12c1f46dcSZachary Turner //===-- ScriptInterpreterNone.h ---------------------------------*- C++ -*-===//
22c1f46dcSZachary Turner //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
62c1f46dcSZachary Turner //
72c1f46dcSZachary Turner //===----------------------------------------------------------------------===//
82c1f46dcSZachary Turner 
9cdc514e4SJonas Devlieghere #ifndef LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_NONE_SCRIPTINTERPRETERNONE_H
10cdc514e4SJonas Devlieghere #define LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_NONE_SCRIPTINTERPRETERNONE_H
112c1f46dcSZachary Turner 
122c1f46dcSZachary Turner #include "lldb/Interpreter/ScriptInterpreter.h"
132c1f46dcSZachary Turner 
14b9c1b51eSKate Stone namespace lldb_private {
152c1f46dcSZachary Turner 
16b9c1b51eSKate Stone class ScriptInterpreterNone : public ScriptInterpreter {
172c1f46dcSZachary Turner public:
188d1fb843SJonas Devlieghere   ScriptInterpreterNone(Debugger &debugger);
192c1f46dcSZachary Turner 
200af149a8SEugene Zelenko   ~ScriptInterpreterNone() override;
212c1f46dcSZachary Turner 
22b9c1b51eSKate Stone   bool ExecuteOneLine(
234d51a902SRaphael Isemann       llvm::StringRef command, CommandReturnObject *result,
240af149a8SEugene Zelenko       const ExecuteScriptOptions &options = ExecuteScriptOptions()) override;
252c1f46dcSZachary Turner 
26b9c1b51eSKate Stone   void ExecuteInterpreterLoop() override;
272c1f46dcSZachary Turner 
282c1f46dcSZachary Turner   // Static Functions
29b9c1b51eSKate Stone   static void Initialize();
302c1f46dcSZachary Turner 
31b9c1b51eSKate Stone   static void Terminate();
322c1f46dcSZachary Turner 
338d1fb843SJonas Devlieghere   static lldb::ScriptInterpreterSP CreateInstance(Debugger &debugger);
342c1f46dcSZachary Turner 
GetPluginNameStatic()35*5f4980f0SPavel Labath   static llvm::StringRef GetPluginNameStatic() { return "script-none"; }
362c1f46dcSZachary Turner 
37*5f4980f0SPavel Labath   static llvm::StringRef GetPluginDescriptionStatic();
382c1f46dcSZachary Turner 
392c1f46dcSZachary Turner   // PluginInterface protocol
GetPluginName()40*5f4980f0SPavel Labath   llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
412c1f46dcSZachary Turner };
422c1f46dcSZachary Turner 
432c1f46dcSZachary Turner } // namespace lldb_private
442c1f46dcSZachary Turner 
45cdc514e4SJonas Devlieghere #endif // LLDB_SOURCE_PLUGINS_SCRIPTINTERPRETER_NONE_SCRIPTINTERPRETERNONE_H
46