diff options
-rw-r--r-- | Lex/Lexer.cpp | 7 | ||||
-rw-r--r-- | include/clang/Lex/Token.h | 6 |
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; |