Fixed Issue #465: New tests for Exports added (function typedefs).
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t09.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t09.dart
new file mode 100644
index 0000000..ee3a3dc
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t09.dart
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic typedef with nullable unused type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, it retains its status. Typedef is in the form [typedef
+ * <typeIdentifier> <typeParameters> = <functionType>].
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef expected = void Function();
+
+main() {
+ Expect.equals(expected, g_def );
+ Expect.equals(expected, g_nullable_object_def );
+ Expect.equals(expected, g_nullable_int_def );
+ Expect.equals(expected, g_nullable_function_def);
+ Expect.equals(expected, g_null_def );
+ Expect.equals(expected, g_futureOr_def );
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t10.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t10.dart
new file mode 100644
index 0000000..f225a99
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t10.dart
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic typedef with non-nullable unused type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, it retains its status. Typedef is in the form [typedef
+ * <typeIdentifier> <typeParameters> = <functionType>].
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef expected = void Function();
+
+main() {
+ Expect.equals(expected, g_object_def);
+ Expect.equals(expected, g_int_def);
+ Expect.equals(expected, g_function_def);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t11.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t11.dart
new file mode 100644
index 0000000..50f4c0e
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t11.dart
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic typedef with [Never] unused type parameter
+ * is exported from opted-in library to legacy library and then back to the
+ * opted in code, it retains its status. Typedef is in the form [typedef
+ * <typeIdentifier> <typeParameters> = <functionType>].
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef expected = void Function();
+
+main() {
+ Expect.equals(expected, g_never_def);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t12.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t12.dart
new file mode 100644
index 0000000..4410255
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t12.dart
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef with nullable type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, typedef retains its status. Typedef is in the form
+ * [typedef <typeIdentifier> <typeParameters> = <functionType>]. Check function
+ * with argument.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "dart:async";
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef exp_dynamic <T> = void Function(T);
+typedef exp_nullable_int <T extends int?> = void Function(T);
+typedef exp_nullable_object <T extends Object?> = void Function(T);
+typedef exp_nullable_function<T extends Function?> = void Function(T);
+typedef exp_null <T extends Null> = void Function(T);
+typedef exp_futureOr <T extends FutureOr> = void Function(T);
+
+main() {
+ Expect.equals(exp_nullable_int, g_def_nullable_int_arg );
+ Expect.equals(exp_nullable_object, g_def_nullable_object_arg );
+ Expect.equals(exp_dynamic, g_def_dynamic_arg );
+ Expect.equals(exp_nullable_function, g_def_nullable_function_arg);
+ Expect.equals(exp_null, g_def_null_arg );
+ Expect.equals(exp_futureOr, g_def_futureOr_arg );
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t13.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t13.dart
new file mode 100644
index 0000000..0201edb
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t13.dart
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef with non-nullable type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, typedef retains its status. Typedef is in the form
+ * [typedef <typeIdentifier> <typeParameters> = <functionType>]. Check function
+ * with argument.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef exp_int <T> = void Function(T);
+typedef exp_object <T extends Object> = void Function(T);
+typedef exp_function<T extends Function> = void Function(T);
+
+main() {
+ Expect.equals(exp_int, g_def_int_arg );
+ Expect.equals(exp_object, g_def_object_arg );
+ Expect.equals(exp_function, g_def_function_arg);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t14.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t14.dart
new file mode 100644
index 0000000..2724ddd
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t14.dart
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef [Never] type parameter is
+ * exported from opted-in library to legacy library and then back to the opted
+ * in code, typedef retains its status. Typedef is in the form [typedef
+ * <typeIdentifier> <typeParameters> = <functionType>]. Check function with
+ * argument.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef expected = void Function(Never);
+
+main() {
+ Expect.equals(expected, g_def_never_arg);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t15.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t15.dart
new file mode 100644
index 0000000..c807c55
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t15.dart
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef with nullable type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, typedef retains its status. Typedef is in the form
+ * [typedef <typeIdentifier> <typeParameters> = <functionType>]. Check function
+ * with return value.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "dart:async";
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef exp_getDynamic <T> = T Function();
+typedef exp_getNullableInt <T extends int?> = T Function();
+typedef exp_getNullableObject <T extends Object?> = T Function();
+typedef exp_getNullableFunction<T extends Function?> = T Function();
+typedef exp_getNull <T extends Null> = T Function();
+typedef exp_getFutureOr <T extends FutureOr> = T Function();
+
+main() {
+ Expect.equals(exp_getNullableInt, g_def_getNullableInt);
+ Expect.equals(exp_getNullableObject, g_def_getNullableObject);
+ Expect.equals(exp_getDynamic, g_def_getDynamic);
+ Expect.equals(exp_getNullableFunction, g_def_getNullableFunction);
+ Expect.equals(exp_getNull, g_def_getNull);
+ Expect.equals(exp_getFutureOr, g_def_getFutureOr);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t16.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t16.dart
new file mode 100644
index 0000000..59cac31
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t16.dart
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef with non-nullable type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, typedef retains its status. Typedef is in the form
+ * [typedef <typeIdentifier> <typeParameters> = <functionType>]. Check function
+ * with return value.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef exp_getInt <T extends int> = T Function();
+typedef exp_getObject <T extends Object> = T Function();
+typedef exp_getFunction<T extends Function> = T Function();
+
+main() {
+ Expect.equals(exp_getInt, g_def_getInt );
+ Expect.equals(exp_getObject, g_def_getObject );
+ Expect.equals(exp_getFunction, g_def_getFunction);
+}
diff --git a/LanguageFeatures/nnbd/exports_A01_typedef_t17.dart b/LanguageFeatures/nnbd/exports_A01_typedef_t17.dart
new file mode 100644
index 0000000..fd72903
--- /dev/null
+++ b/LanguageFeatures/nnbd/exports_A01_typedef_t17.dart
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
+ * for details. All rights reserved. Use of this source code is governed by a
+ * BSD-style license that can be found in the LICENSE file.
+ */
+/**
+ * @assertion If an unmigrated library re-exports a migrated library, the
+ * re-exported symbols retain their migrated status (that is, downstream
+ * migrated libraries will see their migrated types).
+ * @description Check that if generic function typedef with [Never] type
+ * parameter is exported from opted-in library to legacy library and then back
+ * to the opted in code, typedef retains its status. Typedef is in the form
+ * [typedef <typeIdentifier> <typeParameters> = <functionType>]. Check function
+ * with return value.
+ * @author iarkh@unipro.ru
+ */
+// SharedOptions=--enable-experiment=non-nullable
+// Requirements=nnbd-strong
+
+import "../../Utils/expect.dart";
+import "exports_legacy_A01_lib.dart";
+
+typedef expected = Never Function();
+
+main() {
+ Expect.equals(expected, g_def_getNever);
+}
diff --git a/LanguageFeatures/nnbd/exports_opted_in_lib.dart b/LanguageFeatures/nnbd/exports_opted_in_lib.dart
index c25b84c..468d8eb 100644
--- a/LanguageFeatures/nnbd/exports_opted_in_lib.dart
+++ b/LanguageFeatures/nnbd/exports_opted_in_lib.dart
@@ -50,17 +50,17 @@
// Generic classes with nullable type parameter:
-class GENERIC_NULLABLE<T> { dynamic getParamType() => T; }
-class GENERIC_NULLABLE_INT<T extends int?> { dynamic getParamType() => T; }
-class GENERIC_NULLABLE_OBJECT<T extends Object?> { dynamic getParamType() => T; }
+class GENERIC_NULLABLE <T> { dynamic getParamType() => T; }
+class GENERIC_NULLABLE_INT <T extends int?> { dynamic getParamType() => T; }
+class GENERIC_NULLABLE_OBJECT <T extends Object?> { dynamic getParamType() => T; }
class GENERIC_NULLABLE_FUNCTION<T extends Function?> { dynamic getParamType() => T; }
-class GENERIC_NULL<T extends Null> { dynamic getParamType() => T; }
-class GENERIC_FUTUREOR<T extends FutureOr> { dynamic getParamType() => T; }
+class GENERIC_NULL <T extends Null> { dynamic getParamType() => T; }
+class GENERIC_FUTUREOR <T extends FutureOr> { dynamic getParamType() => T; }
// Generic classes with non-nullable type parameter:
-class GENERIC_NONNULLABLE_INT<T extends int> { dynamic getParamType() => T; }
-class GENERIC_NONNULLABLE_OBJECT<T extends Object> { dynamic getParamType() => T; }
+class GENERIC_NONNULLABLE_INT <T extends int> { dynamic getParamType() => T; }
+class GENERIC_NONNULLABLE_OBJECT <T extends Object> { dynamic getParamType() => T; }
class GENERIC_NONNULLABLE_FUNCTION<T extends Function> { dynamic getParamType() => T; }
class GENERIC_NEVER<T extends Never> { dynamic getParamType() => T; }
@@ -69,115 +69,158 @@
void testme() {}
-void test_nullable_int_arg(int? i) { Expect.isNull(i); }
-void test_nullable_object_arg(Object? i) { Expect.isNull(i); }
-void test_dynamic_arg(dynamic i) { Expect.isNull(i); }
-void test_nullable_function(Function? f) { Expect.isNull(f); }
-void test_null_arg(Null n) { Expect.isNull(n); }
-void test_futureOr_arg(FutureOr i) { Expect.isNull(i); }
+void test_nullable_int_arg (int? i) { Expect.isNull(i); }
+void test_nullable_object_arg(Object? i) { Expect.isNull(i); }
+void test_dynamic_arg (dynamic i) { Expect.isNull(i); }
+void test_nullable_function (Function? f) { Expect.isNull(f); }
+void test_null_arg (Null n) { Expect.isNull(n); }
+void test_futureOr_arg (FutureOr i) { Expect.isNull(i); }
-void test_int_arg(int i) { Expect.equals(1, i); }
-void test_object_arg(Object o) { Expect.equals(1, o); }
-void test_function_arg(Function f) { Expect.equals(testme, f); }
-void test_futureOrInt_arg(FutureOr<int> i) { Expect.equals(1, i); }
+void test_int_arg (int i) { Expect.equals(1, i); }
+void test_object_arg (Object o) { Expect.equals(1, o); }
+void test_function_arg (Function f) { Expect.equals(testme, f); }
+void test_futureOrInt_arg(FutureOr<int> i) { Expect.equals(1, i); }
void test_never_arg(Never n) {}
void test_required_arg({required int i}) { Expect.equals(1, i); }
-int? getNullableInt() => null;
-Object? getNullableObject() => null;
-dynamic getDynamic() => null;
+int? getNullableInt() => null;
+Object? getNullableObject() => null;
+dynamic getDynamic() => null;
Function? getNullableFunction() => null;
-Null getNull() => null;
-FutureOr getFutureOr() => null;
+Null getNull() => null;
+FutureOr getFutureOr() => null;
-int getInt() => 1;
-Object getObject() => 1;
-Function getFunction() => testme;
+int getInt() => 1;
+Object getObject() => 1;
FutureOr<int> getFutureOrInt() => 1;
+Function getFunction() => testme;
Never getNever() => throw("Should not reach here");
// Generic functions:
-void testGenericDynamic<T>() { Expect.equals(Null, T); }
-void testGenericNullableInt<T extends int?>() { Expect.equals(Null, T); }
+void testGenericDynamic <T> () { Expect.equals(Null, T); }
+void testGenericNullableInt <T extends int?> () { Expect.equals(Null, T); }
void testGenericNullableFunction<T extends Function?>() { Expect.equals(Null, T); }
-void testGenericNullableObject<T extends Object?>() { Expect.equals(Null, T); }
-void testGenericNull<T extends Null>() { Expect.equals(Null, T); }
-void testGenericFutureOr<T extends FutureOr>() { Expect.equals(Null, T); }
+void testGenericNullableObject <T extends Object?> () { Expect.equals(Null, T); }
+void testGenericNull <T extends Null> () { Expect.equals(Null, T); }
+void testGenericFutureOr <T extends FutureOr> () { Expect.equals(Null, T); }
-void testGenericInt<T extends int>() {}
+void testGenericInt <T extends int> () {}
void testGenericFunction<T extends Function>() {}
-void testGenericObject<T extends Object>() {}
+void testGenericObject <T extends Object> () {}
void testGenericNever<T extends Never>() {}
-// Function typedefs:
+// Function typedefs like
+// [typedef <typeIdentifier> <typeParameters> = <functionType>].
typedef def = void Function();
-typedef def_nullable_int_arg = void Function(int? i);
-typedef def_nullable_object_arg = void Function(int? i);
-typedef def_dynamic_arg = void Function(dynamic i);
-typedef def_nullable_function_arg = void Function(Function? f);
-typedef def_null_arg = void Function(Null n);
-typedef def_futureOr_arg = void Function(FutureOr i);
+typedef def_nullable_int_arg = void Function(int? );
+typedef def_nullable_object_arg = void Function(Object? );
+typedef def_dynamic_arg = void Function(dynamic );
+typedef def_nullable_function_arg = void Function(Function?);
+typedef def_null_arg = void Function(Null );
+typedef def_futureOr_arg = void Function(FutureOr );
-typedef def_int_arg = void Function(int i);
-typedef def_object_arg = void Function(Object o);
-typedef def_function_arg = void Function(Function f);
-typedef def_futureOrInt_arg = void Function(FutureOr<int> i);
+typedef def_int_arg = void Function(int );
+typedef def_object_arg = void Function(Object );
+typedef def_function_arg = void Function(Function );
+typedef def_futureOrInt_arg = void Function(FutureOr<int>);
-typedef def_never_arg = void Function(Never n);
+typedef def_never_arg = void Function(Never);
typedef def_required_arg = void Function({required int i});
-typedef def_getNullableInt = int? Function();
-typedef def_getNullableObject = Object? Function();
-typedef def_getDynamic = dynamic Function();
+typedef def_getNullableInt = int? Function();
+typedef def_getNullableObject = Object? Function();
+typedef def_getDynamic = dynamic Function();
typedef def_getNullableFunction = Function? Function();
-typedef def_getNull = Null Function();
-typedef def_getFutureOr = FutureOr Function();
+typedef def_getNull = Null Function();
+typedef def_getFutureOr = FutureOr Function();
-typedef def_getInt = int Function();
-typedef def_getObject = Object Function();
-typedef def_getFunction = Function Function();
+typedef def_getInt = int Function();
+typedef def_getObject = Object Function();
+typedef def_getFunction = Function Function();
typedef def_getFutureOrInt = FutureOr<int> Function();
typedef def_getNever = Never Function();
-// Function typedefs 1:
+// Generic function typedefs like
+// [typedef <typeIdentifier> <typeParameters> = <functionType>].
+
+typedef g_def <T> = void Function();
+typedef g_nullable_int_def <T extends int?> = void Function();
+typedef g_nullable_object_def <T extends Object?> = void Function();
+typedef g_nullable_function_def<T extends Function?> = void Function();
+typedef g_null_def <T extends Null> = void Function();
+typedef g_futureOr_def <T extends FutureOr> = void Function();
+
+typedef g_int_def <T extends int> = void Function();
+typedef g_object_def <T extends Object> = void Function();
+typedef g_function_def<T extends Function> = void Function();
+
+typedef g_never_def<T extends Never> = void Function();
+
+typedef g_def_dynamic_arg <T> = void Function(T);
+typedef g_def_nullable_int_arg <T extends int?> = void Function(T);
+typedef g_def_nullable_object_arg <T extends Object?> = void Function(T);
+typedef g_def_nullable_function_arg<T extends Function?> = void Function(T);
+typedef g_def_null_arg <T extends Null> = void Function(T);
+typedef g_def_futureOr_arg <T extends FutureOr> = void Function(T);
+
+typedef g_def_int_arg <T> = void Function(T);
+typedef g_def_object_arg <T extends Object> = void Function(T);
+typedef g_def_function_arg<T extends Function> = void Function(T);
+
+typedef g_def_never_arg<T extends Never> = void Function(T);
+
+typedef g_def_getDynamic <T> = T Function();
+typedef g_def_getNullableInt <T extends int?> = T Function();
+typedef g_def_getNullableObject <T extends Object?> = T Function();
+typedef g_def_getNullableFunction<T extends Function?> = T Function();
+typedef g_def_getNull <T extends Null> = T Function();
+typedef g_def_getFutureOr <T extends FutureOr> = T Function();
+
+typedef g_def_getInt <T extends int> = T Function();
+typedef g_def_getObject <T extends Object> = T Function();
+typedef g_def_getFunction<T extends Function> = T Function();
+
+typedef g_def_getNever<T extends Never> = T Function();
+
+// Function typedefs like [typedef <type> <identifier> <formalParameterPart>].
typedef void def1();
-typedef void def1_nullable_int_arg (int? i);
-typedef void def1_nullable_object_arg (int? i);
-typedef void def1_dynamic_arg (dynamic i);
+typedef void def1_nullable_int_arg (int? i);
+typedef void def1_nullable_object_arg (Object? o);
+typedef void def1_dynamic_arg (dynamic d);
typedef void def1_nullable_function_arg(Function? f);
-typedef void def1_null_arg (Null n);
-typedef void def1_futureOr_arg (FutureOr i);
+typedef void def1_null_arg (Null n);
+typedef void def1_futureOr_arg (FutureOr x);
-typedef void def1_int_arg (int i);
-typedef void def1_object_arg (Object o);
-typedef void def1_function_arg (Function f);
-typedef void def1_futureOrInt_arg(FutureOr<int> i);
+typedef void def1_int_arg (int i);
+typedef void def1_object_arg (Object o);
+typedef void def1_function_arg (Function f);
+typedef void def1_futureOrInt_arg(FutureOr<int> x);
-typedef void def1_never_arg(Never n);
+typedef void def1_never_arg(Never);
typedef void def1_required_arg({required int i});
-typedef int? def1_getNullableInt();
-typedef Object? def1_getNullableObject();
-typedef dynamic def1_getDynamic();
+typedef int? def1_getNullableInt ();
+typedef Object? def1_getNullableObject ();
+typedef dynamic def1_getDynamic ();
typedef Function? def1_getNullableFunction();
-typedef Null def1_getNull();
-typedef FutureOr def1_getFutureOr();
+typedef Null def1_getNull ();
+typedef FutureOr def1_getFutureOr ();
-typedef int def1_getInt();
-typedef Object def1_getObject();
-typedef Function def1_getFunction();
+typedef int def1_getInt ();
+typedef Object def1_getObject ();
+typedef Function def1_getFunction ();
typedef FutureOr<int> def1_getFutureOrInt();
typedef Never def1_getNever();