本文整理汇总了C++中AnalysisResultPtr::getLiteralStringName方法的典型用法代码示例。如果您正苦于以下问题:C++ AnalysisResultPtr::getLiteralStringName方法的具体用法?C++ AnalysisResultPtr::getLiteralStringName怎么用?C++ AnalysisResultPtr::getLiteralStringName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnalysisResultPtr
的用法示例。
在下文中一共展示了AnalysisResultPtr::getLiteralStringName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: printString
void CodeGenerator::printString(const std::string &str, AnalysisResultPtr ar,
bool stringWrapper /* = true */,
bool check /* = true */) {
int index = -1;
int stringId = check ? checkLiteralString(str, index, ar) : -1;
bool isBinary = false;
string escaped = escapeLabel(str, &isBinary);
if (stringId >= 0) {
if (index == -1) {
printf("LITSTR(%d, \"%s\")", stringId, escaped.c_str());
} else {
assert(index >= 0);
string lisnam = ar->getLiteralStringName(stringId, index);
printf("NAMSTR(%s, \"%s\")", lisnam.c_str(), escaped.c_str());
}
} else if (isBinary) {
if (stringWrapper) {
printf("String(\"%s\", %d, AttachLiteral)",
escaped.c_str(), str.length());
} else {
printf("\"%s\", %d", escaped.c_str(), str.length());
}
} else {
printf("\"%s\"", escaped.c_str());
}
}
示例2: printNamedString
string CodeGenerator::printNamedString(const string &str,
const string &escaped, AnalysisResultPtr ar, BlockScopeRawPtr bs,
bool print) {
int index = -1;
bool scalarVariant = !print;
int stringId = checkLiteralString(str, index, ar, bs, scalarVariant);
always_assert(index >= 0);
string lisnam = ar->getLiteralStringName(stringId, index);
if (print) {
printf("NAMSTR(%s, \"%s\")", lisnam.c_str(), escaped.c_str());
}
return lisnam;
}