Lines Matching refs:Last
50 const char *Last;
84 Minimizer &append(const char *First, const char *Last) {
85 Out.append(First, Last);
151 const char *Last = ++First;
152 while (Last != End && *Last != '(')
153 ++Last;
154 if (Last == End) {
155 First = Last; // Hit the end... just give up.
159 StringRef Terminator(First, Last - First);
162 First = Last;
170 Last = First;
171 while (Last != End && size_t(Last - First) < Terminator.size() &&
172 Terminator[Last - First] == *Last)
173 ++Last;
176 if (Last == End) {
177 First = Last;
180 if (size_t(Last - First) < Terminator.size())
182 if (*Last != '"')
184 First = Last + 1;
266 static const char *findLastNonSpace(const char *First, const char *Last) {
267 assert(First <= Last);
268 while (First != Last && isHorizontalWhitespace(Last[-1]))
269 --Last;
270 return Last;
274 const char *Last) {
275 const char *LastNonSpace = findLastNonSpace(First, Last);
276 if (Last == LastNonSpace)
277 return Last;
391 const char *Last = First;
394 if (*Last == '"' || *Last == '\'' ||
395 (*Last == '<' && top() == pp_include)) {
396 if (LLVM_UNLIKELY(isRawStringLiteral(First, Last)))
397 skipRawString(Last, End);
399 skipString(Last, End);
402 if (*Last != '/' || End - Last < 2) {
403 ++Last;
407 if (Last[1] != '/' && Last[1] != '*') {
408 ++Last;
413 append(First, findFirstTrailingSpace(First, Last));
414 First = Last;
416 if (Last[1] == '/') {
424 Last = First;
425 } while (Last != End && !isVerticalWhitespace(*Last));
428 const char *LastBeforeTrailingSpace = findLastNonSpace(First, Last);
429 if (Last == End || LastBeforeTrailingSpace == First ||
432 First = Last;
443 First = Last;
484 const char *Last = First;
486 ++Last;
487 while (Last != End && (isIdentifierBody(*Last) || *Last == '.'));
488 append(First, Last);
489 First = Last;
528 const char *Last = First + 1;
529 while (Last != End && isIdentifierBody(*Last))
530 ++Last;
531 return Last;
548 const char *Last = lexRawIdentifier(First, End);
549 const char *Next = getIdentifierContinuation(Last, End);
551 return IdInfo{Last, StringRef(First, Last - First)};
554 SmallVector<char, 64> Id(First, Last);
556 Last = lexRawIdentifier(Next, End);
557 Id.append(Next, Last);
558 Next = getIdentifierContinuation(Last, End);
561 Last,
568 const char *Last = First;
570 ++Last;
571 while (Last != End &&
572 (isIdentifierBody(*Last) || *Last == '.' || *Last == ','));
573 append(First, Last);
574 First = Last;
598 /// Looks for an identifier starting from Last.
609 First = FoundId.Last;
637 First = Id.Last;
647 First = Id.Last;
697 const char *Last = Id.Last;
699 if (Last == End)
701 if (*Last == '(') {
703 if (printMacroArgs(Last, End)) {
708 skipLine(Last, End);
712 skipWhitespace(Last, End);
713 if (Last == End)
715 if (!isVerticalWhitespace(*Last))
717 printDirectiveBody(Last, End);
718 First = Last;
729 First = FoundId.Last;
837 First = Id.Last;