1 //===-- MICmnMIValueConst.cpp -----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 #include "MICmnMIValueConst.h"
14 const CMIUtilString CMICmnMIValueConst::ms_constStrDblQuote("\"");
17 //------------------------------------------------------------------------------------
18 // Details: CMICmnMIValueConst constructor.
20 // Args: vString - (R) MI Const c-string value.
24 CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString)
25 : m_strPartConst(vString), m_bNoQuotes(false) {
30 //------------------------------------------------------------------------------------
31 // Details: CMICmnMIValueConst constructor.
33 // Args: vString - (R) MI Const c-string value.
34 // vbNoQuotes - (R) True = return string not surrounded with quotes,
35 // false = use quotes.
39 CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString,
40 const bool vbNoQuotes)
41 : m_strPartConst(vString), m_bNoQuotes(vbNoQuotes) {
46 //------------------------------------------------------------------------------------
47 // Details: CMICmnMIValueConst destructor.
48 // Type: Overrideable.
53 CMICmnMIValueConst::~CMICmnMIValueConst() {}
56 //------------------------------------------------------------------------------------
57 // Details: Build the Value Const data.
60 // Return: MIstatus::success - Functional succeeded.
61 // MIstatus::failure - Functional failed.
64 bool CMICmnMIValueConst::BuildConst() {
65 if (m_strPartConst.length() != 0) {
66 const CMIUtilString strValue(m_strPartConst.StripCREndOfLine());
68 m_strValue = strValue;
70 const char *pFormat = "%s%s%s";
72 CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
73 strValue.c_str(), ms_constStrDblQuote.c_str());
76 const char *pFormat = "%s%s";
77 m_strValue = CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
78 ms_constStrDblQuote.c_str());
81 return MIstatus::success;