diff options
-rw-r--r-- | include/clang/Index/Entity.h | 3 | ||||
-rw-r--r-- | lib/Index/Entity.cpp | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/clang/Index/Entity.h b/include/clang/Index/Entity.h index 8caaeb870f..e65412cbf5 100644 --- a/include/clang/Index/Entity.h +++ b/include/clang/Index/Entity.h @@ -43,6 +43,9 @@ public: /// \brief Find the Decl that can be referred to by this entity. Decl *getDecl(ASTContext &AST); + /// \brief Get the Decl's name. + const char *getName(ASTContext &Ctx); + /// \brief Get an Entity associated with the given Decl. /// \returns Null if an Entity cannot refer to this Decl. static Entity *get(Decl *D, Program &Prog); diff --git a/lib/Index/Entity.cpp b/lib/Index/Entity.cpp index 2620f88a95..520d189826 100644 --- a/lib/Index/Entity.cpp +++ b/lib/Index/Entity.cpp @@ -123,6 +123,13 @@ Decl *Entity::getDecl(ASTContext &AST) { return 0; // Failed to find a decl using this Entity. } +const char *Entity::getName(ASTContext &Ctx) { + if (const NamedDecl *ND = dyn_cast_or_null<NamedDecl>(getDecl(Ctx))) { + return ND->getNameAsCString(); + } + return 0; +} + /// \brief Get an Entity associated with the given Decl. /// \returns Null if an Entity cannot refer to this Decl. Entity *Entity::get(Decl *D, Program &Prog) { |