Analyzer: Migrate 5 more test classes to use null safety

Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I80135a4ae03820438547223938b1ee4dababdd7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
diff --git a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
index bb83b55..d584afe 100644
--- a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
+++ b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
@@ -1281,10 +1281,7 @@
   }
 }
 
-class _InheritanceManager3Base extends PubPackageResolutionTest
-    with WithoutNullSafetyMixin {
-  // TODO(https://github.com/dart-lang/sdk/issues/44666): Use null safety in
-  //  test cases.
+class _InheritanceManager3Base extends PubPackageResolutionTest {
   late final InheritanceManager3 manager;
 
   @override
diff --git a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
index f9664da..ab1f6c6 100644
--- a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
@@ -392,12 +392,7 @@
 @reflectiveTest
 class AstRewriteMethodInvocationWithNonFunctionTypeAliasesTest
     extends PubPackageResolutionTest
-    with
-        WithoutNullSafetyMixin,
-        WithNonFunctionTypeAliasesMixin,
-        AstRewriteMethodInvocationTestCases {
-  // TODO(https://github.com/dart-lang/sdk/issues/44666): Use null safety in
-  //  test cases.
+    with WithNonFunctionTypeAliasesMixin, AstRewriteMethodInvocationTestCases {
   test_targetNull_typeAlias_interfaceType() async {
     await assertNoErrorsInCode(r'''
 class A<T, U> {
diff --git a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
index 9429125..59e92f4 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_alias_test.dart
@@ -16,9 +16,7 @@
 
 @reflectiveTest
 class ClassAliasDriverResolutionTest extends PubPackageResolutionTest
-    with WithoutNullSafetyMixin, ElementsTypesMixin {
-  // TODO(https://github.com/dart-lang/sdk/issues/44666): Use null safety in
-  //  test cases.
+    with ElementsTypesMixin {
   test_defaultConstructor() async {
     await assertNoErrorsInCode(r'''
 class A {}
@@ -69,8 +67,8 @@
     assertElementTypes(
       x.interfaces,
       [
-        interfaceTypeStar(a),
-        interfaceTypeStar(b),
+        interfaceTypeNone(a),
+        interfaceTypeNone(b),
       ],
     );
   }
@@ -87,8 +85,8 @@
     assertElementTypes(
       x.mixins,
       [
-        interfaceTypeStar(a),
-        interfaceTypeStar(b),
+        interfaceTypeNone(a),
+        interfaceTypeNone(b),
       ],
     );
   }
@@ -179,8 +177,8 @@
     await assertNoErrorsInCode(r'''
 class A {
   A.c1(int a);
-  A.c2(int a, [int b, int c]);
-  A.c3(int a, {int b, int c});
+  A.c2(int a, [int b = 0, int c = 0]);
+  A.c3(int a, {int b = 0, int c = 0});
 }
 
 class M {}
diff --git a/pkg/analyzer/test/src/dart/resolution/class_test.dart b/pkg/analyzer/test/src/dart/resolution/class_test.dart
index f2bff29..da64df0 100644
--- a/pkg/analyzer/test/src/dart/resolution/class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/class_test.dart
@@ -18,9 +18,7 @@
 
 @reflectiveTest
 class ClassDriverResolutionTest extends PubPackageResolutionTest
-    with WithoutNullSafetyMixin, ElementsTypesMixin {
-  // TODO(https://github.com/dart-lang/sdk/issues/44666): Use null safety in
-  //  test cases.
+    with ElementsTypesMixin {
   test_element_allSupertypes() async {
     await assertNoErrorsInCode(r'''
 class A {}
@@ -42,11 +40,11 @@
     var d = findElement.class_('D');
     var e = findElement.class_('E');
 
-    var typeA = interfaceTypeStar(a);
-    var typeB = interfaceTypeStar(b);
-    var typeC = interfaceTypeStar(c);
-    var typeD = interfaceTypeStar(d);
-    var typeE = interfaceTypeStar(e);
+    var typeA = interfaceTypeNone(a);
+    var typeB = interfaceTypeNone(b);
+    var typeC = interfaceTypeNone(c);
+    var typeD = interfaceTypeNone(d);
+    var typeE = interfaceTypeNone(e);
 
     assertElementTypes(
       findElement.class_('X1').allSupertypes,
@@ -87,16 +85,16 @@
     assertElementTypes(
       findElement.class_('X1').allSupertypes,
       [
-        interfaceTypeStar(a, typeArguments: [stringType]),
+        interfaceTypeNone(a, typeArguments: [stringType]),
         objectType
       ],
     );
     assertElementTypes(
       findElement.class_('X2').allSupertypes,
       [
-        interfaceTypeStar(b, typeArguments: [
+        interfaceTypeNone(b, typeArguments: [
           stringType,
-          interfaceTypeStar(listElement, typeArguments: [intType])
+          interfaceTypeNone(listElement, typeArguments: [intType])
         ]),
         objectType
       ],
@@ -104,8 +102,8 @@
     assertElementTypes(
       findElement.class_('X3').allSupertypes,
       [
-        interfaceTypeStar(c, typeArguments: [doubleType]),
-        interfaceTypeStar(b, typeArguments: [intType, doubleType]),
+        interfaceTypeNone(c, typeArguments: [doubleType]),
+        interfaceTypeNone(b, typeArguments: [intType, doubleType]),
         objectType
       ],
     );
@@ -129,7 +127,7 @@
     var c = findElement.class_('C');
     assertElementTypes(
       findElement.class_('X').allSupertypes,
-      [interfaceTypeStar(a), interfaceTypeStar(b), interfaceTypeStar(c)],
+      [interfaceTypeNone(a), interfaceTypeNone(b), interfaceTypeNone(c)],
     );
   }
 
@@ -155,8 +153,8 @@
     assertElementTypes(
       c.interfaces,
       [
-        interfaceTypeStar(a),
-        interfaceTypeStar(b),
+        interfaceTypeNone(a),
+        interfaceTypeNone(b),
       ],
     );
   }
@@ -175,8 +173,8 @@
     assertElementTypes(
       c.mixins,
       [
-        interfaceTypeStar(a),
-        interfaceTypeStar(b),
+        interfaceTypeNone(a),
+        interfaceTypeNone(b),
       ],
     );
   }
diff --git a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
index 9e23683..7c8bd6a 100644
--- a/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/mixin_test.dart
@@ -19,9 +19,7 @@
 
 @reflectiveTest
 class MixinDriverResolutionTest extends PubPackageResolutionTest
-    with WithoutNullSafetyMixin, ElementsTypesMixin {
-  // TODO(https://github.com/dart-lang/sdk/issues/44666): Use null safety in
-  //  test cases.
+    with ElementsTypesMixin {
   test_accessor_getter() async {
     await assertNoErrorsInCode(r'''
 mixin M {
@@ -96,7 +94,7 @@
     var mElement = findElement.mixin('M');
 
     var aElement = findElement.class_('A');
-    assertElementTypes(aElement.mixins, [interfaceTypeStar(mElement)]);
+    assertElementTypes(aElement.mixins, [interfaceTypeNone(mElement)]);
 
     var mRef = findNode.typeName('M {} // A');
     assertTypeName(mRef, mElement, 'M');
@@ -111,7 +109,7 @@
     var mElement = findElement.mixin('M');
 
     var aElement = findElement.class_('A');
-    assertElementTypes(aElement.mixins, [interfaceTypeStar(mElement)]);
+    assertElementTypes(aElement.mixins, [interfaceTypeNone(mElement)]);
 
     var mRef = findNode.typeName('M;');
     assertTypeName(mRef, mElement, 'M');
@@ -168,15 +166,15 @@
     var c = findElement.class_('C');
     assertElementTypes(
       findElement.mixin('M1').allSupertypes,
-      [interfaceTypeStar(a), interfaceTypeStar(b), objectType],
+      [interfaceTypeNone(a), interfaceTypeNone(b), objectType],
     );
     assertElementTypes(
       findElement.mixin('M2').allSupertypes,
       [
-        interfaceTypeStar(a),
+        interfaceTypeNone(a),
         objectType,
-        interfaceTypeStar(b),
-        interfaceTypeStar(c)
+        interfaceTypeNone(b),
+        interfaceTypeNone(c)
       ],
     );
   }
@@ -195,15 +193,15 @@
     assertElementTypes(
       findElement.mixin('M1').allSupertypes,
       [
-        interfaceTypeStar(a, typeArguments: [intType, doubleType]),
+        interfaceTypeNone(a, typeArguments: [intType, doubleType]),
         objectType
       ],
     );
     assertElementTypes(
       findElement.mixin('M2').allSupertypes,
       [
-        interfaceTypeStar(b, typeArguments: [stringType]),
-        interfaceTypeStar(a, typeArguments: [intType, stringType]),
+        interfaceTypeNone(b, typeArguments: [stringType]),
+        interfaceTypeNone(a, typeArguments: [intType, stringType]),
         objectType
       ],
     );
@@ -325,7 +323,7 @@
     var randomElement = mathImport.importedLibrary!.getType('Random')!;
 
     var element = findElement.mixin('M');
-    assertElementTypes(element.interfaces, [interfaceTypeStar(randomElement)]);
+    assertElementTypes(element.interfaces, [interfaceTypeNone(randomElement)]);
 
     var typeRef = findNode.typeName('Random {}');
     assertTypeName(typeRef, randomElement, 'Random',
@@ -413,15 +411,15 @@
   test_error_mixinApplicationConcreteSuperInvokedMemberType_method() async {
     await assertErrorsInCode(r'''
 class I {
-  void foo([int p]) {}
+  void foo([int? p]) {}
 }
 
 class A {
-  void foo(int p) {}
+  void foo(int? p) {}
 }
 
 abstract class B extends A implements I {
-  void foo([int p]);
+  void foo([int? p]);
 }
 
 mixin M on I {
@@ -435,7 +433,7 @@
       error(
           CompileTimeErrorCode
               .MIXIN_APPLICATION_CONCRETE_SUPER_INVOKED_MEMBER_TYPE,
-          224,
+          227,
           1),
     ]);
   }
@@ -447,7 +445,7 @@
 }
 
 mixin M<U> on A<U> {
-  void remove(Object x) {
+  void remove(Object? x) {
     super.remove(x as U);
   }
 }
@@ -858,7 +856,7 @@
 
     var element = findElement.mixin('M');
     assertElementTypes(element.superclassConstraints, [
-      interfaceTypeStar(randomElement),
+      interfaceTypeNone(randomElement),
     ]);
 
     var typeRef = findNode.typeName('Random {}');
@@ -937,7 +935,7 @@
     var a = findElement.mixin('A');
     var b = findElement.mixin('B');
     assertElementTypes(b.superclassConstraints, [
-      interfaceTypeStar(a),
+      interfaceTypeNone(a),
     ]);
   }
 
@@ -972,7 +970,7 @@
   test_field() async {
     await assertNoErrorsInCode(r'''
 mixin M<T> {
-  T f;
+  late T f;
 }
 ''');
 
@@ -992,7 +990,7 @@
     expect(fields, hasLength(1));
 
     var fElement = fields[0];
-    assertElementName(fElement, 'f', offset: 17);
+    assertElementName(fElement, 'f', offset: 22);
     assertEnclosingElement(fElement, element);
 
     var fNode = findNode.variableDeclaration('f;');
@@ -1018,11 +1016,11 @@
     assertElementTypes(element.interfaces, [
       findElement.class_('A').instantiate(
         typeArguments: const [],
-        nullabilitySuffix: NullabilitySuffix.star,
+        nullabilitySuffix: NullabilitySuffix.none,
       ),
       findElement.class_('B').instantiate(
         typeArguments: const [],
-        nullabilitySuffix: NullabilitySuffix.star,
+        nullabilitySuffix: NullabilitySuffix.none,
       ),
     ]);
 
@@ -1089,19 +1087,17 @@
 
   test_methodCallTypeInference_mixinType() async {
     await assertErrorsInCode('''
-main() {
+g(M<T> f<T>()) {
   C<int> c = f();
 }
 
 class C<T> {}
 
 mixin M<T> on C<T> {}
-
-M<T> f<T>() => null;
 ''', [
-      error(HintCode.UNUSED_LOCAL_VARIABLE, 18, 1),
+      error(HintCode.UNUSED_LOCAL_VARIABLE, 26, 1),
     ]);
-    var fInvocation = findNode.methodInvocation('f()');
+    var fInvocation = findNode.functionExpressionInvocation('f()');
     assertInvokeType(fInvocation, 'M<int> Function()');
   }
 
@@ -1117,11 +1113,11 @@
     assertElementTypes(element.superclassConstraints, [
       findElement.class_('A').instantiate(
         typeArguments: const [],
-        nullabilitySuffix: NullabilitySuffix.star,
+        nullabilitySuffix: NullabilitySuffix.none,
       ),
       findElement.class_('B').instantiate(
         typeArguments: const [],
-        nullabilitySuffix: NullabilitySuffix.star,
+        nullabilitySuffix: NullabilitySuffix.none,
       ),
     ]);