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