aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lex/Lexer.cpp7
-rw-r--r--include/clang/Lex/Token.h6
2 files changed, 12 insertions, 1 deletions
diff --git a/Lex/Lexer.cpp b/Lex/Lexer.cpp
index f712bec719..646d575bae 100644
--- a/Lex/Lexer.cpp
+++ b/Lex/Lexer.cpp
@@ -51,6 +51,13 @@ tok::ObjCKeywordKind Token::getObjCKeywordID() const {
return specId ? specId->getObjCKeywordID() : tok::objc_not_keyword;
}
+/// isNamedIdentifier - Return true if this token is a ppidentifier with the
+/// specified name. For example, tok.isNamedIdentifier("this").
+bool Token::isNamedIdentifier(const char *Name) const {
+ return IdentInfo && !strcmp(IdentInfo->getName(), Name);
+}
+
+
//===----------------------------------------------------------------------===//
// Lexer Class Implementation
//===----------------------------------------------------------------------===//
diff --git a/include/clang/Lex/Token.h b/include/clang/Lex/Token.h
index 620650748c..9f839fd3f8 100644
--- a/include/clang/Lex/Token.h
+++ b/include/clang/Lex/Token.h
@@ -80,7 +80,11 @@ public:
void setIdentifierInfo(IdentifierInfo *II) {
IdentInfo = II;
}
-
+
+ /// isNamedIdentifier - Return true if this token is a ppidentifier with the
+ /// specified name. For example, tok.isNamedIdentifier("this").
+ bool isNamedIdentifier(const char *Name) const;
+
/// setFlag - Set the specified flag.
void setFlag(TokenFlags Flag) {
Flags |= Flag;