Skip to content

Commit 1cab5a7

Browse files
committed
[Type checker] Tighten up override check for NSObject.hashValue.
1 parent cc4c992 commit 1cab5a7

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

lib/Sema/TypeCheckDeclOverride.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1524,8 +1524,10 @@ static bool checkSingleOverride(ValueDecl *override, ValueDecl *base) {
15241524
if (auto baseVar = dyn_cast<VarDecl>(base)) {
15251525
if (auto classDecl =
15261526
baseVar->getDeclContext()->getAsClassOrClassExtensionContext()) {
1527-
if (classDecl->getBaseName().userFacingName() == "NSObject" &&
1528-
baseVar->getBaseName().userFacingName() == "hashValue") {
1527+
if (baseVar->getName() == ctx.Id_hashValue &&
1528+
classDecl->getName().is("NSObject") &&
1529+
(classDecl->getModuleContext()->getName().is("ObjectiveC") ||
1530+
classDecl->getModuleContext()->getName().is("Foundation"))) {
15291531
override->diagnose(diag::override_nsobject_hashvalue);
15301532
}
15311533
}

0 commit comments

Comments
 (0)