@@ -128,6 +128,24 @@ class ObjCBuiltInFunctions {
128
128
static const builtInProtocols = {
129
129
'NSStreamDelegate' ,
130
130
};
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
+ };
131
149
132
150
// TODO(https://github.com/dart-lang/native/issues/1173): Ideally this check
133
151
// would be based on more than just the name.
@@ -139,6 +157,8 @@ class ObjCBuiltInFunctions {
139
157
! generateForPackageObjectiveC && builtInEnums.contains (name);
140
158
bool isBuiltInProtocol (String name) =>
141
159
! generateForPackageObjectiveC && builtInProtocols.contains (name);
160
+ bool isBuiltInCategory (String name) =>
161
+ ! generateForPackageObjectiveC && builtInCategories.contains (name);
142
162
static bool isNSObject (String name) => name == 'NSObject' ;
143
163
144
164
// We need to load a separate instance of objc_msgSend for each signature. If
0 commit comments