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 
14*b9c1b51eSKate Stone const char *ProcessMessage::PrintCrashReason() const {
1528e57429SChaoren Lin   return CrashReasonAsString(m_crash_reason);
169ed5b49cSJohnny Chen }
179ed5b49cSJohnny Chen 
18*b9c1b51eSKate Stone const char *ProcessMessage::PrintKind(Kind kind) {
199ed5b49cSJohnny Chen #ifdef LLDB_CONFIGURATION_BUILDANDINTEGRATION
2028e57429SChaoren Lin   // Just return the code in ascii for integration builds.
219ed5b49cSJohnny Chen   chcar str[8];
229ed5b49cSJohnny Chen   sprintf(str, "%d", reason);
239ed5b49cSJohnny Chen #else
249ed5b49cSJohnny Chen   const char *str = NULL;
259ed5b49cSJohnny Chen 
26*b9c1b51eSKate Stone   switch (kind) {
279ed5b49cSJohnny Chen   case eInvalidMessage:
289ed5b49cSJohnny Chen     str = "eInvalidMessage";
299ed5b49cSJohnny Chen     break;
30e544143fSEd Maste   case eAttachMessage:
31e544143fSEd Maste     str = "eAttachMessage";
32e544143fSEd Maste     break;
339ed5b49cSJohnny Chen   case eExitMessage:
349ed5b49cSJohnny Chen     str = "eExitMessage";
359ed5b49cSJohnny Chen     break;
369ed5b49cSJohnny Chen   case eLimboMessage:
379ed5b49cSJohnny Chen     str = "eLimboMessage";
389ed5b49cSJohnny Chen     break;
399ed5b49cSJohnny Chen   case eSignalMessage:
409ed5b49cSJohnny Chen     str = "eSignalMessage";
419ed5b49cSJohnny Chen     break;
429ed5b49cSJohnny Chen   case eSignalDeliveredMessage:
439ed5b49cSJohnny Chen     str = "eSignalDeliveredMessage";
449ed5b49cSJohnny Chen     break;
459ed5b49cSJohnny Chen   case eTraceMessage:
469ed5b49cSJohnny Chen     str = "eTraceMessage";
479ed5b49cSJohnny Chen     break;
489ed5b49cSJohnny Chen   case eBreakpointMessage:
499ed5b49cSJohnny Chen     str = "eBreakpointMessage";
509ed5b49cSJohnny Chen     break;
51e9ea0da8SMatt Kopec   case eWatchpointMessage:
52e9ea0da8SMatt Kopec     str = "eWatchpointMessage";
53e9ea0da8SMatt Kopec     break;
549ed5b49cSJohnny Chen   case eCrashMessage:
559ed5b49cSJohnny Chen     str = "eCrashMessage";
569ed5b49cSJohnny Chen     break;
57650648faSMatt Kopec   case eNewThreadMessage:
58650648faSMatt Kopec     str = "eNewThreadMessage";
59650648faSMatt Kopec     break;
60c5e53bd1SJoerg Sonnenberger   case eExecMessage:
61c5e53bd1SJoerg Sonnenberger     str = "eExecMessage";
62c5e53bd1SJoerg Sonnenberger     break;
639ed5b49cSJohnny Chen   }
649ed5b49cSJohnny Chen #endif
659ed5b49cSJohnny Chen 
669ed5b49cSJohnny Chen   return str;
679ed5b49cSJohnny Chen }
689ed5b49cSJohnny Chen 
69*b9c1b51eSKate Stone const char *ProcessMessage::PrintKind() const { return PrintKind(m_kind); }
70