xref: /freebsd/contrib/llvm-project/lldb/source/Plugins/ScriptInterpreter/Lua/SWIGLuaBridge.h (revision 06c3fb2749bda94cb5201f81ffdb8fa6c3161b2e)
10eae32dcSDimitry Andric //===-- SWIGLuaBridge.h -----------------------------------------*- C++ -*-===//
20eae32dcSDimitry Andric //
30eae32dcSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40eae32dcSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50eae32dcSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60eae32dcSDimitry Andric //
70eae32dcSDimitry Andric //===----------------------------------------------------------------------===//
80eae32dcSDimitry Andric 
90eae32dcSDimitry Andric #ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_LUA_SWIGLUABRIDGE_H
100eae32dcSDimitry Andric #define LLDB_PLUGINS_SCRIPTINTERPRETER_LUA_SWIGLUABRIDGE_H
110eae32dcSDimitry Andric 
120eae32dcSDimitry Andric #include "lldb/lldb-forward.h"
130eae32dcSDimitry Andric #include "lua.hpp"
140eae32dcSDimitry Andric #include "llvm/Support/Error.h"
150eae32dcSDimitry Andric 
160eae32dcSDimitry Andric namespace lldb_private {
170eae32dcSDimitry Andric 
18*06c3fb27SDimitry Andric namespace lua {
19*06c3fb27SDimitry Andric 
20*06c3fb27SDimitry Andric class SWIGBridge {
21*06c3fb27SDimitry Andric public:
22*06c3fb27SDimitry Andric   static llvm::Expected<bool> LLDBSwigLuaBreakpointCallbackFunction(
230eae32dcSDimitry Andric       lua_State *L, lldb::StackFrameSP stop_frame_sp,
240eae32dcSDimitry Andric       lldb::BreakpointLocationSP bp_loc_sp,
250eae32dcSDimitry Andric       const StructuredDataImpl &extra_args_impl);
260eae32dcSDimitry Andric 
27*06c3fb27SDimitry Andric   static llvm::Expected<bool> LLDBSwigLuaWatchpointCallbackFunction(
280eae32dcSDimitry Andric       lua_State *L, lldb::StackFrameSP stop_frame_sp, lldb::WatchpointSP wp_sp);
29*06c3fb27SDimitry Andric };
30*06c3fb27SDimitry Andric 
31*06c3fb27SDimitry Andric } // namespace lua
320eae32dcSDimitry Andric 
330eae32dcSDimitry Andric } // namespace lldb_private
340eae32dcSDimitry Andric 
350eae32dcSDimitry Andric #endif // LLDB_PLUGINS_SCRIPTINTERPRETER_LUA_SWIGLUABRIDGE_H
36