Skip to content

Commit 9de1221

Browse files
committed
[FOLD] remove BuildMemberExpr overload
1 parent 6ea7f9d commit 9de1221

File tree

2 files changed

+18
-34
lines changed

2 files changed

+18
-34
lines changed

clang/include/clang/Sema/Sema.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6978,12 +6978,6 @@ class Sema final : public SemaBase {
69786978
SourceLocation TemplateKWLoc,
69796979
UnqualifiedId &Member, Decl *ObjCImpDecl);
69806980

6981-
MemberExpr *BuildMemberExpr(
6982-
Expr *Base, bool IsArrow, SourceLocation OpLoc, const CXXScopeSpec *SS,
6983-
SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl,
6984-
bool HadMultipleCandidates, const DeclarationNameInfo &MemberNameInfo,
6985-
QualType Ty, ExprValueKind VK, ExprObjectKind OK,
6986-
const TemplateArgumentListInfo *TemplateArgs = nullptr);
69876981
MemberExpr *
69886982
BuildMemberExpr(Expr *Base, bool IsArrow, SourceLocation OpLoc,
69896983
NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc,

clang/lib/Sema/SemaExprMember.cpp

Lines changed: 18 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -938,19 +938,6 @@ BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
938938
NameInfo.getLoc());
939939
}
940940

941-
MemberExpr *Sema::BuildMemberExpr(
942-
Expr *Base, bool IsArrow, SourceLocation OpLoc, const CXXScopeSpec *SS,
943-
SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl,
944-
bool HadMultipleCandidates, const DeclarationNameInfo &MemberNameInfo,
945-
QualType Ty, ExprValueKind VK, ExprObjectKind OK,
946-
const TemplateArgumentListInfo *TemplateArgs) {
947-
NestedNameSpecifierLoc NNS =
948-
SS ? SS->getWithLocInContext(Context) : NestedNameSpecifierLoc();
949-
return BuildMemberExpr(Base, IsArrow, OpLoc, NNS, TemplateKWLoc, Member,
950-
FoundDecl, HadMultipleCandidates, MemberNameInfo, Ty,
951-
VK, OK, TemplateArgs);
952-
}
953-
954941
MemberExpr *Sema::BuildMemberExpr(
955942
Expr *Base, bool IsArrow, SourceLocation OpLoc, NestedNameSpecifierLoc NNS,
956943
SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl,
@@ -1168,7 +1155,8 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
11681155
OpLoc);
11691156

11701157
if (VarDecl *Var = dyn_cast<VarDecl>(MemberDecl)) {
1171-
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc, &SS, TemplateKWLoc, Var,
1158+
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1159+
SS.getWithLocInContext(Context), TemplateKWLoc, Var,
11721160
FoundDecl, /*HadMultipleCandidates=*/false,
11731161
MemberNameInfo, Var->getType().getNonReferenceType(),
11741162
VK_LValue, OK_Ordinary);
@@ -1185,17 +1173,18 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
11851173
type = MemberFn->getType();
11861174
}
11871175

1188-
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc, &SS, TemplateKWLoc,
1176+
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1177+
SS.getWithLocInContext(Context), TemplateKWLoc,
11891178
MemberFn, FoundDecl, /*HadMultipleCandidates=*/false,
11901179
MemberNameInfo, type, valueKind, OK_Ordinary);
11911180
}
11921181
assert(!isa<FunctionDecl>(MemberDecl) && "member function not C++ method?");
11931182

11941183
if (EnumConstantDecl *Enum = dyn_cast<EnumConstantDecl>(MemberDecl)) {
1195-
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc, &SS, TemplateKWLoc, Enum,
1196-
FoundDecl, /*HadMultipleCandidates=*/false,
1197-
MemberNameInfo, Enum->getType(), VK_PRValue,
1198-
OK_Ordinary);
1184+
return BuildMemberExpr(
1185+
BaseExpr, IsArrow, OpLoc, SS.getWithLocInContext(Context),
1186+
TemplateKWLoc, Enum, FoundDecl, /*HadMultipleCandidates=*/false,
1187+
MemberNameInfo, Enum->getType(), VK_PRValue, OK_Ordinary);
11991188
}
12001189

12011190
if (VarTemplateDecl *VarTempl = dyn_cast<VarTemplateDecl>(MemberDecl)) {
@@ -1219,7 +1208,8 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
12191208
if (!Var->getTemplateSpecializationKind())
12201209
Var->setTemplateSpecializationKind(TSK_ImplicitInstantiation, MemberLoc);
12211210

1222-
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc, &SS, TemplateKWLoc, Var,
1211+
return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1212+
SS.getWithLocInContext(Context), TemplateKWLoc, Var,
12231213
FoundDecl, /*HadMultipleCandidates=*/false,
12241214
MemberNameInfo, Var->getType().getNonReferenceType(),
12251215
VK_LValue, OK_Ordinary, TemplateArgs);
@@ -1323,11 +1313,11 @@ static ExprResult LookupMemberExpr(Sema &S, LookupResult &R,
13231313
if (IsArrow) {
13241314
if (const PointerType *Ptr = BaseType->getAs<PointerType>())
13251315
BaseType = Ptr->getPointeeType();
1316+
else if (const ObjCObjectPointerType *Ptr =
1317+
BaseType->getAs<ObjCObjectPointerType>())
1318+
BaseType = Ptr->getPointeeType();
13261319
else if (!BaseType->isDependentType()) {
1327-
if (const ObjCObjectPointerType *Ptr =
1328-
BaseType->getAs<ObjCObjectPointerType>())
1329-
BaseType = Ptr->getPointeeType();
1330-
else if (BaseType->isRecordType()) {
1320+
if (BaseType->isRecordType()) {
13311321
// Recover from arrow accesses to records, e.g.:
13321322
// struct MyRecord foo;
13331323
// foo->bar
@@ -1924,10 +1914,10 @@ Sema::BuildFieldReferenceExpr(Expr *BaseExpr, bool IsArrow,
19241914
}
19251915
}
19261916

1927-
return BuildMemberExpr(Base.get(), IsArrow, OpLoc, &SS,
1928-
/*TemplateKWLoc=*/SourceLocation(), Field, FoundDecl,
1929-
/*HadMultipleCandidates=*/false, MemberNameInfo,
1930-
MemberType, VK, OK);
1917+
return BuildMemberExpr(
1918+
Base.get(), IsArrow, OpLoc, SS.getWithLocInContext(Context),
1919+
/*TemplateKWLoc=*/SourceLocation(), Field, FoundDecl,
1920+
/*HadMultipleCandidates=*/false, MemberNameInfo, MemberType, VK, OK);
19311921
}
19321922

19331923
/// Builds an implicit member access expression. The current context

0 commit comments

Comments
 (0)