@@ -86,12 +86,12 @@ const Expr *Expr::skipRValueSubobjectAdjustments(
86
86
while (true ) {
87
87
E = E->IgnoreParens ();
88
88
89
- if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
89
+ if (const auto *CE = dyn_cast<CastExpr>(E)) {
90
90
if ((CE->getCastKind () == CK_DerivedToBase ||
91
91
CE->getCastKind () == CK_UncheckedDerivedToBase) &&
92
92
E->getType ()->isRecordType ()) {
93
93
E = CE->getSubExpr ();
94
- auto *Derived =
94
+ const auto *Derived =
95
95
cast<CXXRecordDecl>(E->getType ()->castAs <RecordType>()->getDecl ());
96
96
Adjustments.push_back (SubobjectAdjustment (CE, Derived));
97
97
continue ;
@@ -101,23 +101,22 @@ const Expr *Expr::skipRValueSubobjectAdjustments(
101
101
E = CE->getSubExpr ();
102
102
continue ;
103
103
}
104
- } else if (const MemberExpr *ME = dyn_cast<MemberExpr>(E)) {
104
+ } else if (const auto *ME = dyn_cast<MemberExpr>(E)) {
105
105
if (!ME->isArrow ()) {
106
106
assert (ME->getBase ()->getType ()->isRecordType ());
107
- if (FieldDecl *Field = dyn_cast<FieldDecl>(ME->getMemberDecl ())) {
107
+ if (const auto *Field = dyn_cast<FieldDecl>(ME->getMemberDecl ())) {
108
108
if (!Field->isBitField () && !Field->getType ()->isReferenceType ()) {
109
109
E = ME->getBase ();
110
110
Adjustments.push_back (SubobjectAdjustment (Field));
111
111
continue ;
112
112
}
113
113
}
114
114
}
115
- } else if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
115
+ } else if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
116
116
if (BO->getOpcode () == BO_PtrMemD) {
117
117
assert (BO->getRHS ()->isPRValue ());
118
118
E = BO->getLHS ();
119
- const MemberPointerType *MPT =
120
- BO->getRHS ()->getType ()->getAs <MemberPointerType>();
119
+ const auto *MPT = BO->getRHS ()->getType ()->getAs <MemberPointerType>();
121
120
Adjustments.push_back (SubobjectAdjustment (MPT, BO->getRHS ()));
122
121
continue ;
123
122
}
0 commit comments