diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Sema/IdentifierResolver.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/IdentifierResolver.h b/clang/lib/Sema/IdentifierResolver.h index cb5cac61905..4903adc685f 100644 --- a/clang/lib/Sema/IdentifierResolver.h +++ b/clang/lib/Sema/IdentifierResolver.h @@ -18,6 +18,7 @@ #include "clang/Basic/IdentifierTable.h" #include "clang/Parse/Scope.h" #include "clang/AST/Decl.h" +#include "clang/AST/DeclCXX.h" namespace clang { @@ -45,6 +46,9 @@ class IdentifierResolver { static DeclContext *getContext(Decl *D) { DeclContext *Ctx; + if (CXXFieldDecl *FD = dyn_cast<CXXFieldDecl>(D)) + return FD->getParent(); + if (EnumConstantDecl *EnumD = dyn_cast<EnumConstantDecl>(D)) { Ctx = EnumD->getDeclContext()->getParent(); } else if (ScopedDecl *SD = dyn_cast<ScopedDecl>(D)) |

