summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/PTHLexer.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-11-20 16:32:22 +0000
committerTed Kremenek <kremenek@apple.com>2008-11-20 16:32:22 +0000
commit94981e1f23f9e182c02a3336ae3d47605194da9c (patch)
treeb3b39d2741fc7afc6f9792109005d450a9244b05 /clang/lib/Lex/PTHLexer.cpp
parente0e79bdef62a52b74c3fdc16f95ea15c8841ec5b (diff)
downloadbcm5719-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.cpp30
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);
-}
-
OpenPOWER on IntegriCloud