Skip to content

Commit 5877949

Browse files
committed
[clang][AST][NFC] Make FieldDecl in SubobjectAdjustment const
1 parent 3df262f commit 5877949

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

clang/include/clang/AST/Expr.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ struct SubobjectAdjustment {
8282

8383
union {
8484
struct DTB DerivedToBase;
85-
FieldDecl *Field;
85+
const FieldDecl *Field;
8686
struct P Ptr;
8787
};
8888

@@ -93,8 +93,7 @@ struct SubobjectAdjustment {
9393
DerivedToBase.DerivedClass = DerivedClass;
9494
}
9595

96-
SubobjectAdjustment(FieldDecl *Field)
97-
: Kind(FieldAdjustment) {
96+
SubobjectAdjustment(const FieldDecl *Field) : Kind(FieldAdjustment) {
9897
this->Field = Field;
9998
}
10099

clang/lib/AST/Expr.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ const Expr *Expr::skipRValueSubobjectAdjustments(
8686
while (true) {
8787
E = E->IgnoreParens();
8888

89-
if (const CastExpr *CE = dyn_cast<CastExpr>(E)) {
89+
if (const auto *CE = dyn_cast<CastExpr>(E)) {
9090
if ((CE->getCastKind() == CK_DerivedToBase ||
9191
CE->getCastKind() == CK_UncheckedDerivedToBase) &&
9292
E->getType()->isRecordType()) {
9393
E = CE->getSubExpr();
94-
auto *Derived =
94+
const auto *Derived =
9595
cast<CXXRecordDecl>(E->getType()->castAs<RecordType>()->getDecl());
9696
Adjustments.push_back(SubobjectAdjustment(CE, Derived));
9797
continue;
@@ -101,23 +101,22 @@ const Expr *Expr::skipRValueSubobjectAdjustments(
101101
E = CE->getSubExpr();
102102
continue;
103103
}
104-
} else if (const MemberExpr *ME = dyn_cast<MemberExpr>(E)) {
104+
} else if (const auto *ME = dyn_cast<MemberExpr>(E)) {
105105
if (!ME->isArrow()) {
106106
assert(ME->getBase()->getType()->isRecordType());
107-
if (FieldDecl *Field = dyn_cast<FieldDecl>(ME->getMemberDecl())) {
107+
if (const auto *Field = dyn_cast<FieldDecl>(ME->getMemberDecl())) {
108108
if (!Field->isBitField() && !Field->getType()->isReferenceType()) {
109109
E = ME->getBase();
110110
Adjustments.push_back(SubobjectAdjustment(Field));
111111
continue;
112112
}
113113
}
114114
}
115-
} else if (const BinaryOperator *BO = dyn_cast<BinaryOperator>(E)) {
115+
} else if (const auto *BO = dyn_cast<BinaryOperator>(E)) {
116116
if (BO->getOpcode() == BO_PtrMemD) {
117117
assert(BO->getRHS()->isPRValue());
118118
E = BO->getLHS();
119-
const MemberPointerType *MPT =
120-
BO->getRHS()->getType()->getAs<MemberPointerType>();
119+
const auto *MPT = BO->getRHS()->getType()->getAs<MemberPointerType>();
121120
Adjustments.push_back(SubobjectAdjustment(MPT, BO->getRHS()));
122121
continue;
123122
}

0 commit comments

Comments
 (0)