1 //===-- MICmnMIValueConst.cpp -----------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 #include "MICmnMIValueConst.h"
13 const CMIUtilString CMICmnMIValueConst::ms_constStrDblQuote("\"");
16 // Details: CMICmnMIValueConst constructor.
18 // Args: vString - (R) MI Const c-string value.
22 CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString)
23 : m_strPartConst(vString), m_bNoQuotes(false) {
28 // Details: CMICmnMIValueConst constructor.
30 // Args: vString - (R) MI Const c-string value.
31 // vbNoQuotes - (R) True = return string not surrounded with quotes,
32 // false = use quotes.
36 CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString,
37 const bool vbNoQuotes)
38 : m_strPartConst(vString), m_bNoQuotes(vbNoQuotes) {
43 // Details: CMICmnMIValueConst destructor.
44 // Type: Overrideable.
49 CMICmnMIValueConst::~CMICmnMIValueConst() {}
52 // Details: Build the Value Const data.
55 // Return: MIstatus::success - Functional succeeded.
56 // MIstatus::failure - Functional failed.
59 bool CMICmnMIValueConst::BuildConst() {
60 if (m_strPartConst.length() != 0) {
61 const CMIUtilString strValue(m_strPartConst.StripCREndOfLine());
63 m_strValue = strValue;
65 const char *pFormat = "%s%s%s";
67 CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
68 strValue.c_str(), ms_constStrDblQuote.c_str());
71 const char *pFormat = "%s%s";
72 m_strValue = CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
73 ms_constStrDblQuote.c_str());
76 return MIstatus::success;