@@ -128,6 +128,24 @@ class ObjCBuiltInFunctions {
128128 static const builtInProtocols = {
129129 'NSStreamDelegate' ,
130130 };
131+ @visibleForTesting
132+ static const builtInCategories = {
133+ 'NSDataCreation' ,
134+ 'NSExtendedArray' ,
135+ 'NSExtendedData' ,
136+ 'NSExtendedDate' ,
137+ 'NSExtendedDictionary' ,
138+ 'NSExtendedEnumerator' ,
139+ 'NSExtendedMutableArray' ,
140+ 'NSExtendedMutableData' ,
141+ 'NSExtendedMutableDictionary' ,
142+ 'NSExtendedMutableOrderedSet' ,
143+ 'NSExtendedMutableSet' ,
144+ 'NSExtendedOrderedSet' ,
145+ 'NSExtendedSet' ,
146+ 'NSNumberCreation' ,
147+ 'NSStringExtensionMethods' ,
148+ };
131149
132150 // TODO(https://github.com/dart-lang/native/issues/1173): Ideally this check
133151 // would be based on more than just the name.
@@ -139,6 +157,8 @@ class ObjCBuiltInFunctions {
139157 ! generateForPackageObjectiveC && builtInEnums.contains (name);
140158 bool isBuiltInProtocol (String name) =>
141159 ! generateForPackageObjectiveC && builtInProtocols.contains (name);
160+ bool isBuiltInCategory (String name) =>
161+ ! generateForPackageObjectiveC && builtInCategories.contains (name);
142162 static bool isNSObject (String name) => name == 'NSObject' ;
143163
144164 // We need to load a separate instance of objc_msgSend for each signature. If
0 commit comments