@@ -346,79 +346,130 @@ void f() {
346346 );
347347 }
348348
349- test_typeAlias_asParameter_Never_none () async {
349+ test_typeAlias_asParameterType_interfaceType_none () async {
350350 await assertNoErrorsInCode (r'''
351- typedef X = Never ;
352- void f(X a, X? b) {}
351+ typedef X<T> = Map<int, T> ;
352+ void f(X<String> a, X<String?> b) {}
353353''' );
354354
355355 assertTypeName (
356- findNode.typeName ('X a ' ),
356+ findNode.typeName ('X<String> ' ),
357357 findElement.typeAlias ('X' ),
358- 'Never ' ,
358+ 'Map<int, String> ' ,
359359 );
360360
361361 assertTypeName (
362- findNode.typeName ('X? b ' ),
362+ findNode.typeName ('X<String?> ' ),
363363 findElement.typeAlias ('X' ),
364- 'Never? ' ,
364+ 'Map<int, String?> ' ,
365365 );
366366 }
367367
368- test_typeAlias_asParameter_Never_question () async {
368+ test_typeAlias_asParameterType_interfaceType_none_inLegacy () async {
369+ newFile ('$testPackageLibPath /a.dart' , content: r'''
370+ typedef X<T> = Map<int, T>;
371+ ''' );
369372 await assertNoErrorsInCode (r'''
370- typedef X = Never?;
371- void f(X a, X? b) {}
373+ // @dart = 2.9
374+ import 'a.dart';
375+ void f(X<String> a) {}
372376''' );
373377
374378 assertTypeName (
375- findNode.typeName ('X a' ),
379+ findNode.typeName ('X<String>' ),
380+ findElement.importFind ('package:test/a.dart' ).typeAlias ('X' ),
381+ 'Map<int*, String*>*' ,
382+ );
383+ }
384+
385+ test_typeAlias_asParameterType_interfaceType_question () async {
386+ await assertNoErrorsInCode (r'''
387+ typedef X<T> = List<T?>;
388+ void f(X<int> a, X<int?> b) {}
389+ ''' );
390+
391+ assertTypeName (
392+ findNode.typeName ('X<int>' ),
376393 findElement.typeAlias ('X' ),
377- 'Never? ' ,
394+ 'List<int?> ' ,
378395 );
379396
380397 assertTypeName (
381- findNode.typeName ('X? b ' ),
398+ findNode.typeName ('X<int?> ' ),
382399 findElement.typeAlias ('X' ),
383- 'Never? ' ,
400+ 'List<int?> ' ,
384401 );
385402 }
386403
387- test_typeAlias_asParameterType_interfaceType_none () async {
404+ test_typeAlias_asParameterType_interfaceType_question_inLegacy () async {
405+ newFile ('$testPackageLibPath /a.dart' , content: r'''
406+ typedef X<T> = List<T?>;
407+ ''' );
388408 await assertNoErrorsInCode (r'''
389- typedef X<T> = Map<int, T>;
390- void f(X<String> a, X<String?> b) {}
409+ // @dart = 2.9
410+ import 'a.dart';
411+ void f(X<int> a) {}
391412''' );
392413
393414 assertTypeName (
394- findNode.typeName ('X<String>' ),
415+ findNode.typeName ('X<int>' ),
416+ findElement.importFind ('package:test/a.dart' ).typeAlias ('X' ),
417+ 'List<int*>*' ,
418+ );
419+ }
420+
421+ test_typeAlias_asParameterType_Never_none () async {
422+ await assertNoErrorsInCode (r'''
423+ typedef X = Never;
424+ void f(X a, X? b) {}
425+ ''' );
426+
427+ assertTypeName (
428+ findNode.typeName ('X a' ),
395429 findElement.typeAlias ('X' ),
396- 'Map<int, String> ' ,
430+ 'Never ' ,
397431 );
398432
399433 assertTypeName (
400- findNode.typeName ('X<String?> ' ),
434+ findNode.typeName ('X? b ' ),
401435 findElement.typeAlias ('X' ),
402- 'Map<int, String?> ' ,
436+ 'Never? ' ,
403437 );
404438 }
405439
406- test_typeAlias_asParameterType_interfaceType_question () async {
440+ test_typeAlias_asParameterType_Never_none_inLegacy () async {
441+ newFile ('$testPackageLibPath /a.dart' , content: r'''
442+ typedef X = Never;
443+ ''' );
407444 await assertNoErrorsInCode (r'''
408- typedef X<T> = List<T?>;
409- void f(X<int> a, X<int?> b) {}
445+ // @dart = 2.9
446+ import 'a.dart';
447+ void f(X a) {}
410448''' );
411449
412450 assertTypeName (
413- findNode.typeName ('X<int>' ),
451+ findNode.typeName ('X a' ),
452+ findElement.importFind ('package:test/a.dart' ).typeAlias ('X' ),
453+ 'Null*' ,
454+ );
455+ }
456+
457+ test_typeAlias_asParameterType_Never_question () async {
458+ await assertNoErrorsInCode (r'''
459+ typedef X = Never?;
460+ void f(X a, X? b) {}
461+ ''' );
462+
463+ assertTypeName (
464+ findNode.typeName ('X a' ),
414465 findElement.typeAlias ('X' ),
415- 'List<int?> ' ,
466+ 'Never? ' ,
416467 );
417468
418469 assertTypeName (
419- findNode.typeName ('X<int?> ' ),
470+ findNode.typeName ('X? b ' ),
420471 findElement.typeAlias ('X' ),
421- 'List<int?> ' ,
472+ 'Never? ' ,
422473 );
423474 }
424475
0 commit comments