forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
//===-- MICmnMIValueConst.cpp -----------------------------------*- C++ -*-===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
// In-house headers:
 | 
						|
#include "MICmnMIValueConst.h"
 | 
						|
 | 
						|
// Instantiations:
 | 
						|
const CMIUtilString CMICmnMIValueConst::ms_constStrDblQuote("\"");
 | 
						|
 | 
						|
//++
 | 
						|
//------------------------------------------------------------------------------------
 | 
						|
// Details: CMICmnMIValueConst constructor.
 | 
						|
// Type:    Method.
 | 
						|
// Args:    vString - (R) MI Const c-string value.
 | 
						|
// Return:  None.
 | 
						|
// Throws:  None.
 | 
						|
//--
 | 
						|
CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString)
 | 
						|
    : m_strPartConst(vString), m_bNoQuotes(false) {
 | 
						|
  BuildConst();
 | 
						|
}
 | 
						|
 | 
						|
//++
 | 
						|
//------------------------------------------------------------------------------------
 | 
						|
// Details: CMICmnMIValueConst constructor.
 | 
						|
// Type:    Method.
 | 
						|
// Args:    vString     - (R) MI Const c-string value.
 | 
						|
//          vbNoQuotes  - (R) True = return string not surrounded with quotes,
 | 
						|
//          false = use quotes.
 | 
						|
// Return:  None.
 | 
						|
// Throws:  None.
 | 
						|
//--
 | 
						|
CMICmnMIValueConst::CMICmnMIValueConst(const CMIUtilString &vString,
 | 
						|
                                       const bool vbNoQuotes)
 | 
						|
    : m_strPartConst(vString), m_bNoQuotes(vbNoQuotes) {
 | 
						|
  BuildConst();
 | 
						|
}
 | 
						|
 | 
						|
//++
 | 
						|
//------------------------------------------------------------------------------------
 | 
						|
// Details: CMICmnMIValueConst destructor.
 | 
						|
// Type:    Overrideable.
 | 
						|
// Args:    None.
 | 
						|
// Return:  None.
 | 
						|
// Throws:  None.
 | 
						|
//--
 | 
						|
CMICmnMIValueConst::~CMICmnMIValueConst() {}
 | 
						|
 | 
						|
//++
 | 
						|
//------------------------------------------------------------------------------------
 | 
						|
// Details: Build the Value Const data.
 | 
						|
// Type:    Method.
 | 
						|
// Args:    None.
 | 
						|
// Return:  MIstatus::success - Functional succeeded.
 | 
						|
//          MIstatus::failure - Functional failed.
 | 
						|
// Throws:  None.
 | 
						|
//--
 | 
						|
bool CMICmnMIValueConst::BuildConst() {
 | 
						|
  if (m_strPartConst.length() != 0) {
 | 
						|
    const CMIUtilString strValue(m_strPartConst.StripCREndOfLine());
 | 
						|
    if (m_bNoQuotes) {
 | 
						|
      m_strValue = strValue;
 | 
						|
    } else {
 | 
						|
      const char *pFormat = "%s%s%s";
 | 
						|
      m_strValue =
 | 
						|
          CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
 | 
						|
                                strValue.c_str(), ms_constStrDblQuote.c_str());
 | 
						|
    }
 | 
						|
  } else {
 | 
						|
    const char *pFormat = "%s%s";
 | 
						|
    m_strValue = CMIUtilString::Format(pFormat, ms_constStrDblQuote.c_str(),
 | 
						|
                                       ms_constStrDblQuote.c_str());
 | 
						|
  }
 | 
						|
 | 
						|
  return MIstatus::success;
 | 
						|
}
 |