Lines Matching refs:Position

197   StringRef::iterator Position= Range.begin();
201 if (Position < End && (*Position & 0x80) == 0) {
202 return std::make_pair(*Position, 1);
206 if (Position + 1 < End && ((*Position & 0xE0) == 0xC0) &&
207 ((*(Position + 1) & 0xC0) == 0x80)) {
208 uint32_t codepoint = ((*Position & 0x1F) << 6) |
209 (*(Position + 1) & 0x3F);
215 if (Position + 2 < End && ((*Position & 0xF0) == 0xE0) &&
216 ((*(Position + 1) & 0xC0) == 0x80) &&
217 ((*(Position + 2) & 0xC0) == 0x80)) {
218 uint32_t codepoint = ((*Position & 0x0F) << 12) |
219 ((*(Position + 1) & 0x3F) << 6) |
220 (*(Position + 2) & 0x3F);
229 if (Position + 3 < End && ((*Position & 0xF8) == 0xF0) &&
230 ((*(Position + 1) & 0xC0) == 0x80) &&
231 ((*(Position + 2) & 0xC0) == 0x80) &&
232 ((*(Position + 3) & 0xC0) == 0x80)) {
233 uint32_t codepoint = ((*Position & 0x07) << 18) |
234 ((*(Position + 1) & 0x3F) << 12) |
235 ((*(Position + 2) & 0x3F) << 6) |
236 (*(Position + 3) & 0x3F);
266 void setError(const Twine &Message, StringRef::iterator Position) {
267 if (Position >= End)
268 Position = End - 1;
277 printError(SMLoc::getFromPointer(Position), SourceMgr::DK_Error, Message);
294 /// at \a Position.
296 /// If the UTF-8 code units starting at Position do not form a well-formed
299 UTF8Decoded decodeUTF8(StringRef::iterator Position) {
300 return ::decodeUTF8(StringRef(Position, End - Position));
323 /// Skip a single nb-char[27] starting at Position.
328 /// @returns The code unit after the nb-char, or Position if it's not an
330 StringRef::iterator skip_nb_char(StringRef::iterator Position);
332 /// Skip a single b-break[28] starting at Position.
336 /// @returns The code unit after the b-break, or Position if it's not a
338 StringRef::iterator skip_b_break(StringRef::iterator Position);
340 /// Skip a single s-space[31] starting at Position.
344 /// @returns The code unit after the s-space, or Position if it's not a
346 StringRef::iterator skip_s_space(StringRef::iterator Position);
348 /// Skip a single s-white[33] starting at Position.
352 /// @returns The code unit after the s-white, or Position if it's not a
354 StringRef::iterator skip_s_white(StringRef::iterator Position);
356 /// Skip a single ns-char[34] starting at Position.
360 /// @returns The code unit after the ns-char, or Position if it's not a
362 StringRef::iterator skip_ns_char(StringRef::iterator Position);
372 , StringRef::iterator Position);
393 bool isBlankOrBreak(StringRef::iterator Position);
397 bool isPlainSafeNonBlank(StringRef::iterator Position);
927 StringRef::iterator Scanner::skip_nb_char(StringRef::iterator Position) {
928 if (Position == End)
929 return Position;
931 if ( *Position == 0x09
932 || (*Position >= 0x20 && *Position <= 0x7E))
933 return Position + 1;
936 if (uint8_t(*Position) & 0x80) {
937 UTF8Decoded u8d = decodeUTF8(Position);
947 return Position + u8d.second;
949 return Position;
952 StringRef::iterator Scanner::skip_b_break(StringRef::iterator Position) {
953 if (Position == End)
954 return Position;
955 if (*Position == 0x0D) {
956 if (Position + 1 != End && *(Position + 1) == 0x0A)
957 return Position + 2;
958 return Position + 1;
961 if (*Position == 0x0A)
962 return Position + 1;
963 return Position;
966 StringRef::iterator Scanner::skip_s_space(StringRef::iterator Position) {
967 if (Position == End)
968 return Position;
969 if (*Position == ' ')
970 return Position + 1;
971 return Position;
974 StringRef::iterator Scanner::skip_s_white(StringRef::iterator Position) {
975 if (Position == End)
976 return Position;
977 if (*Position == ' ' || *Position == '\t')
978 return Position + 1;
979 return Position;
982 StringRef::iterator Scanner::skip_ns_char(StringRef::iterator Position) {
983 if (Position == End)
984 return Position;
985 if (*Position == ' ' || *Position == '\t')
986 return Position;
987 return skip_nb_char(Position);
991 , StringRef::iterator Position) {
993 StringRef::iterator i = (this->*Func)(Position);
994 if (i == Position)
996 Position = i;
998 return Position;
1054 bool Scanner::isBlankOrBreak(StringRef::iterator Position) {
1055 if (Position == End)
1057 return *Position == ' ' || *Position == '\t' || *Position == '\r' ||
1058 *Position == '\n';
1061 bool Scanner::isPlainSafeNonBlank(StringRef::iterator Position) {
1062 if (Position == End || isBlankOrBreak(Position))
1065 StringRef(Position, 1).find_first_of(",[]{}") != StringRef::npos)
1071 for (const auto *Position = Line.begin(); Position != Line.end(); ++Position)
1072 if (!isBlankOrBreak(Position))
1382 wasEscaped(StringRef::iterator First, StringRef::iterator Position);
1384 // Returns whether a character at 'Position' was escaped with a leading '\'.
1387 StringRef::iterator Position) {
1388 assert(Position - 1 >= First);
1389 StringRef::iterator I = Position - 1;
1393 // (Position - 1 - I) now contains the number of '\'s before the current
1394 // position. If it is odd, the character at 'Position' was escaped.
1395 return (Position - 1 - I) % 2 == 1;