diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-04 21:44:35 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-04 21:44:35 +0000 |
| commit | 6685e8a7476f2ecd53d0ff67b83e9fe513a4109c (patch) | |
| tree | 6def40255845e96a8542257ac83d974d7b681339 /clang/lib/AST | |
| parent | e51e554a820dfb4ad589fba241ba6d0e7a27aeb1 (diff) | |
| download | bcm5719-llvm-6685e8a7476f2ecd53d0ff67b83e9fe513a4109c.tar.gz bcm5719-llvm-6685e8a7476f2ecd53d0ff67b83e9fe513a4109c.zip | |
Read/write more information of ASTContext for PCH. Overriden methods and instantiated-from information.
llvm-svn: 107597
Diffstat (limited to 'clang/lib/AST')
| -rw-r--r-- | clang/lib/AST/ASTContext.cpp | 10 | ||||
| -rw-r--r-- | clang/lib/AST/DeclCXX.cpp | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 24ddb127bda..4fb9d369de3 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -478,6 +478,16 @@ ASTContext::overridden_methods_end(const CXXMethodDecl *Method) const { return Pos->second.end(); } +unsigned +ASTContext::overridden_methods_size(const CXXMethodDecl *Method) const { + llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector>::const_iterator Pos + = OverriddenMethods.find(Method); + if (Pos == OverriddenMethods.end()) + return 0; + + return Pos->second.size(); +} + void ASTContext::addOverriddenMethod(const CXXMethodDecl *Method, const CXXMethodDecl *Overridden) { OverriddenMethods[Method].push_back(Overridden); diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp index 7ce9c64de03..19c3ac10119 100644 --- a/clang/lib/AST/DeclCXX.cpp +++ b/clang/lib/AST/DeclCXX.cpp @@ -716,6 +716,10 @@ CXXMethodDecl::method_iterator CXXMethodDecl::end_overridden_methods() const { return getASTContext().overridden_methods_end(this); } +unsigned CXXMethodDecl::size_overridden_methods() const { + return getASTContext().overridden_methods_size(this); +} + QualType CXXMethodDecl::getThisType(ASTContext &C) const { // C++ 9.3.2p1: The type of this in a member function of a class X is X*. // If the member function is declared const, the type of this is const X*, |

