19ed5b49cSJohnny Chen //===-- ProcessMessage.cpp --------------------------------------*- C++ -*-===//
29ed5b49cSJohnny Chen //
39ed5b49cSJohnny Chen //                     The LLVM Compiler Infrastructure
49ed5b49cSJohnny Chen //
59ed5b49cSJohnny Chen // This file is distributed under the University of Illinois Open Source
69ed5b49cSJohnny Chen // License. See LICENSE.TXT for details.
79ed5b49cSJohnny Chen //
89ed5b49cSJohnny Chen //===----------------------------------------------------------------------===//
99ed5b49cSJohnny Chen 
109ed5b49cSJohnny Chen #include "ProcessMessage.h"
119ed5b49cSJohnny Chen 
129ed5b49cSJohnny Chen using namespace lldb_private;
139ed5b49cSJohnny Chen 
149ed5b49cSJohnny Chen const char *
159ed5b49cSJohnny Chen ProcessMessage::PrintCrashReason() const
169ed5b49cSJohnny Chen {
17*28e57429SChaoren Lin     return CrashReasonAsString(m_crash_reason);
189ed5b49cSJohnny Chen }
199ed5b49cSJohnny Chen 
209ed5b49cSJohnny Chen const char *
219ed5b49cSJohnny Chen ProcessMessage::PrintKind(Kind kind)
229ed5b49cSJohnny Chen {
239ed5b49cSJohnny Chen #ifdef LLDB_CONFIGURATION_BUILDANDINTEGRATION
24*28e57429SChaoren Lin     // Just return the code in ascii for integration builds.
259ed5b49cSJohnny Chen     chcar str[8];
269ed5b49cSJohnny Chen     sprintf(str, "%d", reason);
279ed5b49cSJohnny Chen #else
289ed5b49cSJohnny Chen     const char *str = NULL;
299ed5b49cSJohnny Chen 
309ed5b49cSJohnny Chen     switch (kind)
319ed5b49cSJohnny Chen     {
329ed5b49cSJohnny Chen     case eInvalidMessage:
339ed5b49cSJohnny Chen         str = "eInvalidMessage";
349ed5b49cSJohnny Chen         break;
35e544143fSEd Maste     case eAttachMessage:
36e544143fSEd Maste         str = "eAttachMessage";
37e544143fSEd Maste         break;
389ed5b49cSJohnny Chen     case eExitMessage:
399ed5b49cSJohnny Chen         str = "eExitMessage";
409ed5b49cSJohnny Chen         break;
419ed5b49cSJohnny Chen     case eLimboMessage:
429ed5b49cSJohnny Chen         str = "eLimboMessage";
439ed5b49cSJohnny Chen         break;
449ed5b49cSJohnny Chen     case eSignalMessage:
459ed5b49cSJohnny Chen         str = "eSignalMessage";
469ed5b49cSJohnny Chen         break;
479ed5b49cSJohnny Chen     case eSignalDeliveredMessage:
489ed5b49cSJohnny Chen         str = "eSignalDeliveredMessage";
499ed5b49cSJohnny Chen         break;
509ed5b49cSJohnny Chen     case eTraceMessage:
519ed5b49cSJohnny Chen         str = "eTraceMessage";
529ed5b49cSJohnny Chen         break;
539ed5b49cSJohnny Chen     case eBreakpointMessage:
549ed5b49cSJohnny Chen         str = "eBreakpointMessage";
559ed5b49cSJohnny Chen         break;
56e9ea0da8SMatt Kopec     case eWatchpointMessage:
57e9ea0da8SMatt Kopec         str = "eWatchpointMessage";
58e9ea0da8SMatt Kopec         break;
599ed5b49cSJohnny Chen     case eCrashMessage:
609ed5b49cSJohnny Chen         str = "eCrashMessage";
619ed5b49cSJohnny Chen         break;
62650648faSMatt Kopec     case eNewThreadMessage:
63650648faSMatt Kopec         str = "eNewThreadMessage";
64650648faSMatt Kopec         break;
65c5e53bd1SJoerg Sonnenberger     case eExecMessage:
66c5e53bd1SJoerg Sonnenberger         str = "eExecMessage";
67c5e53bd1SJoerg Sonnenberger         break;
689ed5b49cSJohnny Chen     }
699ed5b49cSJohnny Chen #endif
709ed5b49cSJohnny Chen 
719ed5b49cSJohnny Chen     return str;
729ed5b49cSJohnny Chen }
739ed5b49cSJohnny Chen 
749ed5b49cSJohnny Chen const char *
759ed5b49cSJohnny Chen ProcessMessage::PrintKind() const
769ed5b49cSJohnny Chen {
779ed5b49cSJohnny Chen     return PrintKind(m_kind);
789ed5b49cSJohnny Chen }
79