diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-11-20 16:32:22 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-11-20 16:32:22 +0000 |
commit | 94981e1f23f9e182c02a3336ae3d47605194da9c (patch) | |
tree | b3b39d2741fc7afc6f9792109005d450a9244b05 /clang/lib/Lex/PTHLexer.cpp | |
parent | e0e79bdef62a52b74c3fdc16f95ea15c8841ec5b (diff) | |
download | bcm5719-llvm-94981e1f23f9e182c02a3336ae3d47605194da9c.tar.gz bcm5719-llvm-94981e1f23f9e182c02a3336ae3d47605194da9c.zip |
PTHLexer:
- Rename 'CurToken' and 'LastToken' to 'CurTokenIdx' and 'LastTokenIdx'
respectively.
- Add helper methods GetToken(), AdvanceToken(), AtLastToken() to abstract away
details of the token stream. This also allows us to easily replace their
implementation later.
llvm-svn: 59733
Diffstat (limited to 'clang/lib/Lex/PTHLexer.cpp')
-rw-r--r-- | clang/lib/Lex/PTHLexer.cpp | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/clang/lib/Lex/PTHLexer.cpp b/clang/lib/Lex/PTHLexer.cpp index 4e975d9f486..16aca4aacbe 100644 --- a/clang/lib/Lex/PTHLexer.cpp +++ b/clang/lib/Lex/PTHLexer.cpp @@ -20,19 +20,19 @@ PTHLexer::PTHLexer(Preprocessor& pp, SourceLocation fileloc, const Token *TokArray, unsigned NumTokens) : PreprocessorLexer(&pp, fileloc), Tokens(TokArray), - LastToken(NumTokens - 1), - CurToken(0) { + LastTokenIdx(NumTokens - 1), + CurTokenIdx(0) { assert(NumTokens >= 1); - assert(Tokens[LastToken].is(tok::eof)); + assert(Tokens[LastTokenIdx].is(tok::eof)); } void PTHLexer::Lex(Token& Tok) { LexNextToken: - if (CurToken == LastToken) { + if (AtLastToken()) { if (ParsingPreprocessorDirective) { ParsingPreprocessorDirective = false; - Tok = Tokens[LastToken]; + Tok = GetToken(); Tok.setKind(tok::eom); MIOpt.ReadToken(); return; @@ -45,7 +45,7 @@ LexNextToken: return; } - Tok = Tokens[CurToken]; + Tok = GetToken(); // Don't advance to the next token yet. Check if we are at the // start of a new line and we're processing a directive. If so, we @@ -58,7 +58,7 @@ LexNextToken: } // Advance to the next token. - ++CurToken; + AdvanceToken(); if (Tok.is(tok::hash)) { if (Tok.isAtStartOfLine() && !LexingRawMode) { @@ -80,7 +80,7 @@ LexNextToken: } void PTHLexer::setEOF(Token& Tok) { - Tok = Tokens[LastToken]; + Tok = Tokens[LastTokenIdx]; } void PTHLexer::DiscardToEndOfLine() { @@ -88,19 +88,11 @@ void PTHLexer::DiscardToEndOfLine() { "Must be in a preprocessing directive!"); // Already at end-of-file? - if (CurToken == LastToken) + if (AtLastToken()) return; // Find the first token that is not the start of the *current* line. - for ( ++CurToken; CurToken != LastToken ; ++CurToken ) - if (Tokens[CurToken].isAtStartOfLine()) + for (AdvanceToken(); !AtLastToken(); AdvanceToken()) + if (GetToken().isAtStartOfLine()) return; } - -unsigned PTHLexer::isNextPPTokenLParen() { - if (CurToken == LastToken) - return 2; - - return Tokens[CurToken].is(tok::l_paren); -} - |