aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-07-16 06:48:38 +0000
committerChris Lattner <sabre@nondot.org>2007-07-16 06:48:38 +0000
commit97ba77cf09bf7b83b679165ce67ad7d49ffd568c (patch)
tree5a3c81882b3c92bf3500b1c62ab36d4fd3d8f4ba /include
parent20e6ccd6f74e73eee39386f64e236ce43a2ec210 (diff)
Add a new Preprocessor::AdvanceToTokenCharacter method which, given a sloc
specifying the start of a token and a logical (phase 3) character number, returns a sloc representing the input character corresponding to it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39905 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/clang/Lex/Lexer.h2
-rw-r--r--include/clang/Lex/Preprocessor.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/Lex/Lexer.h b/include/clang/Lex/Lexer.h
index 4a8965efa2..173e72f3f1 100644
--- a/include/clang/Lex/Lexer.h
+++ b/include/clang/Lex/Lexer.h
@@ -200,6 +200,7 @@ private:
//===--------------------------------------------------------------------===//
// Lexer character reading interfaces.
+public:
// This lexer is built on two interfaces for reading characters, both of which
// automatically provide phase 1/2 translation. getAndAdvanceChar is used
@@ -239,6 +240,7 @@ private:
return C;
}
+private:
/// ConsumeChar - When a character (identified by PeekCharAndSize) is consumed
/// and added to a given token, check to see if there are diagnostics that
/// need to be emitted or flags that need to be set on the token. If so, do
diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h
index 4b6ea1f436..d1fa97872d 100644
--- a/include/clang/Lex/Preprocessor.h
+++ b/include/clang/Lex/Preprocessor.h
@@ -279,6 +279,10 @@ public:
void DumpToken(const LexerToken &Tok, bool DumpFlags = false) const;
void DumpMacro(const MacroInfo &MI) const;
+ /// AdvanceToTokenCharacter - Given a location that specifies the start of a
+ /// token, return a new location that specifies a character within the token.
+ SourceLocation AdvanceToTokenCharacter(SourceLocation TokStart,unsigned Char);
+
/// IncrementPasteCounter - Increment the counters for the number of token
/// paste operations performed. If fast was specified, this is a 'fast paste'
/// case we handled.