@@ -1051,47 +1051,11 @@ Decl *ModuleFile::resolveCrossReference(Module *M, uint32_t pathLen) {
1051
1051
if (!isType)
1052
1052
pathTrace.addType (filterTy);
1053
1053
1054
- bool retrying = false ;
1055
- retry:
1056
-
1057
1054
M->lookupQualified (ModuleType::get (M), name,
1058
1055
NL_QualifiedDefault | NL_KnownNoDependency,
1059
1056
/* typeResolver=*/ nullptr , values);
1060
1057
filterValues (filterTy, nullptr , nullptr , isType, inProtocolExt, None,
1061
1058
values);
1062
-
1063
- // HACK HACK HACK: Omit-needless-words hack to try to cope with
1064
- // the "NS" prefix being added/removed. No "real" compiler mode
1065
- // has to go through this path: a Swift 2 compiler will have the
1066
- // prefix, while a Swift 3 compiler will not have the
1067
- // prefix. However, one can set OmitNeedlessWords in a Swift 2
1068
- // compiler to get API dumps and perform basic testing; this hack
1069
- // keeps that working.
1070
- if (values.empty () && !retrying &&
1071
- getContext ().LangOpts .OmitNeedlessWords &&
1072
- (M->getName ().str () == " ObjectiveC" ||
1073
- M->getName ().str () == " Foundation" )) {
1074
- if (name.str ().startswith (" NS" )) {
1075
- if (name.str ().size () > 2 && name.str () != " NSCocoaError" ) {
1076
- auto known = getKnownFoundationEntity (name.str ());
1077
- if (!known || !nameConflictsWithStandardLibrary (*known)) {
1078
- // FIXME: lowercasing magic for non-types.
1079
- name = getContext ().getIdentifier (name.str ().substr (2 ));
1080
- retrying = true ;
1081
- goto retry;
1082
- }
1083
- }
1084
- } else {
1085
- SmallString<16 > buffer;
1086
- buffer += " NS" ;
1087
- buffer += name.str ();
1088
- // FIXME: Try uppercasing for non-types.
1089
- name = getContext ().getIdentifier (buffer);
1090
- retrying = true ;
1091
- goto retry;
1092
- }
1093
- }
1094
-
1095
1059
break ;
1096
1060
}
1097
1061
0 commit comments