[pigeon] Remove Dart version from generated code (#2281)

diff --git a/packages/pigeon/CHANGELOG.md b/packages/pigeon/CHANGELOG.md
index d960395..27dc4d3 100644
--- a/packages/pigeon/CHANGELOG.md
+++ b/packages/pigeon/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 3.2.1
+
+* Removes `@dart = 2.12` from generated Dart code.
+
 ## 3.2.0
 
 * Adds experimental support for Swift generation.
@@ -41,7 +45,7 @@
 ## 3.0.4
 
 * [objc] Simplified some code output, including avoiding Xcode warnings about
-  using `NSNumber*` directly as boolean value.  
+  using `NSNumber*` directly as boolean value.
 * [tests] Moved test script to enable CI.
 
 ## 3.0.3
diff --git a/packages/pigeon/e2e_tests/test_objc/lib/main.dart b/packages/pigeon/e2e_tests/test_objc/lib/main.dart
index fc453f7..fbff926 100644
--- a/packages/pigeon/e2e_tests/test_objc/lib/main.dart
+++ b/packages/pigeon/e2e_tests/test_objc/lib/main.dart
@@ -21,7 +21,7 @@
 /// Main widget for the tests.
 class MyApp extends StatelessWidget {
   /// Creates the main widget for the tests.
-  const MyApp({Key key}) : super(key: key);
+  const MyApp({Key? key}) : super(key: key);
 
   @override
   Widget build(BuildContext context) {
@@ -36,7 +36,7 @@
 }
 
 class _MyHomePage extends StatefulWidget {
-  const _MyHomePage({Key key, this.title}) : super(key: key);
+  const _MyHomePage({Key? key, required this.title}) : super(key: key);
   final String title;
 
   @override
@@ -53,8 +53,8 @@
     final MessageApi api = MessageApi();
     final MessageSearchReply reply = await api.search(request);
     setState(() {
-      _message = reply.result;
-      _state = reply.state;
+      _message = reply.result ?? '(null)';
+      _state = reply.state ?? MessageRequestState.failure;
     });
   }
 
diff --git a/packages/pigeon/e2e_tests/test_objc/pubspec.yaml b/packages/pigeon/e2e_tests/test_objc/pubspec.yaml
index eadb48d..e053529 100644
--- a/packages/pigeon/e2e_tests/test_objc/pubspec.yaml
+++ b/packages/pigeon/e2e_tests/test_objc/pubspec.yaml
@@ -15,7 +15,7 @@
 version: 1.0.0+1
 
 environment:
-  sdk: ">=2.1.0 <3.0.0"
+  sdk: ">=2.12.0 <3.0.0"
 
 dependencies:
   # The following adds the Cupertino Icons font to your application.
@@ -25,9 +25,10 @@
     sdk: flutter
 
 dev_dependencies:
-  e2e: ^0.4.0
   flutter_test:
     sdk: flutter
+  integration_test:
+    sdk: flutter
 
 # For information on the generic Dart part of this file, see the
 # following page: https://dart.dev/tools/pub/pubspec
diff --git a/packages/pigeon/e2e_tests/test_objc/test_driver/e2e_test.dart b/packages/pigeon/e2e_tests/test_objc/test_driver/e2e_test.dart
index 406e9e1..3ff1747 100644
--- a/packages/pigeon/e2e_tests/test_objc/test_driver/e2e_test.dart
+++ b/packages/pigeon/e2e_tests/test_objc/test_driver/e2e_test.dart
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import 'package:e2e/e2e.dart';
 import 'package:flutter_test/flutter_test.dart';
+import 'package:integration_test/integration_test.dart';
 import 'package:test_objc/dartle.dart';
 
 void main() {
-  E2EWidgetsFlutterBinding.ensureInitialized();
+  IntegrationTestWidgetsFlutterBinding.ensureInitialized();
   testWidgets('simple call', (WidgetTester tester) async {
     final MessageSearchRequest request = MessageSearchRequest()
       ..query = 'Aaron';
@@ -31,7 +31,7 @@
     final MessageSearchRequest request = MessageSearchRequest()
       ..query = 'error';
     final MessageApi api = MessageApi();
-    MessageSearchReply reply;
+    MessageSearchReply? reply;
     expect(() async {
       reply = await api.search(request);
     }, throwsException);
diff --git a/packages/pigeon/lib/dart_generator.dart b/packages/pigeon/lib/dart_generator.dart
index 29b9d3f..b908fa7 100644
--- a/packages/pigeon/lib/dart_generator.dart
+++ b/packages/pigeon/lib/dart_generator.dart
@@ -423,7 +423,6 @@
     indent.writeln(
       '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name',
     );
-    indent.writeln('// @dart = 2.12');
   }
 
   void writeEnums() {
@@ -607,7 +606,6 @@
     '// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis',
   );
   indent.writeln('// ignore_for_file: avoid_relative_lib_imports');
-  indent.writeln('// @dart = 2.12');
   indent.writeln('import \'dart:async\';');
   indent.writeln(
     'import \'dart:typed_data\' show Uint8List, Int32List, Int64List, Float64List;',
diff --git a/packages/pigeon/lib/generator_tools.dart b/packages/pigeon/lib/generator_tools.dart
index 172e5ff..71d63af 100644
--- a/packages/pigeon/lib/generator_tools.dart
+++ b/packages/pigeon/lib/generator_tools.dart
@@ -9,7 +9,7 @@
 import 'ast.dart';
 
 /// The current version of pigeon. This must match the version in pubspec.yaml.
-const String pigeonVersion = '3.2.0';
+const String pigeonVersion = '3.2.1';
 
 /// Read all the content from [stdin] to a String.
 String readStdin() {
diff --git a/packages/pigeon/pubspec.yaml b/packages/pigeon/pubspec.yaml
index 311f920..f51fc84 100644
--- a/packages/pigeon/pubspec.yaml
+++ b/packages/pigeon/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Code generator tool to make communication between Flutter and the host platform type-safe and easier.
 repository: https://github.com/flutter/packages/tree/main/packages/pigeon
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3Apigeon
-version: 3.2.0 # This must match the version in lib/generator_tools.dart
+version: 3.2.1 # This must match the version in lib/generator_tools.dart
 
 environment:
   sdk: ">=2.12.0 <3.0.0"