Lines Matching refs:Text

484   std::string Text;
485 TextPiece(StringRef Text, StringRef Role = "")
486 : Piece(TextPieceClass), Role(Role), Text(Text.str()) {}
631 DiagText(DiagnosticTextBuilder &Builder, StringRef Text)
632 : Builder(Builder), Root(parseDiagText(Text, StopAt::End)) {}
643 Piece *parseDiagText(StringRef &Text, StopAt Stop);
729 CASE(Text);
872 StringRef T = P->Text;
994 void VisitText(TextPiece *P) { Result += P->Text; }
1059 int DiagnosticTextBuilder::DiagText::parseModifier(StringRef &Text) const {
1060 if (Text.empty() || !isdigit(Text[0]))
1065 Val += Text[0] - '0';
1066 Text = Text.drop_front();
1067 } while (!Text.empty() && isdigit(Text[0]));
1071 Piece *DiagnosticTextBuilder::DiagText::parseDiagText(StringRef &Text,
1078 while (!Text.empty()) {
1081 End = Text.find_first_of(StopSet, End + 2);
1083 End < Text.size() - 1 && Text[End] == '%' &&
1084 (Text[End + 1] == '%' || Text[End + 1] == '|' || Text[End + 1] == '$'));
1087 Parsed.push_back(New<TextPiece>(Text.slice(0, End), "diagtext"));
1088 Text = Text.slice(End, StringRef::npos);
1089 if (Text.empty())
1093 if (Text[0] == '|' || Text[0] == '}' || Text[0] == '$')
1097 Text = Text.drop_front();
1100 size_t ModLength = Text.find_first_of("0123456789<{");
1101 StringRef Modifier = Text.slice(0, ModLength);
1102 Text = Text.slice(ModLength, StringRef::npos);
1119 if (!Text.consume_front(Prefix))
1124 if (ModType != MT_EnumSelect && Text[0] == '<')
1134 Text = Text.drop_front(); // '{' or '|'
1136 parseDiagText(Text, StopAt::PipeOrCloseBrace));
1137 assert(!Text.empty() && "malformed %select");
1138 } while (Text.front() == '|');
1140 Select->Index = parseModifier(Text);
1146 if (Text[0] != '<')
1149 Text = Text.drop_front(); // Drop '<'
1150 size_t EnumNameLen = Text.find_first_of('>');
1151 EnumSelect->EnumName = Text.slice(0, EnumNameLen);
1152 Text = Text.slice(EnumNameLen, StringRef::npos);
1155 if (Text[0] != '{')
1159 Text = Text.drop_front(); // '{' or '|'
1162 if (Text[0] == '%') {
1164 Text = Text.drop_front(); // '%'
1165 size_t OptionNameLen = Text.find_first_of("{");
1166 EnumSelect->OptionEnumNames.push_back(Text.slice(0, OptionNameLen));
1167 Text = Text.slice(OptionNameLen, StringRef::npos);
1174 else if (Text.front() == '{') {
1175 Text = Text.drop_front();
1180 parseDiagText(Text, StopAt::PipeOrCloseBrace));
1185 assert(!Text.empty() && "malformed %select");
1186 } while (Text.front() == '|');
1189 EnumSelect->Index = parseModifier(Text);
1196 Text = Text.drop_front(); // '{' or '|'
1197 size_t End = Text.find_first_of(':');
1201 assert(!Text.empty());
1203 New<TextPiece>(Text.slice(0, End), "diagtext"));
1204 Text = Text.slice(End, StringRef::npos);
1206 parseDiagText(Text, StopAt::PipeOrCloseBrace));
1207 assert(!Text.empty() && "malformed %plural");
1208 } while (Text.front() == '|');
1210 Plural->Index = parseModifier(Text);
1217 size_t NameSize = Text.find_first_of('}');
1220 Sub->Name = Text.substr(0, NameSize).str();
1221 Text = Text.drop_front(NameSize);
1223 if (!Text.empty()) {
1225 if (!isdigit(Text[0]))
1227 Sub->Modifiers.push_back(parseModifier(Text));
1228 if (!Text.consume_front(","))
1230 assert(!Text.empty() && isdigit(Text[0]) &&
1240 Diff->Parts[0] = parseDiagText(Text, StopAt::Dollar);
1242 Diff->Parts[1] = parseDiagText(Text, StopAt::Dollar);
1244 Diff->Parts[2] = parseDiagText(Text, StopAt::PipeOrCloseBrace);
1246 Diff->Parts[3] = parseDiagText(Text, StopAt::PipeOrCloseBrace);
1248 Diff->Indexes[0] = parseModifier(Text);
1250 Diff->Indexes[1] = parseModifier(Text);
1258 Select->Index = parseModifier(Text);
1268 Parsed.push_back(New<PlaceholderPiece>(ModType, parseModifier(Text)));
1281 StringRef Text = R->getValueAsString("Summary");
1283 DiagText D(*this, Text);
1285 Prefix->Text += ": ";
1300 StringRef Text = R->getValueAsString("Summary");
1301 DiagText D(*this, Text);
1309 StringRef Text = R->getValueAsString("Summary");
1310 DiagText D(*this, Text);
1331 static bool isExemptAtStart(StringRef Text) {
1333 if (Text.empty() || isLower(Text[0]) || !isAlnum(Text[0]))
1341 if (all_of(Text, [](char C) {
1344 return Text.size() > 1 || Text[0] == 'C';
1347 return StringSwitch<bool>(Text)
1370 static bool isExemptAtEnd(StringRef Text) {
1373 switch (Text.back()) {
1388 auto DiagnoseStart = [&](StringRef Text) {
1394 Text.begin(), Text.end(), std::begin(Separators), std::end(Separators));
1396 StringRef First = Text.substr(0, Iter - Text.begin());
1404 auto DiagnoseEnd = [&](StringRef Text) {
1406 if (!isExemptAtEnd(Text)) {
1408 Text.substr(Text.size() - 1, 1) + "' is invalid");
2022 StringRef Text = R->getValueAsString("Summary");
2023 if (Text == "%0")