[cfe-commits] r62122 - in /cfe/trunk: Driver/RewriteObjC.cpp include/clang/AST/DeclBase.h lib/AST/ASTContext.cpp lib/AST/DeclBase.cpp lib/CodeGen/CGObjCMac.cpp lib/Sema/SemaDecl.cpp lib/Sema/SemaDeclCXX.cpp lib/Sema/SemaDeclObjC.cpp lib/Sema/SemaExprCXX.cpp
Douglas Gregor
dgregor at apple.com
Mon Jan 12 15:27:07 PST 2009
Author: dgregor
Date: Mon Jan 12 17:27:07 2009
New Revision: 62122
URL: http://llvm.org/viewvc/llvm-project?rev=62122&view=rev
Log:
Cleanup DeclContext::addDecl and DeclContext::insert interface, from Piotr Rak
Modified:
cfe/trunk/Driver/RewriteObjC.cpp
cfe/trunk/include/clang/AST/DeclBase.h
cfe/trunk/lib/AST/ASTContext.cpp
cfe/trunk/lib/AST/DeclBase.cpp
cfe/trunk/lib/CodeGen/CGObjCMac.cpp
cfe/trunk/lib/Sema/SemaDecl.cpp
cfe/trunk/lib/Sema/SemaDeclCXX.cpp
cfe/trunk/lib/Sema/SemaDeclObjC.cpp
cfe/trunk/lib/Sema/SemaExprCXX.cpp
Modified: cfe/trunk/Driver/RewriteObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/RewriteObjC.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/Driver/RewriteObjC.cpp (original)
+++ cfe/trunk/Driver/RewriteObjC.cpp Mon Jan 12 17:27:07 2009
@@ -2172,12 +2172,10 @@
// Create fields
for (unsigned i = 0; i < 2; ++i) {
- SuperStructDecl->addDecl(*Context,
- FieldDecl::Create(*Context, SuperStructDecl,
+ SuperStructDecl->addDecl(FieldDecl::Create(*Context, SuperStructDecl,
SourceLocation(), 0,
FieldTypes[i], /*BitWidth=*/0,
- /*Mutable=*/false, 0),
- true);
+ /*Mutable=*/false, 0));
}
SuperStructDecl->completeDefinition(*Context);
@@ -2203,14 +2201,12 @@
// Create fields
for (unsigned i = 0; i < 4; ++i) {
- ConstantStringDecl->addDecl(*Context,
- FieldDecl::Create(*Context,
+ ConstantStringDecl->addDecl(FieldDecl::Create(*Context,
ConstantStringDecl,
SourceLocation(), 0,
FieldTypes[i],
/*BitWidth=*/0,
- /*Mutable=*/true, 0),
- true);
+ /*Mutable=*/true, 0));
}
ConstantStringDecl->completeDefinition(*Context);
Modified: cfe/trunk/include/clang/AST/DeclBase.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclBase.h?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/include/clang/AST/DeclBase.h (original)
+++ cfe/trunk/include/clang/AST/DeclBase.h Mon Jan 12 17:27:07 2009
@@ -610,12 +610,9 @@
}
};
- /// addDecl - Add the declaration D to this scope. Note that
- /// declarations are added at the beginning of the declaration
- /// chain, so reverseDeclChain() should be called after all
- /// declarations have been added. If AllowLookup, also adds this
- /// declaration into data structure for name lookup.
- void addDecl(ASTContext &Context, ScopedDecl *D, bool AllowLookup = true);
+ /// addDecl - Add the declaration D to this scope, and into data structure
+ /// for name lookup.
+ void addDecl(ScopedDecl *D);
void buildLookup(DeclContext *DCtx);
@@ -652,7 +649,7 @@
/// that this replacement is semantically correct, e.g., that
/// declarations are only replaced by later declarations of the same
/// entity and not a declaration of some other kind of entity.
- void insert(ASTContext &Context, ScopedDecl *D);
+ void insert(ScopedDecl *D);
static bool classof(const Decl *D) {
switch (D->getKind()) {
Modified: cfe/trunk/lib/AST/ASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTContext.cpp (original)
+++ cfe/trunk/lib/AST/ASTContext.cpp Mon Jan 12 17:27:07 2009
@@ -533,7 +533,7 @@
RecFields[i]->getIdentifier(),
RecFields[i]->getType(),
RecFields[i]->getBitWidth(), false, 0);
- NewRD->addDecl(*this, Field);
+ NewRD->addDecl(Field);
}
NewRD->completeDefinition(*this);
RD = NewRD;
@@ -1554,7 +1554,7 @@
SourceLocation(), 0,
FieldTypes[i], /*BitWidth=*/0,
/*Mutable=*/false, /*PrevDecl=*/0);
- CFConstantStringTypeDecl->addDecl(*this, Field, true);
+ CFConstantStringTypeDecl->addDecl(Field);
}
CFConstantStringTypeDecl->completeDefinition(*this);
@@ -1584,7 +1584,7 @@
SourceLocation(), 0,
FieldTypes[i], /*BitWidth=*/0,
/*Mutable=*/false, /*PrevDecl=*/0);
- ObjCFastEnumerationStateTypeDecl->addDecl(*this, Field, true);
+ ObjCFastEnumerationStateTypeDecl->addDecl(Field);
}
ObjCFastEnumerationStateTypeDecl->completeDefinition(*this);
Modified: cfe/trunk/lib/AST/DeclBase.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/DeclBase.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/AST/DeclBase.cpp (original)
+++ cfe/trunk/lib/AST/DeclBase.cpp Mon Jan 12 17:27:07 2009
@@ -514,7 +514,7 @@
}
}
-void DeclContext::addDecl(ASTContext &Context, ScopedDecl *D, bool AllowLookup) {
+void DeclContext::addDecl(ScopedDecl *D) {
assert(D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context");
assert(!D->NextDeclInScope && D != LastDecl &&
"Decl already inserted into a DeclContext");
@@ -525,8 +525,7 @@
} else {
FirstDecl = LastDecl = D;
}
- if (AllowLookup)
- D->getDeclContext()->insert(Context, D);
+ D->getDeclContext()->insert(D);
}
/// buildLookup - Build the lookup data structure with all of the
@@ -596,10 +595,10 @@
return Ctx;
}
-void DeclContext::insert(ASTContext &Context, ScopedDecl *D) {
+void DeclContext::insert(ScopedDecl *D) {
DeclContext *PrimaryContext = getPrimaryContext();
if (PrimaryContext != this) {
- PrimaryContext->insert(Context, D);
+ PrimaryContext->insert(D);
return;
}
@@ -612,7 +611,7 @@
// If we are a transparent context, insert into our parent context,
// too. This operation is recursive.
if (isTransparentContext())
- getParent()->insert(Context, D);
+ getParent()->insert(D);
}
void DeclContext::insertImpl(ScopedDecl *D) {
Modified: cfe/trunk/lib/CodeGen/CGObjCMac.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGObjCMac.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGObjCMac.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGObjCMac.cpp Mon Jan 12 17:27:07 2009
@@ -2376,14 +2376,10 @@
RecordDecl *RD = RecordDecl::Create(Ctx, TagDecl::TK_struct, 0,
SourceLocation(),
&Ctx.Idents.get("_objc_super"));
- RD->addDecl(Ctx,
- FieldDecl::Create(Ctx, RD, SourceLocation(), 0,
- Ctx.getObjCIdType(), 0, false, 0),
- true);
- RD->addDecl(Ctx,
- FieldDecl::Create(Ctx, RD, SourceLocation(), 0,
- Ctx.getObjCClassType(), 0, false, 0),
- true);
+ RD->addDecl(FieldDecl::Create(Ctx, RD, SourceLocation(), 0,
+ Ctx.getObjCIdType(), 0, false, 0));
+ RD->addDecl(FieldDecl::Create(Ctx, RD, SourceLocation(), 0,
+ Ctx.getObjCClassType(), 0, false, 0));
RD->completeDefinition(Ctx);
SuperCTy = Ctx.getTagDeclType(RD);
Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Mon Jan 12 17:27:07 2009
@@ -106,7 +106,7 @@
// found later. Declarations without a context won't be inserted
// into any context.
if (ScopedDecl *SD = dyn_cast<ScopedDecl>(D))
- CurContext->addDecl(Context, SD);
+ CurContext->addDecl(SD);
// C++ [basic.scope]p4:
// -- exactly one declaration shall declare a class name or
@@ -931,7 +931,7 @@
// definition, the members of the anonymous union are
// considered to have been defined in the scope in which the
// anonymous union is declared.
- Owner->insert(Context, *F);
+ Owner->insert(*F);
S->AddDecl(*F);
IdResolver.AddDecl(*F);
}
@@ -1090,7 +1090,7 @@
// Add the anonymous struct/union object to the current
// context. We'll be referencing this object when we refer to one of
// its members.
- Owner->addDecl(Context, Anon);
+ Owner->addDecl(Anon);
// Inject the members of the anonymous struct/union into the owning
// context and into the identifier resolver chain for name lookup
@@ -3126,7 +3126,7 @@
} else
PushOnScopeChains(New, S);
} else {
- LexicalContext->addDecl(Context, New);
+ LexicalContext->addDecl(New);
}
return New;
@@ -3296,7 +3296,7 @@
if (II) {
PushOnScopeChains(NewFD, S);
} else
- Record->addDecl(Context, NewFD);
+ Record->addDecl(NewFD);
return NewFD;
}
Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Mon Jan 12 17:27:07 2009
@@ -797,7 +797,7 @@
/*isImplicitlyDeclared=*/true);
DefaultCon->setAccess(AS_public);
DefaultCon->setImplicit();
- ClassDecl->addDecl(Context, DefaultCon);
+ ClassDecl->addDecl(DefaultCon);
// Notify the class that we've added a constructor.
ClassDecl->addedConstructor(Context, DefaultCon);
@@ -878,7 +878,7 @@
CopyConstructor->setParams(&FromParam, 1);
ClassDecl->addedConstructor(Context, CopyConstructor);
- ClassDecl->addDecl(Context, CopyConstructor);
+ ClassDecl->addDecl(CopyConstructor);
}
if (!ClassDecl->hasUserDeclaredCopyAssignment()) {
@@ -956,7 +956,7 @@
// Don't call addedAssignmentOperator. There is no way to distinguish an
// implicit from an explicit assignment operator.
- ClassDecl->addDecl(Context, CopyAssignment);
+ ClassDecl->addDecl(CopyAssignment);
}
if (!ClassDecl->hasUserDeclaredDestructor()) {
@@ -975,7 +975,7 @@
/*isImplicitlyDeclared=*/true);
Destructor->setAccess(AS_public);
Destructor->setImplicit();
- ClassDecl->addDecl(Context, Destructor);
+ ClassDecl->addDecl(Destructor);
}
}
@@ -2123,7 +2123,7 @@
LinkageSpecDecl *D = LinkageSpecDecl::Create(Context, CurContext,
LangLoc, Language,
LBraceLoc.isValid());
- CurContext->addDecl(Context, D);
+ CurContext->addDecl(D);
PushDeclContext(S, D);
return D;
}
Modified: cfe/trunk/lib/Sema/SemaDeclObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclObjC.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclObjC.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclObjC.cpp Mon Jan 12 17:27:07 2009
@@ -100,7 +100,7 @@
ObjCInterfaceDecls[ClassName] = IDecl;
// FIXME: PushOnScopeChains
- CurContext->addDecl(Context, IDecl);
+ CurContext->addDecl(IDecl);
// Remember that this needs to be removed when the scope is popped.
TUScope->AddDecl(IDecl);
}
@@ -185,7 +185,7 @@
ObjCAliasDecls[AliasName] = AliasDecl;
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, AliasDecl);
+ CurContext->addDecl(AliasDecl);
if (!CheckObjCDeclScope(AliasDecl))
TUScope->AddDecl(AliasDecl);
@@ -219,7 +219,7 @@
PDecl = ObjCProtocolDecl::Create(Context, CurContext,
AtProtoInterfaceLoc,ProtocolName);
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, PDecl);
+ CurContext->addDecl(PDecl);
PDecl->setForwardDecl(false);
ObjCProtocols[ProtocolName] = PDecl;
}
@@ -444,7 +444,7 @@
PDecl = ObjCProtocolDecl::Create(Context, CurContext,
IdentList[i].second, Ident);
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, PDecl);
+ CurContext->addDecl(PDecl);
}
if (attrList)
ProcessDeclAttributeList(PDecl, attrList);
@@ -454,7 +454,7 @@
ObjCForwardProtocolDecl *PDecl =
ObjCForwardProtocolDecl::Create(Context, CurContext, AtProtocolLoc,
&Protocols[0], Protocols.size());
- CurContext->addDecl(Context, PDecl);
+ CurContext->addDecl(PDecl);
CheckObjCDeclScope(PDecl);
return PDecl;
}
@@ -472,7 +472,7 @@
ObjCCategoryDecl *CDecl =
ObjCCategoryDecl::Create(Context, CurContext, AtInterfaceLoc, CategoryName);
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, CDecl);
+ CurContext->addDecl(CDecl);
CDecl->setClassInterface(IDecl);
/// Check that class of this category is already completely declared.
@@ -519,7 +519,7 @@
Diag(ClassLoc, diag::err_undef_interface) << ClassName;
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, CDecl);
+ CurContext->addDecl(CDecl);
/// TODO: Check that CatName, category name, is not used in another
// implementation.
@@ -585,7 +585,7 @@
IDecl->setLocEnd(ClassLoc);
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, IDecl);
+ CurContext->addDecl(IDecl);
// Remember that this needs to be removed when the scope is popped.
TUScope->AddDecl(IDecl);
}
@@ -595,7 +595,7 @@
ClassName, IDecl, SDecl);
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, IMPDecl);
+ CurContext->addDecl(IMPDecl);
if (CheckObjCDeclScope(IMPDecl))
return IMPDecl;
@@ -938,7 +938,7 @@
ObjCInterfaceDecls[IdentList[i]] = IDecl;
// FIXME: PushOnScopeChains?
- CurContext->addDecl(Context, IDecl);
+ CurContext->addDecl(IDecl);
// Remember that this needs to be removed when the scope is popped.
TUScope->AddDecl(IDecl);
}
@@ -949,7 +949,7 @@
ObjCClassDecl *CDecl = ObjCClassDecl::Create(Context, CurContext, AtClassLoc,
&Interfaces[0],
Interfaces.size());
- CurContext->addDecl(Context, CDecl);
+ CurContext->addDecl(CDecl);
CheckObjCDeclScope(CDecl);
return CDecl;
}
@@ -1114,7 +1114,7 @@
ObjCPropertyDecl::Optional) ?
ObjCMethodDecl::Optional :
ObjCMethodDecl::Required);
- CD->addDecl(Context, GetterMethod);
+ CD->addDecl(GetterMethod);
} else
// A user declared getter will be synthesize when @synthesize of
// the property with the same name is seen in the @implementation
@@ -1145,7 +1145,7 @@
VarDecl::None,
0, 0);
SetterMethod->setMethodParams(&Argument, 1);
- CD->addDecl(Context, SetterMethod);
+ CD->addDecl(SetterMethod);
} else
// A user declared setter will be synthesize when @synthesize of
// the property with the same name is seen in the @implementation
@@ -1210,7 +1210,7 @@
<< Method->getDeclName();
Diag(PrevMethod->getLocation(), diag::note_previous_declaration);
} else {
- DC->addDecl(Context, Method);
+ DC->addDecl(Method);
InsMap[Method->getSelector()] = Method;
/// The following allows us to typecheck messages to "id".
AddInstanceMethodToGlobalPool(Method);
@@ -1227,7 +1227,7 @@
<< Method->getDeclName();
Diag(PrevMethod->getLocation(), diag::note_previous_declaration);
} else {
- DC->addDecl(Context, Method);
+ DC->addDecl(Method);
ClsMap[Method->getSelector()] = Method;
/// The following allows us to typecheck messages to "Class".
AddFactoryMethodToGlobalPool(Method);
@@ -1567,7 +1567,7 @@
assert(DC && "ClassDecl is not a DeclContext");
ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC, AtLoc,
FD.D.getIdentifier(), T);
- DC->addDecl(Context, PDecl);
+ DC->addDecl(PDecl);
// Regardless of setter/getter attribute, we save the default getter/setter
// selector names in anticipation of declaration of setter/getter methods.
@@ -1707,7 +1707,7 @@
ObjCPropertyImplDecl::Synthesize
: ObjCPropertyImplDecl::Dynamic),
Ivar);
- CurContext->addDecl(Context, PIDecl);
+ CurContext->addDecl(PIDecl);
if (IC) {
if (Synthesize)
if (ObjCPropertyImplDecl *PPIDecl =
@@ -1801,7 +1801,7 @@
if (getLangOptions().CPlusPlus)
PushOnScopeChains(cast<FieldDecl>(FD), S);
else if (RecordDecl *Record = dyn_cast<RecordDecl>((Decl*)TagD))
- Record->addDecl(Context, FD);
+ Record->addDecl(FD);
}
}
Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprCXX.cpp?rev=62122&r1=62121&r2=62122&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Mon Jan 12 17:27:07 2009
@@ -540,7 +540,7 @@
// FIXME: Also add this declaration to the IdentifierResolver, but
// make sure it is at the end of the chain to coincide with the
// global scope.
- ((DeclContext *)TUScope->getEntity())->addDecl(Context, Alloc);
+ ((DeclContext *)TUScope->getEntity())->addDecl(Alloc);
}
/// ActOnCXXDelete - Parsed a C++ 'delete' expression (C++ 5.3.5), as in:
More information about the cfe-commits
mailing list