reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1007 while (!Text.empty()) { 1010 End = Nested ? Text.find_first_of("%|}", End + 2) 1011 : Text.find_first_of('%', End + 2); 1012 while (End < Text.size() - 1 && Text[End] == '%' && 1012 while (End < Text.size() - 1 && Text[End] == '%' && 1013 (Text[End + 1] == '%' || Text[End + 1] == '|')); 1013 (Text[End + 1] == '%' || Text[End + 1] == '|')); 1016 Parsed.push_back(New<TextPiece>(Text.slice(0, End), "diagtext")); 1017 Text = Text.slice(End, StringRef::npos); 1017 Text = Text.slice(End, StringRef::npos); 1018 if (Text.empty()) 1022 if (Text[0] == '|' || Text[0] == '}') 1022 if (Text[0] == '|' || Text[0] == '}') 1026 Text = Text.drop_front(); 1026 Text = Text.drop_front(); 1029 size_t ModLength = Text.find_first_of("0123456789{"); 1030 StringRef Modifier = Text.slice(0, ModLength); 1031 Text = Text.slice(ModLength, StringRef::npos); 1031 Text = Text.slice(ModLength, StringRef::npos); 1051 Text = Text.drop_front(); // '{' or '|' 1051 Text = Text.drop_front(); // '{' or '|' 1052 Select->Options.push_back(parseDiagText(Text, true)); 1053 assert(!Text.empty() && "malformed %select"); 1054 } while (Text.front() == '|'); 1056 Text = Text.drop_front(1); 1056 Text = Text.drop_front(1); 1057 Select->Index = parseModifier(Text); 1064 Text = Text.drop_front(); // '{' or '|' 1064 Text = Text.drop_front(); // '{' or '|' 1065 size_t End = Text.find_first_of(":"); 1069 assert(!Text.empty()); 1071 New<TextPiece>(Text.slice(0, End), "diagtext")); 1072 Text = Text.slice(End, StringRef::npos); 1072 Text = Text.slice(End, StringRef::npos); 1073 Plural->Options.push_back(parseDiagText(Text, true)); 1074 assert(!Text.empty() && "malformed %select"); 1075 } while (Text.front() == '|'); 1077 Text = Text.drop_front(1); 1077 Text = Text.drop_front(1); 1078 Plural->Index = parseModifier(Text); 1084 Text = Text.drop_front(); // '{' 1084 Text = Text.drop_front(); // '{' 1085 size_t NameSize = Text.find_first_of('}'); 1088 Sub->Name = Text.substr(0, NameSize).str(); 1089 Text = Text.drop_front(NameSize); 1089 Text = Text.drop_front(NameSize); 1090 Text = Text.drop_front(); // '}' 1090 Text = Text.drop_front(); // '}' 1091 if (!Text.empty()) { 1093 if (!isdigit(Text[0])) 1095 Sub->Modifiers.push_back(parseModifier(Text)); 1096 if (Text.empty() || Text[0] != ',') 1096 if (Text.empty() || Text[0] != ',') 1098 Text = Text.drop_front(); // ',' 1098 Text = Text.drop_front(); // ',' 1099 assert(!Text.empty() && isdigit(Text[0]) && 1099 assert(!Text.empty() && isdigit(Text[0]) && 1108 Text = Text.drop_front(); // '{' 1108 Text = Text.drop_front(); // '{' 1109 Diff->Options[0] = parseDiagText(Text, true); 1110 Text = Text.drop_front(); // '|' 1110 Text = Text.drop_front(); // '|' 1111 Diff->Options[1] = parseDiagText(Text, true); 1113 Text = Text.drop_front(); // '}' 1113 Text = Text.drop_front(); // '}' 1114 Diff->Indexes[0] = parseModifier(Text); 1115 Text = Text.drop_front(); // ',' 1115 Text = Text.drop_front(); // ',' 1116 Diff->Indexes[1] = parseModifier(Text); 1124 Select->Index = parseModifier(Text); 1133 Parsed.push_back(New<PlaceholderPiece>(ModType, parseModifier(Text)));