diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-06-30 02:34:44 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-06-30 02:34:44 +0000 |
commit | 40b598eea1310ec9ed554d56ce3e25b34c585458 (patch) | |
tree | 8e2c3592f8ed4ac239504747ebffb388d5b170d6 /lib/AST/DeclBase.cpp | |
parent | e4f2142d00fa5fdb580c4e2413da91882d955381 (diff) |
Remove the ASTContext parameter from the attribute-related methods of Decl.
The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
This commit touches a lot of files since call sites for these methods are everywhere.
I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74501 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclBase.cpp')
-rw-r--r-- | lib/AST/DeclBase.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 0ccd6b436b..d872eae084 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -242,8 +242,8 @@ unsigned Decl::getIdentifierNamespaceForKind(Kind DeclKind) { } } -void Decl::addAttr(ASTContext &Context, Attr *NewAttr) { - Attr *&ExistingAttr = Context.getDeclAttrs(this); +void Decl::addAttr(Attr *NewAttr) { + Attr *&ExistingAttr = getASTContext().getDeclAttrs(this); NewAttr->setNext(ExistingAttr); ExistingAttr = NewAttr; @@ -251,19 +251,19 @@ void Decl::addAttr(ASTContext &Context, Attr *NewAttr) { HasAttrs = true; } -void Decl::invalidateAttrs(ASTContext &Context) { +void Decl::invalidateAttrs() { if (!HasAttrs) return; HasAttrs = false; - Context.eraseDeclAttrs(this); + getASTContext().eraseDeclAttrs(this); } -const Attr *Decl::getAttrsImpl(ASTContext &Context) const { +const Attr *Decl::getAttrsImpl() const { assert(HasAttrs && "getAttrs() should verify this!"); - return Context.getDeclAttrs(this); + return getASTContext().getDeclAttrs(this); } -void Decl::swapAttrs(ASTContext &Context, Decl *RHS) { +void Decl::swapAttrs(Decl *RHS) { bool HasLHSAttr = this->HasAttrs; bool HasRHSAttr = RHS->HasAttrs; @@ -272,7 +272,9 @@ void Decl::swapAttrs(ASTContext &Context, Decl *RHS) { // If 'this' has no attrs, swap the other way. if (!HasLHSAttr) - return RHS->swapAttrs(Context, this); + return RHS->swapAttrs(this); + + ASTContext &Context = getASTContext(); // Handle the case when both decls have attrs. if (HasRHSAttr) { @@ -292,7 +294,7 @@ void Decl::Destroy(ASTContext &C) { // Free attributes for this decl. if (HasAttrs) { C.getDeclAttrs(this)->Destroy(C); - invalidateAttrs(C); + invalidateAttrs(); HasAttrs = false; } |