
*** to conform to clang-format’s LLVM style. This kind of mass change has *** two obvious implications: Firstly, merging this particular commit into a downstream fork may be a huge effort. Alternatively, it may be worth merging all changes up to this commit, performing the same reformatting operation locally, and then discarding the merge for this particular commit. The commands used to accomplish this reformatting were as follows (with current working directory as the root of the repository): find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" -or -iname "*.mm" \) -exec clang-format -i {} + find . -iname "*.py" -exec autopep8 --in-place --aggressive --aggressive {} + ; The version of clang-format used was 3.9.0, and autopep8 was 1.2.4. Secondly, “blame” style tools will generally point to this commit instead of a meaningful prior commit. There are alternatives available that will attempt to look through this change and find the appropriate prior commit. YMMV. llvm-svn: 280751
142 lines
4.9 KiB
C++
142 lines
4.9 KiB
C++
//===-- MICmnMIResultRecord.cpp ---------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// Third Party Headers:
|
|
#include <assert.h>
|
|
|
|
// In-house headers:
|
|
#include "MICmnMIResultRecord.h"
|
|
#include "MICmnResources.h"
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: Map a result class to the corresponding string.
|
|
// Args: veType - (R) A MI result class enumeration.
|
|
// Return: const char* - The string corresponding to the result class.
|
|
// Throws: None.
|
|
//--
|
|
static const char *
|
|
MapResultClassToResultClassText(CMICmnMIResultRecord::ResultClass_e veType) {
|
|
switch (veType) {
|
|
case CMICmnMIResultRecord::eResultClass_Done:
|
|
return "done";
|
|
case CMICmnMIResultRecord::eResultClass_Running:
|
|
return "running";
|
|
case CMICmnMIResultRecord::eResultClass_Connected:
|
|
return "connected";
|
|
case CMICmnMIResultRecord::eResultClass_Error:
|
|
return "error";
|
|
case CMICmnMIResultRecord::eResultClass_Exit:
|
|
return "exit";
|
|
}
|
|
assert(false && "unknown CMICmnMIResultRecord::ResultClass_e");
|
|
return NULL;
|
|
}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: Build the result record's mandatory data part. The part up to the
|
|
// first
|
|
// (additional) result i.e. result-record ==> [ token ] "^"
|
|
// result-class.
|
|
// Args: vrToken - (R) The command's transaction ID or token.
|
|
// veType - (R) A MI result class enumeration.
|
|
// Return: CMIUtilString & - MI result record mandatory data
|
|
// Throws: None.
|
|
//--
|
|
static const CMIUtilString
|
|
BuildResultRecord(const CMIUtilString &vrToken,
|
|
CMICmnMIResultRecord::ResultClass_e veType) {
|
|
const char *pStrResultRecord = MapResultClassToResultClassText(veType);
|
|
return CMIUtilString::Format("%s^%s", vrToken.c_str(), pStrResultRecord);
|
|
}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: CMICmnMIResultRecord constructor.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMICmnMIResultRecord::CMICmnMIResultRecord()
|
|
: m_strResultRecord(MIRSRC(IDS_CMD_ERR_CMD_RUN_BUT_NO_ACTION)) {}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: CMICmnMIResultRecord constructor.
|
|
// Type: Method.
|
|
// Args: vrToken - (R) The command's transaction ID or token.
|
|
// veType - (R) A MI result class enumeration.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMICmnMIResultRecord::CMICmnMIResultRecord(const CMIUtilString &vrToken,
|
|
ResultClass_e veType)
|
|
: m_strResultRecord(BuildResultRecord(vrToken, veType)) {}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: CMICmnMIResultRecord constructor.
|
|
// Type: Method.
|
|
// Args: vrToken - (R) The command's transaction ID or token.
|
|
// veType - (R) A MI result class enumeration.
|
|
// vMIResult - (R) A MI result object.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMICmnMIResultRecord::CMICmnMIResultRecord(const CMIUtilString &vrToken,
|
|
ResultClass_e veType,
|
|
const CMICmnMIValueResult &vValue)
|
|
: m_strResultRecord(BuildResultRecord(vrToken, veType)) {
|
|
Add(vValue);
|
|
}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: CMICmnMIResultRecord destructor.
|
|
// Type: Overrideable.
|
|
// Args: None.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMICmnMIResultRecord::~CMICmnMIResultRecord() {}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: Return the MI result record as a string. The string is a direct
|
|
// result of
|
|
// work done on *this result record so if not enough data is added then
|
|
// it is
|
|
// possible to return a malformed result record. If nothing has been
|
|
// set or
|
|
// added to *this MI result record object then text "<Invalid>" will be
|
|
// returned.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: CMIUtilString & - MI output text.
|
|
// Throws: None.
|
|
//--
|
|
const CMIUtilString &CMICmnMIResultRecord::GetString() const {
|
|
return m_strResultRecord;
|
|
}
|
|
|
|
//++
|
|
//------------------------------------------------------------------------------------
|
|
// Details: Add to *this result record additional information.
|
|
// Type: Method.
|
|
// Args: vMIValue - (R) A MI value derived object.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
void CMICmnMIResultRecord::Add(const CMICmnMIValue &vMIValue) {
|
|
m_strResultRecord += ",";
|
|
m_strResultRecord += vMIValue.GetString();
|
|
}
|