19ed5b49cSJohnny Chen //===-- ProcessMessage.cpp --------------------------------------*- C++ -*-===//
29ed5b49cSJohnny Chen //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
69ed5b49cSJohnny Chen //
79ed5b49cSJohnny Chen //===----------------------------------------------------------------------===//
89ed5b49cSJohnny Chen 
99ed5b49cSJohnny Chen #include "ProcessMessage.h"
109ed5b49cSJohnny Chen 
119ed5b49cSJohnny Chen using namespace lldb_private;
129ed5b49cSJohnny Chen 
13b9c1b51eSKate Stone const char *ProcessMessage::PrintCrashReason() const {
1428e57429SChaoren Lin   return CrashReasonAsString(m_crash_reason);
159ed5b49cSJohnny Chen }
169ed5b49cSJohnny Chen 
17b9c1b51eSKate Stone const char *ProcessMessage::PrintKind(Kind kind) {
189ed5b49cSJohnny Chen #ifdef LLDB_CONFIGURATION_BUILDANDINTEGRATION
1928e57429SChaoren Lin   // Just return the code in ascii for integration builds.
209ed5b49cSJohnny Chen   chcar str[8];
219ed5b49cSJohnny Chen   sprintf(str, "%d", reason);
229ed5b49cSJohnny Chen #else
239ed5b49cSJohnny Chen   const char *str = NULL;
249ed5b49cSJohnny Chen 
25b9c1b51eSKate Stone   switch (kind) {
269ed5b49cSJohnny Chen   case eInvalidMessage:
279ed5b49cSJohnny Chen     str = "eInvalidMessage";
289ed5b49cSJohnny Chen     break;
29e544143fSEd Maste   case eAttachMessage:
30e544143fSEd Maste     str = "eAttachMessage";
31e544143fSEd Maste     break;
329ed5b49cSJohnny Chen   case eExitMessage:
339ed5b49cSJohnny Chen     str = "eExitMessage";
349ed5b49cSJohnny Chen     break;
359ed5b49cSJohnny Chen   case eLimboMessage:
369ed5b49cSJohnny Chen     str = "eLimboMessage";
379ed5b49cSJohnny Chen     break;
389ed5b49cSJohnny Chen   case eSignalMessage:
399ed5b49cSJohnny Chen     str = "eSignalMessage";
409ed5b49cSJohnny Chen     break;
419ed5b49cSJohnny Chen   case eSignalDeliveredMessage:
429ed5b49cSJohnny Chen     str = "eSignalDeliveredMessage";
439ed5b49cSJohnny Chen     break;
449ed5b49cSJohnny Chen   case eTraceMessage:
459ed5b49cSJohnny Chen     str = "eTraceMessage";
469ed5b49cSJohnny Chen     break;
479ed5b49cSJohnny Chen   case eBreakpointMessage:
489ed5b49cSJohnny Chen     str = "eBreakpointMessage";
499ed5b49cSJohnny Chen     break;
50e9ea0da8SMatt Kopec   case eWatchpointMessage:
51e9ea0da8SMatt Kopec     str = "eWatchpointMessage";
52e9ea0da8SMatt Kopec     break;
539ed5b49cSJohnny Chen   case eCrashMessage:
549ed5b49cSJohnny Chen     str = "eCrashMessage";
559ed5b49cSJohnny Chen     break;
56650648faSMatt Kopec   case eNewThreadMessage:
57650648faSMatt Kopec     str = "eNewThreadMessage";
58650648faSMatt Kopec     break;
59c5e53bd1SJoerg Sonnenberger   case eExecMessage:
60c5e53bd1SJoerg Sonnenberger     str = "eExecMessage";
61c5e53bd1SJoerg Sonnenberger     break;
629ed5b49cSJohnny Chen   }
639ed5b49cSJohnny Chen #endif
649ed5b49cSJohnny Chen 
659ed5b49cSJohnny Chen   return str;
669ed5b49cSJohnny Chen }
679ed5b49cSJohnny Chen 
68b9c1b51eSKate Stone const char *ProcessMessage::PrintKind() const { return PrintKind(m_kind); }
69