Skip to content

Commit ea15161

Browse files
committed
code review
1 parent cd3601a commit ea15161

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

clang-tools-extra/clangd/unittests/RenameTests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2483,7 +2483,7 @@ TEST(RenameTest, RenameWithExplicitObjectPararameter) {
24832483
return self.[[memb^er]];
24842484
}
24852485
int normal() {
2486-
return [[memb^er]];
2486+
return this->[[mem^ber]] + [[memb^er]];
24872487
}
24882488
};
24892489
)cpp"};

clang/lib/Sema/HeuristicResolver.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -321,12 +321,14 @@ std::vector<const NamedDecl *> HeuristicResolverImpl::resolveMemberExpr(
321321
// Try resolving the member inside the expression's base type.
322322
Expr *Base = ME->isImplicitAccess() ? nullptr : ME->getBase();
323323
QualType BaseType = ME->getBaseType();
324+
BaseType = simplifyType(BaseType, Base, ME->isArrow());
324325

325-
if (auto Type = ExplicitMemberHeuristic(Base); !Type.isNull()) {
326-
BaseType = Type;
326+
if (BaseType->isUndeducedAutoType() || BaseType->isTemplateTypeParmType()) {
327+
if (auto Type = ExplicitMemberHeuristic(Base); !Type.isNull()) {
328+
BaseType = Type;
329+
}
327330
}
328331

329-
BaseType = simplifyType(BaseType, Base, ME->isArrow());
330332
return resolveDependentMember(BaseType, ME->getMember(), NoFilter);
331333
}
332334

0 commit comments

Comments
 (0)