r197626 - Use getAsCXXRecordDecl to shorten some gets and casts
Reid Kleckner
reid at kleckner.net
Wed Dec 18 15:17:05 PST 2013
Author: rnk
Date: Wed Dec 18 17:17:05 2013
New Revision: 197626
URL: http://llvm.org/viewvc/llvm-project?rev=197626&view=rev
Log:
Use getAsCXXRecordDecl to shorten some gets and casts
Modified:
cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
Modified: cfe/trunk/lib/AST/RecordLayoutBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/RecordLayoutBuilder.cpp?rev=197626&r1=197625&r2=197626&view=diff
==============================================================================
--- cfe/trunk/lib/AST/RecordLayoutBuilder.cpp (original)
+++ cfe/trunk/lib/AST/RecordLayoutBuilder.cpp Wed Dec 18 17:17:05 2013
@@ -1040,8 +1040,7 @@ RecordLayoutBuilder::LayoutNonVirtualBas
if (I->isVirtual())
continue;
- const CXXRecordDecl *BaseDecl =
- cast<CXXRecordDecl>(I->getType()->castAs<RecordType>()->getDecl());
+ const CXXRecordDecl *BaseDecl = I->getType()->getAsCXXRecordDecl();
// Skip the primary base, because we've already laid it out. The
// !PrimaryBaseIsVirtual check is required because we might have a
@@ -1123,8 +1122,7 @@ RecordLayoutBuilder::LayoutVirtualBases(
assert(!I->getType()->isDependentType() &&
"Cannot layout class with dependent bases.");
- const CXXRecordDecl *BaseDecl =
- cast<CXXRecordDecl>(I->getType()->castAs<RecordType>()->getDecl());
+ const CXXRecordDecl *BaseDecl = I->getType()->getAsCXXRecordDecl();
if (I->isVirtual()) {
if (PrimaryBase != BaseDecl || !PrimaryBaseIsVirtual) {
@@ -2345,8 +2343,7 @@ MicrosoftRecordLayoutBuilder::layoutNonV
i != e; ++i) {
if (i->isVirtual())
continue;
- const CXXRecordDecl *BaseDecl =
- cast<CXXRecordDecl>(i->getType()->castAs<RecordType>()->getDecl());
+ const CXXRecordDecl *BaseDecl = i->getType()->getAsCXXRecordDecl();
if (BaseDecl == PrimaryBase)
continue;
const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
@@ -2532,8 +2529,7 @@ void MicrosoftRecordLayoutBuilder::layou
for (CXXRecordDecl::base_class_const_iterator i = RD->vbases_begin(),
e = RD->vbases_end();
i != e; ++i) {
- const CXXRecordDecl *BaseDecl =
- cast<CXXRecordDecl>(i->getType()->getAs<RecordType>()->getDecl());
+ const CXXRecordDecl *BaseDecl = i->getType()->getAsCXXRecordDecl();
const ASTRecordLayout &Layout = Context.getASTRecordLayout(BaseDecl);
updateAlignment(getBaseAlignment(Layout));
}
@@ -2546,8 +2542,7 @@ void MicrosoftRecordLayoutBuilder::layou
for (CXXRecordDecl::base_class_const_iterator i = RD->vbases_begin(),
e = RD->vbases_end();
i != e; ++i) {
- const CXXRecordDecl *BaseDecl =
- cast<CXXRecordDecl>(i->getType()->castAs<RecordType>()->getDecl());
+ const CXXRecordDecl *BaseDecl = i->getType()->getAsCXXRecordDecl();
// If the last field we laid out was a non-zero length bitfield then add
// some extra padding for no obvious reason.
if (LastFieldIsNonZeroWidthBitfield)
More information about the cfe-commits
mailing list