1 //===-- ForwardDecl.h -------------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef liblldb_Plugins_Process_Windows_ForwardDecl_H_ 10 #define liblldb_Plugins_Process_Windows_ForwardDecl_H_ 11 12 #include <memory> 13 14 // ExceptionResult is returned by the debug delegate to specify how it processed 15 // the exception. 16 enum class ExceptionResult { 17 BreakInDebugger, // Break in the debugger and give the user a chance to 18 // interact with 19 // the program before continuing. 20 MaskException, // Eat the exception and don't let the application know it 21 // occurred. 22 SendToApplication // Send the exception to the application to be handled as if 23 // there were 24 // no debugger attached. 25 }; 26 27 namespace lldb_private { 28 29 class ProcessWindows; 30 31 class IDebugDelegate; 32 class DebuggerThread; 33 class ExceptionRecord; 34 35 typedef std::shared_ptr<IDebugDelegate> DebugDelegateSP; 36 typedef std::shared_ptr<DebuggerThread> DebuggerThreadSP; 37 typedef std::shared_ptr<ExceptionRecord> ExceptionRecordSP; 38 typedef std::unique_ptr<ExceptionRecord> ExceptionRecordUP; 39 } 40 41 #endif 42