mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
YAML: Extract the code that skips a comment into a separate method, NFC.
This commit extracts the code that skips over a YAML comment from the 'scanToNextToken' method into a separate 'skipComment' method. This refactoring is motivated by a patch that implements parsing of YAML block scalars (http://reviews.llvm.org/D9503), as the method that parses a block scalar reuses the 'skipComment' method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236663 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
cdedd99893
commit
0f04f3b213
@ -417,6 +417,10 @@ private:
|
||||
, Token::TokenKind Kind
|
||||
, TokenQueueT::iterator InsertPoint);
|
||||
|
||||
/// @brief Skip a single-line comment when the comment starts at the current
|
||||
/// position of the scanner.
|
||||
void skipComment();
|
||||
|
||||
/// @brief Skip whitespace and comments until the start of the next token.
|
||||
void scanToNextToken();
|
||||
|
||||
@ -962,24 +966,27 @@ bool Scanner::rollIndent( int ToColumn
|
||||
return true;
|
||||
}
|
||||
|
||||
void Scanner::skipComment() {
|
||||
if (*Current != '#')
|
||||
return;
|
||||
while (true) {
|
||||
// This may skip more than one byte, thus Column is only incremented
|
||||
// for code points.
|
||||
StringRef::iterator I = skip_nb_char(Current);
|
||||
if (I == Current)
|
||||
break;
|
||||
Current = I;
|
||||
++Column;
|
||||
}
|
||||
}
|
||||
|
||||
void Scanner::scanToNextToken() {
|
||||
while (true) {
|
||||
while (*Current == ' ' || *Current == '\t') {
|
||||
skip(1);
|
||||
}
|
||||
|
||||
// Skip comment.
|
||||
if (*Current == '#') {
|
||||
while (true) {
|
||||
// This may skip more than one byte, thus Column is only incremented
|
||||
// for code points.
|
||||
StringRef::iterator i = skip_nb_char(Current);
|
||||
if (i == Current)
|
||||
break;
|
||||
Current = i;
|
||||
++Column;
|
||||
}
|
||||
}
|
||||
skipComment();
|
||||
|
||||
// Skip EOL.
|
||||
StringRef::iterator i = skip_b_break(Current);
|
||||
|
Loading…
Reference in New Issue
Block a user