Merge two large switch blocks in AOT snapshotting (#17123)

No functional changes. Merges two platform switch statements and
eliminates an iOS-specific local.
diff --git a/packages/flutter_tools/lib/src/base/build.dart b/packages/flutter_tools/lib/src/base/build.dart
index 49b7bb0..0f32839 100644
--- a/packages/flutter_tools/lib/src/base/build.dart
+++ b/packages/flutter_tools/lib/src/base/build.dart
@@ -275,9 +275,7 @@
     outputDir.createSync(recursive: true);
 
     final String vmSnapshotData = fs.path.join(outputDir.path, 'vm_snapshot_data');
-    final String vmSnapshotInstructions = fs.path.join(outputDir.path, 'vm_snapshot_instr');
     final String isolateSnapshotData = fs.path.join(outputDir.path, 'isolate_snapshot_data');
-    final String isolateSnapshotInstructions = fs.path.join(outputDir.path, 'isolate_snapshot_instr');
     final String depfilePath = fs.path.join(outputDir.path, 'snapshot.d');
     final String assembly = fs.path.join(outputDir.path, 'snapshot_assembly.S');
     final String assemblyO = fs.path.join(outputDir.path, 'snapshot_assembly.o');
@@ -307,45 +305,9 @@
     final String uiPath = fs.path.join(skyEnginePkg, 'lib', 'ui', 'ui.dart');
     final String vmServicePath = fs.path.join(skyEnginePkg, 'sdk_ext', 'vmservice_io.dart');
 
-    final List<String> inputPaths = <String>[
-      vmEntryPoints,
-      ioEntryPoints,
-      uiPath,
-      vmServicePath,
-      mainPath,
-    ];
-
+    final List<String> inputPaths = <String>[vmEntryPoints, ioEntryPoints, uiPath, vmServicePath, mainPath];
     final Set<String> outputPaths = new Set<String>();
 
-    // These paths are used only on iOS.
-    String snapshotDartIOS;
-
-    switch (platform) {
-      case TargetPlatform.android_arm:
-      case TargetPlatform.android_arm64:
-      case TargetPlatform.android_x64:
-      case TargetPlatform.android_x86:
-        if (compileToSharedLibrary) {
-          outputPaths.add(assemblySo);
-        } else {
-          outputPaths.addAll(<String>[
-            vmSnapshotData,
-            isolateSnapshotData,
-          ]);
-        }
-        break;
-      case TargetPlatform.ios:
-        snapshotDartIOS = artifacts.getArtifactPath(Artifact.snapshotDart, platform, buildMode);
-        inputPaths.add(snapshotDartIOS);
-        break;
-      case TargetPlatform.darwin_x64:
-      case TargetPlatform.linux_x64:
-      case TargetPlatform.windows_x64:
-      case TargetPlatform.fuchsia:
-      case TargetPlatform.tester:
-        assert(false);
-    }
-
     final Iterable<String> missingInputs = inputPaths.where((String p) => !fs.isFileSync(p));
     if (missingInputs.isNotEmpty) {
       printError('Missing input files: $missingInputs');
@@ -376,8 +338,6 @@
     const String kIsolateSnapshotData = 'kDartIsolateSnapshotData';
 
     // iOS snapshot generated files, compiled object files.
-    final String kVmSnapshotDataC = fs.path.join(outputDir.path, '$kVmSnapshotData.c');
-    final String kIsolateSnapshotDataC = fs.path.join(outputDir.path, '$kIsolateSnapshotData.c');
     final String kVmSnapshotDataO = fs.path.join(outputDir.path, '$kVmSnapshotData.o');
     final String kIsolateSnapshotDataO = fs.path.join(outputDir.path, '$kIsolateSnapshotData.o');
 
@@ -386,11 +346,17 @@
       case TargetPlatform.android_arm64:
       case TargetPlatform.android_x64:
       case TargetPlatform.android_x86:
+        final String vmSnapshotInstructions = fs.path.join(outputDir.path, 'vm_snapshot_instr');
+        final String isolateSnapshotInstructions = fs.path.join(outputDir.path, 'isolate_snapshot_instr');
         if (compileToSharedLibrary) {
+          outputPaths.add(assemblySo);
           genSnapshotArgs.add('--snapshot_kind=app-aot-assembly');
           genSnapshotArgs.add('--assembly=$assembly');
-          outputPaths.add(assemblySo);
         } else {
+          outputPaths.addAll(<String>[
+            vmSnapshotData,
+            isolateSnapshotData,
+          ]);
           genSnapshotArgs.addAll(<String>[
             '--snapshot_kind=app-aot-blobs',
             '--vm_snapshot_instructions=$vmSnapshotInstructions',
@@ -405,6 +371,8 @@
         }
         break;
       case TargetPlatform.ios:
+        final String snapshotDartIOS = artifacts.getArtifactPath(Artifact.snapshotDart, platform, buildMode);
+        inputPaths.add(snapshotDartIOS);
         if (interpreter) {
           genSnapshotArgs.add('--snapshot_kind=core');
           genSnapshotArgs.add(snapshotDartIOS);
@@ -468,6 +436,9 @@
     if (platform == TargetPlatform.ios) {
       printStatus('Building App.framework...');
 
+      final String kVmSnapshotDataC = fs.path.join(outputDir.path, '$kVmSnapshotData.c');
+      final String kIsolateSnapshotDataC = fs.path.join(outputDir.path, '$kIsolateSnapshotData.c');
+
       const List<String> commonBuildOptions = const <String>['-arch', 'arm64', '-miphoneos-version-min=8.0'];
 
       if (interpreter) {