Lines Matching refs:BufferPtr

94   if (BufferPtr == CommentEnd)  in skipLineStartingDecorations()
97 switch (*BufferPtr) { in skipLineStartingDecorations()
102 const char *NewBufferPtr = BufferPtr; in skipLineStartingDecorations()
115 BufferPtr = NewBufferPtr + 1; in skipLineStartingDecorations()
119 BufferPtr++; in skipLineStartingDecorations()
126 const char *findNewline(const char *BufferPtr, const char *BufferEnd) { in findNewline() argument
127 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in findNewline()
128 if (isVerticalWhitespace(*BufferPtr)) in findNewline()
129 return BufferPtr; in findNewline()
134 const char *skipNewline(const char *BufferPtr, const char *BufferEnd) { in skipNewline() argument
135 if (BufferPtr == BufferEnd) in skipNewline()
136 return BufferPtr; in skipNewline()
138 if (*BufferPtr == '\n') in skipNewline()
139 BufferPtr++; in skipNewline()
141 assert(*BufferPtr == '\r'); in skipNewline()
142 BufferPtr++; in skipNewline()
143 if (BufferPtr != BufferEnd && *BufferPtr == '\n') in skipNewline()
144 BufferPtr++; in skipNewline()
146 return BufferPtr; in skipNewline()
149 const char *skipNamedCharacterReference(const char *BufferPtr, in skipNamedCharacterReference() argument
151 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipNamedCharacterReference()
152 if (!isHTMLNamedCharacterReferenceCharacter(*BufferPtr)) in skipNamedCharacterReference()
153 return BufferPtr; in skipNamedCharacterReference()
158 const char *skipDecimalCharacterReference(const char *BufferPtr, in skipDecimalCharacterReference() argument
160 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipDecimalCharacterReference()
161 if (!isHTMLDecimalCharacterReferenceCharacter(*BufferPtr)) in skipDecimalCharacterReference()
162 return BufferPtr; in skipDecimalCharacterReference()
167 const char *skipHexCharacterReference(const char *BufferPtr, in skipHexCharacterReference() argument
169 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipHexCharacterReference()
170 if (!isHTMLHexCharacterReferenceCharacter(*BufferPtr)) in skipHexCharacterReference()
171 return BufferPtr; in skipHexCharacterReference()
184 const char *skipHTMLIdentifier(const char *BufferPtr, const char *BufferEnd) { in skipHTMLIdentifier() argument
185 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipHTMLIdentifier()
186 if (!isHTMLIdentifierCharacter(*BufferPtr)) in skipHTMLIdentifier()
187 return BufferPtr; in skipHTMLIdentifier()
196 const char *skipHTMLQuotedString(const char *BufferPtr, const char *BufferEnd) in skipHTMLQuotedString() argument
198 const char Quote = *BufferPtr; in skipHTMLQuotedString()
201 BufferPtr++; in skipHTMLQuotedString()
202 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipHTMLQuotedString()
203 const char C = *BufferPtr; in skipHTMLQuotedString()
204 if (C == Quote && BufferPtr[-1] != '\\') in skipHTMLQuotedString()
205 return BufferPtr; in skipHTMLQuotedString()
210 const char *skipWhitespace(const char *BufferPtr, const char *BufferEnd) { in skipWhitespace() argument
211 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipWhitespace()
212 if (!isWhitespace(*BufferPtr)) in skipWhitespace()
213 return BufferPtr; in skipWhitespace()
218 bool isWhitespace(const char *BufferPtr, const char *BufferEnd) { in isWhitespace() argument
219 return skipWhitespace(BufferPtr, BufferEnd) == BufferEnd; in isWhitespace()
230 const char *skipCommandName(const char *BufferPtr, const char *BufferEnd) { in skipCommandName() argument
231 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in skipCommandName()
232 if (!isCommandNameCharacter(*BufferPtr)) in skipCommandName()
233 return BufferPtr; in skipCommandName()
240 const char *findBCPLCommentEnd(const char *BufferPtr, const char *BufferEnd) { in findBCPLCommentEnd() argument
241 const char *CurPtr = BufferPtr; in findBCPLCommentEnd()
254 (EscapePtr - 2 >= BufferPtr && EscapePtr[0] == '/' && in findBCPLCommentEnd()
266 const char *findCCommentEnd(const char *BufferPtr, const char *BufferEnd) { in findCCommentEnd() argument
267 for ( ; BufferPtr != BufferEnd; ++BufferPtr) { in findCCommentEnd()
268 if (*BufferPtr == '*') { in findCCommentEnd()
269 assert(BufferPtr + 1 != BufferEnd); in findCCommentEnd()
270 if (*(BufferPtr + 1) == '/') in findCCommentEnd()
271 return BufferPtr; in findCCommentEnd()
281 const unsigned TokLen = TokEnd - BufferPtr; in formTokenWithChars()
282 Result.setLocation(getSourceLocation(BufferPtr)); in formTokenWithChars()
289 BufferPtr = TokEnd; in formTokenWithChars()
300 const char *TokenPtr = BufferPtr; in lexCommentText()
350 const char *TokenPtr = BufferPtr; in lexCommentText()
379 StringRef UnescapedText(BufferPtr + 1, TokenPtr - (BufferPtr + 1)); in lexCommentText()
392 unsigned Length = TokenPtr - (BufferPtr + 1); in lexCommentText()
404 StringRef CommandName(BufferPtr + 1, Length); in lexCommentText()
410 SourceLocation Loc = getSourceLocation(BufferPtr); in lexCommentText()
426 setupAndLexVerbatimBlock(T, TokenPtr, *BufferPtr, Info); in lexCommentText()
478 if (BufferPtr != CommentEnd && in setupAndLexVerbatimBlock()
479 isVerticalWhitespace(*BufferPtr)) { in setupAndLexVerbatimBlock()
480 BufferPtr = skipNewline(BufferPtr, CommentEnd); in setupAndLexVerbatimBlock()
490 assert(BufferPtr < CommentEnd); in lexVerbatimBlockFirstLine()
496 const char *Newline = findNewline(BufferPtr, CommentEnd); in lexVerbatimBlockFirstLine()
497 StringRef Line(BufferPtr, Newline - BufferPtr); in lexVerbatimBlockFirstLine()
509 const char *End = BufferPtr + VerbatimBlockEndCommandName.size(); in lexVerbatimBlockFirstLine()
510 StringRef Name(BufferPtr + 1, End - (BufferPtr + 1)); in lexVerbatimBlockFirstLine()
517 TextEnd = BufferPtr + Pos; in lexVerbatimBlockFirstLine()
520 if (isWhitespace(BufferPtr, TextEnd)) { in lexVerbatimBlockFirstLine()
521 BufferPtr = TextEnd; in lexVerbatimBlockFirstLine()
526 StringRef Text(BufferPtr, TextEnd - BufferPtr); in lexVerbatimBlockFirstLine()
539 if (BufferPtr == CommentEnd) { in lexVerbatimBlockBody()
540 formTokenWithChars(T, BufferPtr, tok::verbatim_block_line); in lexVerbatimBlockBody()
561 const char *Newline = findNewline(BufferPtr, CommentEnd); in lexVerbatimLineText()
562 StringRef Text(BufferPtr, Newline - BufferPtr); in lexVerbatimLineText()
570 const char *TokenPtr = BufferPtr; in lexHTMLCharacterReference()
632 assert(BufferPtr[0] == '<' && in setupAndLexHTMLStartTag()
633 isHTMLIdentifierStartingCharacter(BufferPtr[1])); in setupAndLexHTMLStartTag()
634 const char *TagNameEnd = skipHTMLIdentifier(BufferPtr + 2, CommentEnd); in setupAndLexHTMLStartTag()
635 StringRef Name(BufferPtr + 1, TagNameEnd - (BufferPtr + 1)); in setupAndLexHTMLStartTag()
644 BufferPtr = skipWhitespace(BufferPtr, CommentEnd); in setupAndLexHTMLStartTag()
646 const char C = *BufferPtr; in setupAndLexHTMLStartTag()
647 if (BufferPtr != CommentEnd && in setupAndLexHTMLStartTag()
655 const char *TokenPtr = BufferPtr; in lexHTMLStartTag()
659 StringRef Ident(BufferPtr, TokenPtr - BufferPtr); in lexHTMLStartTag()
700 BufferPtr = skipWhitespace(BufferPtr, CommentEnd); in lexHTMLStartTag()
701 if (BufferPtr == CommentEnd) { in lexHTMLStartTag()
706 C = *BufferPtr; in lexHTMLStartTag()
715 assert(BufferPtr[0] == '<' && BufferPtr[1] == '/'); in setupAndLexHTMLEndTag()
717 const char *TagNameBegin = skipWhitespace(BufferPtr + 2, CommentEnd); in setupAndLexHTMLEndTag()
730 if (BufferPtr != CommentEnd && *BufferPtr == '>') in setupAndLexHTMLEndTag()
735 assert(BufferPtr != CommentEnd && *BufferPtr == '>'); in lexHTMLEndTag()
737 formTokenWithChars(T, BufferPtr + 1, tok::html_greater); in lexHTMLEndTag()
745 BufferStart(BufferStart), BufferEnd(BufferEnd), BufferPtr(BufferStart), in Lexer()
753 if (BufferPtr == BufferEnd) { in lex()
754 formTokenWithChars(T, BufferPtr, tok::eof); in lex()
758 assert(*BufferPtr == '/'); in lex()
759 BufferPtr++; // Skip first slash. in lex()
760 switch(*BufferPtr) { in lex()
762 BufferPtr++; // Skip second slash. in lex()
764 if (BufferPtr != BufferEnd) { in lex()
769 const char C = *BufferPtr; in lex()
771 BufferPtr++; in lex()
777 if (BufferPtr != BufferEnd && *BufferPtr == '<') in lex()
778 BufferPtr++; in lex()
783 CommentEnd = findBCPLCommentEnd(BufferPtr, BufferEnd); in lex()
787 BufferPtr++; // Skip star. in lex()
790 const char C = *BufferPtr; in lex()
791 if ((C == '*' && *(BufferPtr + 1) != '/') || C == '!') in lex()
792 BufferPtr++; in lex()
795 if (BufferPtr != BufferEnd && *BufferPtr == '<') in lex()
796 BufferPtr++; in lex()
800 CommentEnd = findCCommentEnd(BufferPtr, BufferEnd); in lex()
810 const char *EndWhitespace = BufferPtr; in lex()
826 if (BufferPtr != CommentEnd) { in lex()
832 assert(BufferPtr[0] == '*' && BufferPtr[1] == '/'); in lex()
833 BufferPtr += 2; in lex()
834 assert(BufferPtr <= BufferEnd); in lex()
838 formTokenWithChars(T, BufferPtr, tok::newline); in lex()