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