@@ -23,8 +23,8 @@ TEST(TypeMatch, IdenticalTypes) {
23
23
TestContext C;
24
24
25
25
auto check = [](Type ty) {
26
- return ty->matches (ty, TypeMatchOptions (), /* resolver */ nullptr ) &&
27
- ty->matches (ty, TypeMatchFlags::AllowOverride, /* resolver */ nullptr );
26
+ return ty->matches (ty, TypeMatchOptions ()) &&
27
+ ty->matches (ty, TypeMatchFlags::AllowOverride);
28
28
};
29
29
30
30
EXPECT_TRUE (check (C.Ctx .TheEmptyTupleType ));
@@ -50,9 +50,8 @@ TEST(TypeMatch, UnrelatedTypes) {
50
50
TestContext C;
51
51
52
52
auto check = [](Type base, Type derived) {
53
- return derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr ) &&
54
- derived->matches (base, TypeMatchFlags::AllowOverride,
55
- /* resolver*/ nullptr );
53
+ return derived->matches (base, TypeMatchOptions ()) &&
54
+ derived->matches (base, TypeMatchFlags::AllowOverride);
56
55
};
57
56
58
57
EXPECT_FALSE (check (C.Ctx .TheEmptyTupleType , C.Ctx .TheRawPointerType ));
@@ -102,9 +101,8 @@ TEST(TypeMatch, Classes) {
102
101
TestContext C;
103
102
104
103
auto check = [](Type base, Type derived) {
105
- return derived->matches (base, TypeMatchFlags::AllowOverride,
106
- /* resolver*/ nullptr ) &&
107
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
104
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
105
+ !derived->matches (base, TypeMatchOptions ());
108
106
};
109
107
110
108
auto *baseClass = C.makeNominal <ClassDecl>(" Base" );
@@ -144,9 +142,8 @@ TEST(TypeMatch, Optionals) {
144
142
TestContext C{DeclareOptionalTypes};
145
143
146
144
auto check = [](Type base, Type derived) {
147
- return derived->matches (base, TypeMatchFlags::AllowOverride,
148
- /* resolver*/ nullptr ) &&
149
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
145
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
146
+ !derived->matches (base, TypeMatchOptions ());
150
147
};
151
148
152
149
auto *baseClass = C.makeNominal <ClassDecl>(" Base" );
@@ -176,18 +173,16 @@ TEST(TypeMatch, IUONearMatch) {
176
173
TestContext C{DeclareOptionalTypes};
177
174
178
175
auto check = [](Type base, Type derived) {
179
- return derived->matches (base, TypeMatchFlags::AllowOverride,
180
- /* resolver*/ nullptr ) &&
181
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
176
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
177
+ !derived->matches (base, TypeMatchOptions ());
182
178
};
183
179
auto checkIUO = [](Type base, Type derived) {
184
- return derived->matches (base, TypeMatchFlags::AllowNonOptionalForIUOParam,
185
- /* resolver*/ nullptr );
180
+ return derived->matches (base, TypeMatchFlags::AllowNonOptionalForIUOParam);
186
181
};
187
182
auto checkIUOOverride = [](Type base, Type derived) {
188
183
TypeMatchOptions matchMode = TypeMatchFlags::AllowOverride;
189
184
matchMode |= TypeMatchFlags::AllowNonOptionalForIUOParam;
190
- return derived->matches (base, matchMode, /* resolver */ nullptr );
185
+ return derived->matches (base, matchMode);
191
186
};
192
187
193
188
auto *baseClass = C.makeNominal <ClassDecl>(" Base" );
@@ -253,18 +248,17 @@ TEST(TypeMatch, OptionalMismatch) {
253
248
TestContext C{DeclareOptionalTypes};
254
249
255
250
auto check = [](Type base, Type derived) {
256
- return derived->matches (base, TypeMatchFlags::AllowOverride,
257
- /* resolver*/ nullptr ) &&
258
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
251
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
252
+ !derived->matches (base, TypeMatchOptions ());
259
253
};
260
254
auto checkOpt = [](Type base, Type derived) {
261
- return derived->matches (base, TypeMatchFlags::AllowTopLevelOptionalMismatch,
262
- /* resolver */ nullptr );
255
+ return derived->matches (base,
256
+ TypeMatchFlags::AllowTopLevelOptionalMismatch );
263
257
};
264
258
auto checkOptOverride = [](Type base, Type derived) {
265
259
TypeMatchOptions matchMode = TypeMatchFlags::AllowOverride;
266
260
matchMode |= TypeMatchFlags::AllowTopLevelOptionalMismatch;
267
- return derived->matches (base, matchMode, /* resolver */ nullptr );
261
+ return derived->matches (base, matchMode);
268
262
};
269
263
270
264
auto *baseClass = C.makeNominal <ClassDecl>(" Base" );
@@ -328,9 +322,8 @@ TEST(TypeMatch, OptionalMismatchTuples) {
328
322
TestContext C{DeclareOptionalTypes};
329
323
330
324
auto checkOverride = [](Type base, Type derived) {
331
- return derived->matches (base, TypeMatchFlags::AllowOverride,
332
- /* resolver*/ nullptr ) &&
333
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
325
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
326
+ !derived->matches (base, TypeMatchOptions ());
334
327
};
335
328
336
329
auto *baseClass = C.makeNominal <ClassDecl>(" Base" );
@@ -359,8 +352,8 @@ TEST(TypeMatch, OptionalMismatchTuples) {
359
352
EXPECT_FALSE (checkOverride (optBaseTuple, baseOptTuple));
360
353
361
354
auto checkOpt = [](Type base, Type derived) {
362
- return derived->matches (base, TypeMatchFlags::AllowTopLevelOptionalMismatch,
363
- /* resolver */ nullptr );
355
+ return derived->matches (base,
356
+ TypeMatchFlags::AllowTopLevelOptionalMismatch );
364
357
};
365
358
366
359
EXPECT_TRUE (checkOpt (baseBaseTuple, optOptTuple));
@@ -390,13 +383,12 @@ TEST(TypeMatch, OptionalMismatchFunctions) {
390
383
TestContext C{DeclareOptionalTypes};
391
384
392
385
auto checkOverride = [](Type base, Type derived) {
393
- return derived->matches (base, TypeMatchFlags::AllowOverride,
394
- /* resolver*/ nullptr ) &&
395
- !derived->matches (base, TypeMatchOptions (), /* resolver*/ nullptr );
386
+ return derived->matches (base, TypeMatchFlags::AllowOverride) &&
387
+ !derived->matches (base, TypeMatchOptions ());
396
388
};
397
389
auto checkOpt = [](Type base, Type derived) {
398
- return derived->matches (base, TypeMatchFlags::AllowTopLevelOptionalMismatch,
399
- /* resolver */ nullptr );
390
+ return derived->matches (base,
391
+ TypeMatchFlags::AllowTopLevelOptionalMismatch );
400
392
};
401
393
402
394
Type voidToVoid = FunctionType::get (C.Ctx .TheEmptyTupleType ,
@@ -414,14 +406,12 @@ TEST(TypeMatch, NoEscapeMismatchFunctions) {
414
406
// Note the reversed names here: parameters must be contravariant for the
415
407
// functions that take them to be covariant.
416
408
auto checkOverride = [](Type paramOfDerived, Type paramOfBase) {
417
- return paramOfBase->matches (paramOfDerived, TypeMatchFlags::AllowOverride,
418
- /* resolver*/ nullptr );
409
+ return paramOfBase->matches (paramOfDerived, TypeMatchFlags::AllowOverride);
419
410
};
420
411
auto checkMismatch = [](Type paramOfDerived, Type paramOfBase) {
421
412
return paramOfBase->matches (
422
413
paramOfDerived,
423
- TypeMatchFlags::IgnoreNonEscapingForOptionalFunctionParam,
424
- /* resolver*/ nullptr );
414
+ TypeMatchFlags::IgnoreNonEscapingForOptionalFunctionParam);
425
415
};
426
416
427
417
Type voidToVoidFn = FunctionType::get (C.Ctx .TheEmptyTupleType ,
0 commit comments