|  | //===-- ForwardDecl.h -------------------------------------------*- C++ -*-===// | 
|  | // | 
|  | //                     The LLVM Compiler Infrastructure | 
|  | // | 
|  | // This file is distributed under the University of Illinois Open Source | 
|  | // License. See LICENSE.TXT for details. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #ifndef liblldb_Plugins_Process_Windows_ForwardDecl_H_ | 
|  | #define liblldb_Plugins_Process_Windows_ForwardDecl_H_ | 
|  |  | 
|  | #include <memory> | 
|  |  | 
|  | // ExceptionResult is returned by the debug delegate to specify how it processed | 
|  | // the exception. | 
|  | enum class ExceptionResult { | 
|  | BreakInDebugger,  // Break in the debugger and give the user a chance to | 
|  | // interact with | 
|  | // the program before continuing. | 
|  | MaskException,    // Eat the exception and don't let the application know it | 
|  | // occurred. | 
|  | SendToApplication // Send the exception to the application to be handled as if | 
|  | // there were | 
|  | // no debugger attached. | 
|  | }; | 
|  |  | 
|  | namespace lldb_private { | 
|  |  | 
|  | class ProcessWindows; | 
|  |  | 
|  | class IDebugDelegate; | 
|  | class DebuggerThread; | 
|  | class ExceptionRecord; | 
|  |  | 
|  | typedef std::shared_ptr<IDebugDelegate> DebugDelegateSP; | 
|  | typedef std::shared_ptr<DebuggerThread> DebuggerThreadSP; | 
|  | typedef std::shared_ptr<ExceptionRecord> ExceptionRecordSP; | 
|  | typedef std::unique_ptr<ExceptionRecord> ExceptionRecordUP; | 
|  | } | 
|  |  | 
|  | #endif |