Lines Matching defs: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);
265 void setError(const Twine &Message, StringRef::iterator Position) {
266 if (Position >= End)
267 Position = End - 1;
276 printError(SMLoc::getFromPointer(Position), SourceMgr::DK_Error, Message);
293 /// at \a Position.
295 /// If the UTF-8 code units starting at Position do not form a well-formed
298 UTF8Decoded decodeUTF8(StringRef::iterator Position) {
299 return ::decodeUTF8(StringRef(Position, End - Position));
322 /// Skip a single nb-char[27] starting at Position.
327 /// @returns The code unit after the nb-char, or Position if it's not an
329 StringRef::iterator skip_nb_char(StringRef::iterator Position);
331 /// Skip a single b-break[28] starting at Position.
335 /// @returns The code unit after the b-break, or Position if it's not a
337 StringRef::iterator skip_b_break(StringRef::iterator Position);
339 /// Skip a single s-space[31] starting at Position.
343 /// @returns The code unit after the s-space, or Position if it's not a
345 StringRef::iterator skip_s_space(StringRef::iterator Position);
347 /// Skip a single s-white[33] starting at Position.
351 /// @returns The code unit after the s-white, or Position if it's not a
353 StringRef::iterator skip_s_white(StringRef::iterator Position);
355 /// Skip a single ns-char[34] starting at Position.
359 /// @returns The code unit after the ns-char, or Position if it's not a
361 StringRef::iterator skip_ns_char(StringRef::iterator Position);
371 , StringRef::iterator Position);
392 bool isBlankOrBreak(StringRef::iterator Position);
396 bool isPlainSafeNonBlank(StringRef::iterator Position);
926 StringRef::iterator Scanner::skip_nb_char(StringRef::iterator Position) {
927 if (Position == End)
928 return Position;
930 if ( *Position == 0x09
931 || (*Position >= 0x20 && *Position <= 0x7E))
932 return Position + 1;
935 if (uint8_t(*Position) & 0x80) {
936 UTF8Decoded u8d = decodeUTF8(Position);
946 return Position + u8d.second;
948 return Position;
951 StringRef::iterator Scanner::skip_b_break(StringRef::iterator Position) {
952 if (Position == End)
953 return Position;
954 if (*Position == 0x0D) {
955 if (Position + 1 != End && *(Position + 1) == 0x0A)
956 return Position + 2;
957 return Position + 1;
960 if (*Position == 0x0A)
961 return Position + 1;
962 return Position;
965 StringRef::iterator Scanner::skip_s_space(StringRef::iterator Position) {
966 if (Position == End)
967 return Position;
968 if (*Position == ' ')
969 return Position + 1;
970 return Position;
973 StringRef::iterator Scanner::skip_s_white(StringRef::iterator Position) {
974 if (Position == End)
975 return Position;
976 if (*Position == ' ' || *Position == '\t')
977 return Position + 1;
978 return Position;
981 StringRef::iterator Scanner::skip_ns_char(StringRef::iterator Position) {
982 if (Position == End)
983 return Position;
984 if (*Position == ' ' || *Position == '\t')
985 return Position;
986 return skip_nb_char(Position);
990 , StringRef::iterator Position) {
992 StringRef::iterator i = (this->*Func)(Position);
993 if (i == Position)
995 Position = i;
997 return Position;
1053 bool Scanner::isBlankOrBreak(StringRef::iterator Position) {
1054 if (Position == End)
1056 return *Position == ' ' || *Position == '\t' || *Position == '\r' ||
1057 *Position == '\n';
1060 bool Scanner::isPlainSafeNonBlank(StringRef::iterator Position) {
1061 if (Position == End || isBlankOrBreak(Position))
1064 StringRef(Position, 1).find_first_of(",[]{}") != StringRef::npos)
1070 for (const auto *Position = Line.begin(); Position != Line.end(); ++Position)
1071 if (!isBlankOrBreak(Position))
1381 wasEscaped(StringRef::iterator First, StringRef::iterator Position);
1383 // Returns whether a character at 'Position' was escaped with a leading '\'.
1386 StringRef::iterator Position) {
1387 assert(Position - 1 >= First);
1388 StringRef::iterator I = Position - 1;
1392 // (Position - 1 - I) now contains the number of '\'s before the current
1393 // position. If it is odd, the character at 'Position' was escaped.
1394 return (Position - 1 - I) % 2 == 1;