Remove getFirstDeclaration/getLatestDeclaration from FunctionDecl and VarDecl.

Their usefulness is questionable since redecl_iterator was introduced.

llvm-svn: 76275
This commit is contained in:
Argyrios Kyrtzidis 2009-07-18 00:34:35 +00:00
parent 6b7e376160
commit 91ff94d6d9
2 changed files with 4 additions and 48 deletions

View File

@ -422,21 +422,6 @@ public:
void setPreviousDeclaration(VarDecl *PrevDecl);
/// \brief For multiple redeclarations returns the first one, otherwise
/// returns itself.
VarDecl *getFirstDeclaration();
const VarDecl *getFirstDeclaration() const {
return const_cast<VarDecl *>(this)->getFirstDeclaration();
}
/// \brief For multiple redeclarations returns the latest, otherwise
/// returns itself.
const VarDecl *getLatestDeclaration() const {
const VarDecl *First = getFirstDeclaration();
assert(First->PreviousDeclaration.getInt() == 1 && "Expected first");
return First->PreviousDeclaration.getPointer();
}
virtual VarDecl *getCanonicalDecl();
/// \brief Iterates through all the redeclarations of the same var decl.
@ -891,21 +876,6 @@ public:
return const_cast<FunctionDecl *>(this)->getPreviousDeclaration();
}
/// \brief For multiple redeclarations returns the first one, otherwise
/// returns itself.
FunctionDecl *getFirstDeclaration();
const FunctionDecl *getFirstDeclaration() const {
return const_cast<FunctionDecl *>(this)->getFirstDeclaration();
}
/// \brief For multiple redeclarations returns the latest, otherwise
/// returns itself.
const FunctionDecl *getLatestDeclaration() const {
const FunctionDecl *First = getFirstDeclaration();
assert(First->PreviousDeclaration.getInt() == 1 && "Expected first");
return First->PreviousDeclaration.getPointer();
}
void setPreviousDeclaration(FunctionDecl * PrevDecl);
virtual FunctionDecl *getCanonicalDecl();

View File

@ -369,7 +369,8 @@ void VarDecl::setPreviousDeclaration(VarDecl *PrevDecl) {
PreviousDeclaration.setInt(0);
// First one will point to this one as latest.
VarDecl *First = PrevDecl->getFirstDeclaration();
// getCanonicalDecl returns the first one.
VarDecl *First = PrevDecl->getCanonicalDecl();
assert(First->PreviousDeclaration.getInt() == 1 && "Expected first");
First->PreviousDeclaration.setPointer(this);
} else {
@ -379,14 +380,6 @@ void VarDecl::setPreviousDeclaration(VarDecl *PrevDecl) {
}
}
VarDecl *VarDecl::getFirstDeclaration() {
VarDecl *First = this;
while (First->getPreviousDeclaration())
First = First->getPreviousDeclaration();
return First;
}
VarDecl *VarDecl::getCanonicalDecl() {
VarDecl *Var = this;
while (Var->getPreviousDeclaration())
@ -599,7 +592,8 @@ FunctionDecl::setPreviousDeclaration(FunctionDecl *PrevDecl) {
PreviousDeclaration.setInt(0);
// First one will point to this one as latest.
FunctionDecl *First = PrevDecl->getFirstDeclaration();
// getCanonicalDecl returns the first one.
FunctionDecl *First = PrevDecl->getCanonicalDecl();
assert(First->PreviousDeclaration.getInt() == 1 && "Expected first");
First->PreviousDeclaration.setPointer(this);
} else {
@ -616,14 +610,6 @@ FunctionDecl::setPreviousDeclaration(FunctionDecl *PrevDecl) {
}
}
FunctionDecl *FunctionDecl::getFirstDeclaration() {
FunctionDecl *First = this;
while (First->getPreviousDeclaration())
First = First->getPreviousDeclaration();
return First;
}
FunctionDecl *FunctionDecl::getCanonicalDecl() {
FunctionDecl *FD = this;
while (FD->getPreviousDeclaration())