Lines Matching defs:BufferPtr

94   if (BufferPtr == CommentEnd)
97 const char *NewBufferPtr = BufferPtr;
102 BufferPtr = NewBufferPtr + 1;
107 const char *findNewline(const char *BufferPtr, const char *BufferEnd) {
108 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
109 if (isVerticalWhitespace(*BufferPtr))
110 return BufferPtr;
115 const char *skipNewline(const char *BufferPtr, const char *BufferEnd) {
116 if (BufferPtr == BufferEnd)
117 return BufferPtr;
119 if (*BufferPtr == '\n')
120 BufferPtr++;
122 assert(*BufferPtr == '\r');
123 BufferPtr++;
124 if (BufferPtr != BufferEnd && *BufferPtr == '\n')
125 BufferPtr++;
127 return BufferPtr;
130 const char *skipNamedCharacterReference(const char *BufferPtr,
132 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
133 if (!isHTMLNamedCharacterReferenceCharacter(*BufferPtr))
134 return BufferPtr;
139 const char *skipDecimalCharacterReference(const char *BufferPtr,
141 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
142 if (!isHTMLDecimalCharacterReferenceCharacter(*BufferPtr))
143 return BufferPtr;
148 const char *skipHexCharacterReference(const char *BufferPtr,
150 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
151 if (!isHTMLHexCharacterReferenceCharacter(*BufferPtr))
152 return BufferPtr;
165 const char *skipHTMLIdentifier(const char *BufferPtr, const char *BufferEnd) {
166 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
167 if (!isHTMLIdentifierCharacter(*BufferPtr))
168 return BufferPtr;
177 const char *skipHTMLQuotedString(const char *BufferPtr, const char *BufferEnd)
179 const char Quote = *BufferPtr;
182 BufferPtr++;
183 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
184 const char C = *BufferPtr;
185 if (C == Quote && BufferPtr[-1] != '\\')
186 return BufferPtr;
191 const char *skipWhitespace(const char *BufferPtr, const char *BufferEnd) {
192 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
193 if (!isWhitespace(*BufferPtr))
194 return BufferPtr;
199 bool isWhitespace(const char *BufferPtr, const char *BufferEnd) {
200 return skipWhitespace(BufferPtr, BufferEnd) == BufferEnd;
211 const char *skipCommandName(const char *BufferPtr, const char *BufferEnd) {
212 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
213 if (!isCommandNameCharacter(*BufferPtr))
214 return BufferPtr;
221 const char *findBCPLCommentEnd(const char *BufferPtr, const char *BufferEnd) {
222 const char *CurPtr = BufferPtr;
235 (EscapePtr - 2 >= BufferPtr && EscapePtr[0] == '/' &&
247 const char *findCCommentEnd(const char *BufferPtr, const char *BufferEnd) {
248 for ( ; BufferPtr != BufferEnd; ++BufferPtr) {
249 if (*BufferPtr == '*') {
250 assert(BufferPtr + 1 != BufferEnd);
251 if (*(BufferPtr + 1) == '/')
252 return BufferPtr;
262 const unsigned TokLen = TokEnd - BufferPtr;
263 Result.setLocation(getSourceLocation(BufferPtr));
270 BufferPtr = TokEnd;
274 const char *TokenPtr = BufferPtr;
304 const char *TokenPtr = BufferPtr;
345 const char *TokenPtr = BufferPtr;
374 StringRef UnescapedText(BufferPtr + 1, TokenPtr - (BufferPtr + 1));
387 unsigned Length = TokenPtr - (BufferPtr + 1);
400 StringRef CommandName(BufferPtr + 1, Length);
406 SourceLocation Loc = getSourceLocation(BufferPtr);
422 setupAndLexVerbatimBlock(T, TokenPtr, *BufferPtr, Info);
474 if (BufferPtr != CommentEnd &&
475 isVerticalWhitespace(*BufferPtr)) {
476 BufferPtr = skipNewline(BufferPtr, CommentEnd);
486 assert(BufferPtr < CommentEnd);
492 const char *Newline = findNewline(BufferPtr, CommentEnd);
493 StringRef Line(BufferPtr, Newline - BufferPtr);
505 const char *End = BufferPtr + VerbatimBlockEndCommandName.size();
506 StringRef Name(BufferPtr + 1, End - (BufferPtr + 1));
513 TextEnd = BufferPtr + Pos;
516 if (isWhitespace(BufferPtr, TextEnd)) {
517 BufferPtr = TextEnd;
522 StringRef Text(BufferPtr, TextEnd - BufferPtr);
535 if (BufferPtr == CommentEnd) {
536 formTokenWithChars(T, BufferPtr, tok::verbatim_block_line);
557 const char *Newline = findNewline(BufferPtr, CommentEnd);
558 StringRef Text(BufferPtr, Newline - BufferPtr);
566 const char *TokenPtr = BufferPtr;
628 assert(BufferPtr[0] == '<' &&
629 isHTMLIdentifierStartingCharacter(BufferPtr[1]));
630 const char *TagNameEnd = skipHTMLIdentifier(BufferPtr + 2, CommentEnd);
631 StringRef Name(BufferPtr + 1, TagNameEnd - (BufferPtr + 1));
640 BufferPtr = skipWhitespace(BufferPtr, CommentEnd);
642 const char C = *BufferPtr;
643 if (BufferPtr != CommentEnd &&
651 const char *TokenPtr = BufferPtr;
655 StringRef Ident(BufferPtr, TokenPtr - BufferPtr);
696 BufferPtr = skipWhitespace(BufferPtr, CommentEnd);
697 if (BufferPtr == CommentEnd) {
702 C = *BufferPtr;
711 assert(BufferPtr[0] == '<' && BufferPtr[1] == '/');
713 const char *TagNameBegin = skipWhitespace(BufferPtr + 2, CommentEnd);
726 if (BufferPtr != CommentEnd && *BufferPtr == '>')
731 assert(BufferPtr != CommentEnd && *BufferPtr == '>');
733 formTokenWithChars(T, BufferPtr + 1, tok::html_greater);
741 BufferStart(BufferStart), BufferEnd(BufferEnd), BufferPtr(BufferStart),
749 if (BufferPtr == BufferEnd) {
750 formTokenWithChars(T, BufferPtr, tok::eof);
754 assert(*BufferPtr == '/');
755 BufferPtr++; // Skip first slash.
756 switch(*BufferPtr) {
758 BufferPtr++; // Skip second slash.
760 if (BufferPtr != BufferEnd) {
765 const char C = *BufferPtr;
767 BufferPtr++;
773 if (BufferPtr != BufferEnd && *BufferPtr == '<')
774 BufferPtr++;
779 CommentEnd = findBCPLCommentEnd(BufferPtr, BufferEnd);
783 BufferPtr++; // Skip star.
786 const char C = *BufferPtr;
787 if ((C == '*' && *(BufferPtr + 1) != '/') || C == '!')
788 BufferPtr++;
791 if (BufferPtr != BufferEnd && *BufferPtr == '<')
792 BufferPtr++;
796 CommentEnd = findCCommentEnd(BufferPtr, BufferEnd);
806 const char *EndWhitespace = BufferPtr;
822 if (BufferPtr != CommentEnd) {
828 assert(BufferPtr[0] == '*' && BufferPtr[1] == '/');
829 BufferPtr += 2;
830 assert(BufferPtr <= BufferEnd);
834 formTokenWithChars(T, BufferPtr, tok::newline);