Version 2.14.0-123.0.dev

Merge commit '4d062c9e03af1be64b6c2b704e993c212e18dfc4' into 'dev'
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
index 3174eb4..89cc19c 100644
--- a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_merger.dart
@@ -7,7 +7,6 @@
 import '../../deferred_load.dart'
     show ImportDescription, OutputUnit, OutputUnitData, deferredPartFileName;
 import '../../elements/entities.dart';
-import '../../deferred_load.dart' show OutputUnit;
 import '../../js/js.dart' as js;
 import '../../options.dart';
 import '../model.dart';
diff --git a/runtime/observatory/tests/service/notify_debugger_on_exception_test.dart b/runtime/observatory/tests/service/notify_debugger_on_exception_test.dart
index 1d03341..e0d6d7b 100644
--- a/runtime/observatory/tests/service/notify_debugger_on_exception_test.dart
+++ b/runtime/observatory/tests/service/notify_debugger_on_exception_test.dart
@@ -9,7 +9,12 @@
 import 'test_helper.dart';
 import 'service_test_common.dart';
 
-const int LINE_A = 24;
+const int LINE_A = 16;
+const int LINE_B = 32;
+
+syncThrow() {
+  throw 'Hello from syncThrow!'; // Line A.
+}
 
 @pragma('vm:notify-debugger-on-exception')
 void catchNotifyDebugger(Function() code) {
@@ -20,17 +25,30 @@
   }
 }
 
-syncThrow() {
-  throw 'Hello from syncThrow!'; // Line A.
+void catchNotifyDebuggerNested() {
+  @pragma('vm:notify-debugger-on-exception')
+  void nested() {
+    try {
+      throw 'Hello from nested!'; // Line B.
+    } catch (e) {
+      // Ignore. Internals will notify debugger.
+    }
+  }
+
+  nested();
 }
 
 testMain() {
   catchNotifyDebugger(syncThrow);
+  catchNotifyDebuggerNested();
 }
 
 final tests = <IsolateTest>[
   hasStoppedWithUnhandledException,
   stoppedAtLine(LINE_A),
+  resumeIsolate,
+  hasStoppedWithUnhandledException,
+  stoppedAtLine(LINE_B),
 ];
 
 main([args = const <String>[]]) => runIsolateTests(args, tests,
diff --git a/runtime/observatory_2/tests/service_2/notify_debugger_on_exception_test.dart b/runtime/observatory_2/tests/service_2/notify_debugger_on_exception_test.dart
index 1d03341..e0d6d7b 100644
--- a/runtime/observatory_2/tests/service_2/notify_debugger_on_exception_test.dart
+++ b/runtime/observatory_2/tests/service_2/notify_debugger_on_exception_test.dart
@@ -9,7 +9,12 @@
 import 'test_helper.dart';
 import 'service_test_common.dart';
 
-const int LINE_A = 24;
+const int LINE_A = 16;
+const int LINE_B = 32;
+
+syncThrow() {
+  throw 'Hello from syncThrow!'; // Line A.
+}
 
 @pragma('vm:notify-debugger-on-exception')
 void catchNotifyDebugger(Function() code) {
@@ -20,17 +25,30 @@
   }
 }
 
-syncThrow() {
-  throw 'Hello from syncThrow!'; // Line A.
+void catchNotifyDebuggerNested() {
+  @pragma('vm:notify-debugger-on-exception')
+  void nested() {
+    try {
+      throw 'Hello from nested!'; // Line B.
+    } catch (e) {
+      // Ignore. Internals will notify debugger.
+    }
+  }
+
+  nested();
 }
 
 testMain() {
   catchNotifyDebugger(syncThrow);
+  catchNotifyDebuggerNested();
 }
 
 final tests = <IsolateTest>[
   hasStoppedWithUnhandledException,
   stoppedAtLine(LINE_A),
+  resumeIsolate,
+  hasStoppedWithUnhandledException,
+  stoppedAtLine(LINE_B),
 ];
 
 main([args = const <String>[]]) => runIsolateTests(args, tests,
diff --git a/runtime/tests/vm/dart/flutter_regress_82278_2_test.dart b/runtime/tests/vm/dart/flutter_regress_82278_2_test.dart
new file mode 100644
index 0000000..09fe2eb
--- /dev/null
+++ b/runtime/tests/vm/dart/flutter_regress_82278_2_test.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2021, 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.
+
+import 'package:expect/expect.dart';
+
+dynamic global;
+
+class Foo<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9,
+          T10, T11, T12, T13, T14, T15, T16, T17, T18, T19,
+          T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
+          T30, T31> {
+  @pragma('vm:never-inline')
+  Generic<T31> testForT31(dynamic arg) {
+    global = '''$T0 $T1 $T2 $T3 $T4 $T5 $T6 $T7 $T8 $T9
+            $T10 $T11 $T12 $T13 $T14 $T15 $T16 $T17 $T18 $T19
+            $T20 $T21 $T22 $T23 $T24 $T25 $T26 $T27 $T28 $T29
+            $T30 $T31''';
+    return arg as Generic<T31>;
+  }
+
+}
+
+@pragma('vm:never-inline')
+Generic<T31> foo<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9,
+                 T10, T11, T12, T13, T14, T15, T16, T17, T18, T19,
+                 T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
+                 T30, T31>(dynamic arg) {
+  global = '''$T0 $T1 $T2 $T3 $T4 $T5 $T6 $T7 $T8 $T9
+          $T10 $T11 $T12 $T13 $T14 $T15 $T16 $T17 $T18 $T19
+          $T20 $T21 $T22 $T23 $T24 $T25 $T26 $T27 $T28 $T29
+          $T30 $T31''';
+ return arg as Generic<T31>;
+}
+
+class Generic<T> {}
+
+main() {
+  final genericString = Generic<String>();
+  Expect.isTrue(identical(Foo<bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, String>().testForT31(genericString), genericString));
+  Expect.isTrue((global as String).endsWith('bool String'));
+
+  Expect.isTrue(identical(
+    foo<int, int, int, int, int, int, int, int, int, int,
+              int, int, int, int, int, int, int, int, int, int,
+              int, int, int, int, int, int, int, int, int, int,
+              int, String>(genericString), genericString));
+  Expect.isTrue((global as String).endsWith('int String'));
+}
diff --git a/runtime/tests/vm/dart_2/flutter_regress_82278_2_test.dart b/runtime/tests/vm/dart_2/flutter_regress_82278_2_test.dart
new file mode 100644
index 0000000..09fe2eb
--- /dev/null
+++ b/runtime/tests/vm/dart_2/flutter_regress_82278_2_test.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2021, 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.
+
+import 'package:expect/expect.dart';
+
+dynamic global;
+
+class Foo<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9,
+          T10, T11, T12, T13, T14, T15, T16, T17, T18, T19,
+          T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
+          T30, T31> {
+  @pragma('vm:never-inline')
+  Generic<T31> testForT31(dynamic arg) {
+    global = '''$T0 $T1 $T2 $T3 $T4 $T5 $T6 $T7 $T8 $T9
+            $T10 $T11 $T12 $T13 $T14 $T15 $T16 $T17 $T18 $T19
+            $T20 $T21 $T22 $T23 $T24 $T25 $T26 $T27 $T28 $T29
+            $T30 $T31''';
+    return arg as Generic<T31>;
+  }
+
+}
+
+@pragma('vm:never-inline')
+Generic<T31> foo<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9,
+                 T10, T11, T12, T13, T14, T15, T16, T17, T18, T19,
+                 T20, T21, T22, T23, T24, T25, T26, T27, T28, T29,
+                 T30, T31>(dynamic arg) {
+  global = '''$T0 $T1 $T2 $T3 $T4 $T5 $T6 $T7 $T8 $T9
+          $T10 $T11 $T12 $T13 $T14 $T15 $T16 $T17 $T18 $T19
+          $T20 $T21 $T22 $T23 $T24 $T25 $T26 $T27 $T28 $T29
+          $T30 $T31''';
+ return arg as Generic<T31>;
+}
+
+class Generic<T> {}
+
+main() {
+  final genericString = Generic<String>();
+  Expect.isTrue(identical(Foo<bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
+              bool, String>().testForT31(genericString), genericString));
+  Expect.isTrue((global as String).endsWith('bool String'));
+
+  Expect.isTrue(identical(
+    foo<int, int, int, int, int, int, int, int, int, int,
+              int, int, int, int, int, int, int, int, int, int,
+              int, int, int, int, int, int, int, int, int, int,
+              int, String>(genericString), genericString));
+  Expect.isTrue((global as String).endsWith('int String'));
+}
diff --git a/runtime/vm/compiler/assembler/assembler_arm.h b/runtime/vm/compiler/assembler/assembler_arm.h
index 9d1b8b0..2c993d6 100644
--- a/runtime/vm/compiler/assembler/assembler_arm.h
+++ b/runtime/vm/compiler/assembler/assembler_arm.h
@@ -409,8 +409,11 @@
   void CompareWithFieldValue(Register value, FieldAddress address) {
     CompareWithMemoryValue(value, address);
   }
-  void CompareWithCompressedFieldValue(Register value, FieldAddress address) {
-    CompareWithMemoryValue(value, address);
+  void CompareWithCompressedFieldFromOffset(Register value,
+                                            Register base,
+                                            int32_t offset) {
+    LoadCompressedFieldFromOffset(TMP, base, offset);
+    cmp(value, Operand(TMP));
   }
 
   void CompareWithMemoryValue(Register value, Address address) {
@@ -953,8 +956,13 @@
   }
   void LoadCompressedFieldFromOffset(Register reg,
                                      Register base,
+                                     int32_t offset) override {
+    LoadCompressedFieldFromOffset(reg, base, offset, kFourBytes, AL);
+  }
+  void LoadCompressedFieldFromOffset(Register reg,
+                                     Register base,
                                      int32_t offset,
-                                     OperandSize type = kFourBytes,
+                                     OperandSize type,
                                      Condition cond = AL) {
     LoadFieldFromOffset(reg, base, offset, type, cond);
   }
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.cc b/runtime/vm/compiler/assembler/assembler_arm64.cc
index 9d61143..7380bbc 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.cc
+++ b/runtime/vm/compiler/assembler/assembler_arm64.cc
@@ -931,6 +931,23 @@
 #endif
 }
 
+void Assembler::LoadCompressedFromOffset(Register dest,
+                                         Register base,
+                                         int32_t offset) {
+#if !defined(DART_COMPRESSED_POINTERS)
+  LoadFromOffset(dest, base, offset);
+#else
+  if (Address::CanHoldOffset(offset, Address::Offset, kFourBytes)) {
+    ldr(dest, Address(base, offset), kUnsignedFourBytes);  // Zero-extension.
+  } else {
+    ASSERT(base != TMP2);
+    AddImmediate(TMP2, base, offset);
+    ldr(dest, Address(base, 0), kUnsignedFourBytes);  // Zero-extension.
+  }
+  add(dest, dest, Operand(HEAP_BITS, LSL, 32));
+#endif
+}
+
 void Assembler::LoadCompressedSmi(Register dest, const Address& slot) {
 #if !defined(DART_COMPRESSED_POINTERS)
   ldr(dest, slot);
diff --git a/runtime/vm/compiler/assembler/assembler_arm64.h b/runtime/vm/compiler/assembler/assembler_arm64.h
index 59ec194..d4f08c5 100644
--- a/runtime/vm/compiler/assembler/assembler_arm64.h
+++ b/runtime/vm/compiler/assembler/assembler_arm64.h
@@ -579,8 +579,11 @@
   void CompareWithFieldValue(Register value, FieldAddress address) {
     CompareWithMemoryValue(value, address);
   }
-  void CompareWithCompressedFieldValue(Register value, FieldAddress address) {
-    CompareWithMemoryValue(value, address, kObjectBytes);
+  void CompareWithCompressedFieldFromOffset(Register value,
+                                            Register base,
+                                            int32_t offset) {
+    LoadCompressedFieldFromOffset(TMP, base, offset);
+    cmp(value, Operand(TMP));
   }
 
   void CompareWithMemoryValue(Register value,
@@ -1702,8 +1705,8 @@
   }
   void LoadCompressedFieldFromOffset(Register dest,
                                      Register base,
-                                     int32_t offset) {
-    LoadCompressed(dest, FieldAddress(base, offset));
+                                     int32_t offset) override {
+    LoadCompressedFromOffset(dest, base, offset - kHeapObjectTag);
   }
   // For loading indexed payloads out of tagged objects like Arrays. If the
   // payload objects are word-sized, use TIMES_HALF_WORD_SIZE if the contents of
@@ -1765,6 +1768,7 @@
   }
 
   void LoadCompressed(Register dest, const Address& slot);
+  void LoadCompressedFromOffset(Register dest, Register base, int32_t offset);
   void LoadCompressedSmi(Register dest, const Address& slot);
 
   // Store into a heap object and apply the generational and incremental write
diff --git a/runtime/vm/compiler/assembler/assembler_base.h b/runtime/vm/compiler/assembler/assembler_base.h
index bf24f09..733972d 100644
--- a/runtime/vm/compiler/assembler/assembler_base.h
+++ b/runtime/vm/compiler/assembler/assembler_base.h
@@ -631,6 +631,9 @@
 #if defined(DART_COMPRESSED_POINTERS)
   virtual void LoadCompressedField(Register dst,
                                    const FieldAddress& address) = 0;
+  virtual void LoadCompressedFieldFromOffset(Register dst,
+                                             Register base,
+                                             int32_t offset) = 0;
   virtual void StoreCompressedIntoObject(
       Register object,      // Object we are storing into.
       const Address& dest,  // Where we are storing into.
@@ -644,6 +647,11 @@
   virtual void LoadCompressedField(Register dst, const FieldAddress& address) {
     LoadField(dst, address);
   }
+  virtual void LoadCompressedFieldFromOffset(Register dst,
+                                             Register base,
+                                             int32_t offset) {
+    LoadFieldFromOffset(dst, base, offset);
+  }
   virtual void StoreCompressedIntoObject(
       Register object,      // Object we are storing into.
       const Address& dest,  // Where we are storing into.
diff --git a/runtime/vm/compiler/assembler/assembler_ia32.h b/runtime/vm/compiler/assembler/assembler_ia32.h
index af7df41..f69c928 100644
--- a/runtime/vm/compiler/assembler/assembler_ia32.h
+++ b/runtime/vm/compiler/assembler/assembler_ia32.h
@@ -612,7 +612,7 @@
   }
   void LoadCompressedFieldFromOffset(Register reg,
                                      Register base,
-                                     int32_t offset) {
+                                     int32_t offset) override {
     LoadFieldFromOffset(reg, base, offset);
   }
   void LoadIndexedPayload(Register dst,
diff --git a/runtime/vm/compiler/assembler/assembler_x64.h b/runtime/vm/compiler/assembler/assembler_x64.h
index 09c3c4b..c5a2b08 100644
--- a/runtime/vm/compiler/assembler/assembler_x64.h
+++ b/runtime/vm/compiler/assembler/assembler_x64.h
@@ -976,7 +976,7 @@
   }
   void LoadCompressedFieldFromOffset(Register dst,
                                      Register base,
-                                     int32_t offset) {
+                                     int32_t offset) override {
     LoadCompressed(dst, FieldAddress(base, offset));
   }
   void LoadIndexedPayload(Register dst,
@@ -1032,8 +1032,10 @@
   void CompareWithFieldValue(Register value, FieldAddress address) {
     cmpq(value, address);
   }
-  void CompareWithCompressedFieldValue(Register value, FieldAddress address) {
-    OBJ(cmp)(value, address);
+  void CompareWithCompressedFieldFromOffset(Register value,
+                                            Register base,
+                                            int32_t offset) {
+    OBJ(cmp)(value, FieldAddress(base, offset));
   }
 
   void CompareTypeNullabilityWith(Register type, int8_t value) {
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index 65c4589..93d9ad5 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -1257,6 +1257,7 @@
 }
 
 Fragment StreamingFlowGraphBuilder::BuildStatement() {
+  intptr_t offset = ReaderOffset();
   Tag tag = ReadTag();  // read tag.
   switch (tag) {
     case kExpressionStatement:
@@ -1300,7 +1301,7 @@
     case kVariableDeclaration:
       return BuildVariableDeclaration();
     case kFunctionDeclaration:
-      return BuildFunctionDeclaration();
+      return BuildFunctionDeclaration(offset);
     default:
       ReportUnexpectedTag("statement", tag);
       UNREACHABLE();
@@ -4241,7 +4242,9 @@
 
 Fragment StreamingFlowGraphBuilder::BuildFunctionExpression() {
   ReadPosition();  // read position.
-  return BuildFunctionNode(TokenPosition::kNoSource, StringIndex());
+  return BuildFunctionNode(TokenPosition::kNoSource, StringIndex(),
+                           /*has_valid_annotation=*/false, /*has_pragma=*/false,
+                           /*func_decl_offset=*/0);
 }
 
 Fragment StreamingFlowGraphBuilder::BuildLet(TokenPosition* p) {
@@ -5424,16 +5427,39 @@
   return instructions;
 }
 
-Fragment StreamingFlowGraphBuilder::BuildFunctionDeclaration() {
-  TokenPosition position = ReadPosition();  // read position.
-  intptr_t variable_offset = ReaderOffset() + data_program_offset_;
+Fragment StreamingFlowGraphBuilder::BuildFunctionDeclaration(intptr_t offset) {
+  TokenPosition position = ReadPosition();
+  const intptr_t variable_offset = ReaderOffset() + data_program_offset_;
 
-  // read variable declaration.
+  // Read variable declaration.
   VariableDeclarationHelper helper(this);
+
+  bool has_pragma = false;
+  bool has_valid_annotation = false;
+  helper.ReadUntilExcluding(VariableDeclarationHelper::kAnnotations);
+  const intptr_t annotation_count = ReadListLength();
+  for (intptr_t i = 0; i < annotation_count; ++i) {
+    const intptr_t tag = PeekTag();
+    if (tag != kInvalidExpression) {
+      has_valid_annotation = true;
+    }
+    if (tag == kConstantExpression) {
+      auto& instance = Instance::Handle();
+      instance = constant_reader_.ReadConstantExpression();
+      if (instance.clazz() == IG->object_store()->pragma_class()) {
+        has_pragma = true;
+      }
+      continue;
+    }
+    SkipExpression();
+  }
+  helper.SetJustRead(VariableDeclarationHelper::kAnnotations);
+
   helper.ReadUntilExcluding(VariableDeclarationHelper::kEnd);
 
   Fragment instructions = DebugStepCheck(position);
-  instructions += BuildFunctionNode(position, helper.name_index_);
+  instructions += BuildFunctionNode(position, helper.name_index_,
+                                    has_valid_annotation, has_pragma, offset);
   instructions += StoreLocal(position, LookupVariable(variable_offset));
   instructions += Drop();
   return instructions;
@@ -5441,7 +5467,10 @@
 
 Fragment StreamingFlowGraphBuilder::BuildFunctionNode(
     TokenPosition parent_position,
-    StringIndex name_index) {
+    StringIndex name_index,
+    bool has_valid_annotation,
+    bool has_pragma,
+    intptr_t func_decl_offset) {
   intptr_t offset = ReaderOffset();
 
   FunctionNodeHelper function_node_helper(this);
@@ -5500,6 +5529,13 @@
               *name, parsed_function()->function(), position);
         }
 
+        function.set_has_pragma(has_pragma);
+        if ((FLAG_enable_mirrors && has_valid_annotation) || has_pragma) {
+          auto& lib =
+              Library::Handle(Z, Class::Handle(Z, function.Owner()).library());
+          lib.AddMetadata(function, func_decl_offset);
+        }
+
         function.set_is_debuggable(function_node_helper.dart_async_marker_ ==
                                    FunctionNodeHelper::kSync);
         switch (function_node_helper.dart_async_marker_) {
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h
index df727ff..f53e58c 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.h
@@ -350,9 +350,12 @@
   Fragment BuildTryFinally();
   Fragment BuildYieldStatement();
   Fragment BuildVariableDeclaration();
-  Fragment BuildFunctionDeclaration();
+  Fragment BuildFunctionDeclaration(intptr_t offset);
   Fragment BuildFunctionNode(TokenPosition parent_position,
-                             StringIndex name_index);
+                             StringIndex name_index,
+                             bool has_valid_annotation,
+                             bool has_pragma,
+                             intptr_t func_decl_offset);
 
   // Build flow graph for '_nativeEffect'.
   Fragment BuildNativeEffect();
diff --git a/runtime/vm/kernel.cc b/runtime/vm/kernel.cc
index 1256780..b20e354 100644
--- a/runtime/vm/kernel.cc
+++ b/runtime/vm/kernel.cc
@@ -452,8 +452,16 @@
       } else if (tag == kConstructor) {
         ConstructorHelper constructor_helper(this);
         constructor_helper.ReadUntilExcluding(ConstructorHelper::kAnnotations);
+      } else if (tag == kFunctionDeclaration) {
+        ReadTag();
+        ReadPosition();  // fileOffset
+        VariableDeclarationHelper variable_declaration_helper(this);
+        variable_declaration_helper.ReadUntilExcluding(
+            VariableDeclarationHelper::kAnnotations);
       } else {
-        FATAL("No support for metadata on this type of kernel node\n");
+        FATAL("No support for metadata on this type of kernel node: %" Pd32
+              "\n",
+              tag);
       }
     }
 
diff --git a/runtime/vm/type_testing_stubs.cc b/runtime/vm/type_testing_stubs.cc
index 56eaa34..e8e68f6 100644
--- a/runtime/vm/type_testing_stubs.cc
+++ b/runtime/vm/type_testing_stubs.cc
@@ -499,16 +499,14 @@
     __ CompareObject(kTypeArgumentsReg, Object::null_object());
     __ BranchIf(EQUAL, &is_dynamic);
 
-    __ LoadCompressedField(
+    __ LoadCompressedFieldFromOffset(
+        TTSInternalRegs::kScratchReg, kTypeArgumentsReg,
+        compiler::target::TypeArguments::type_at_offset(type_param.index()));
+    __ CompareWithCompressedFieldFromOffset(
         TTSInternalRegs::kScratchReg,
-        compiler::FieldAddress(kTypeArgumentsReg,
-                               compiler::target::TypeArguments::type_at_offset(
-                                   type_param.index())));
-    __ CompareWithCompressedFieldValue(
-        TTSInternalRegs::kScratchReg,
-        compiler::FieldAddress(TTSInternalRegs::kInstanceTypeArgumentsReg,
-                               compiler::target::TypeArguments::type_at_offset(
-                                   type_param_value_offset_i)));
+        TTSInternalRegs::kInstanceTypeArgumentsReg,
+        compiler::target::TypeArguments::type_at_offset(
+            type_param_value_offset_i));
     __ BranchIf(NOT_EQUAL, check_failed);
   } else {
     const Class& type_class = Class::Handle(type_arg.type_class());
@@ -518,15 +516,14 @@
                                   /*include_abstract=*/true,
                                   /*exclude_null=*/!null_is_assignable);
 
-    __ LoadCompressedField(
+    __ LoadCompressedFieldFromOffset(
         TTSInternalRegs::kScratchReg,
-        compiler::FieldAddress(TTSInternalRegs::kInstanceTypeArgumentsReg,
-                               compiler::target::TypeArguments::type_at_offset(
-                                   type_param_value_offset_i)));
-    __ LoadCompressedField(
-        TTSInternalRegs::kScratchReg,
-        compiler::FieldAddress(TTSInternalRegs::kScratchReg,
-                               compiler::target::Type::type_class_id_offset()));
+        TTSInternalRegs::kInstanceTypeArgumentsReg,
+        compiler::target::TypeArguments::type_at_offset(
+            type_param_value_offset_i));
+    __ LoadCompressedFieldFromOffset(
+        TTSInternalRegs::kScratchReg, TTSInternalRegs::kScratchReg,
+        compiler::target::Type::type_class_id_offset());
 
     compiler::Label is_subtype;
     __ SmiUntag(TTSInternalRegs::kScratchReg);
@@ -550,12 +547,11 @@
       // Nullable type is not a subtype of non-nullable type.
       // TODO(dartbug.com/40736): Allocate a register for instance type argument
       // and avoid reloading it.
-      __ LoadCompressedField(
+      __ LoadCompressedFieldFromOffset(
           TTSInternalRegs::kScratchReg,
-          compiler::FieldAddress(
-              TTSInternalRegs::kInstanceTypeArgumentsReg,
-              compiler::target::TypeArguments::type_at_offset(
-                  type_param_value_offset_i)));
+          TTSInternalRegs::kInstanceTypeArgumentsReg,
+          compiler::target::TypeArguments::type_at_offset(
+              type_param_value_offset_i));
       __ CompareTypeNullabilityWith(TTSInternalRegs::kScratchReg,
                                     compiler::target::Nullability::kNullable);
       __ BranchIf(EQUAL, check_failed);
diff --git a/tests/language/async_star/pause_test2.dart b/tests/language/async_star/pause2_test.dart
similarity index 100%
rename from tests/language/async_star/pause_test2.dart
rename to tests/language/async_star/pause2_test.dart
diff --git a/tests/language/function_subtype/null.dart b/tests/language/function_subtype/null_test.dart
similarity index 100%
rename from tests/language/function_subtype/null.dart
rename to tests/language/function_subtype/null_test.dart
diff --git a/tests/language/identifier/known_prefix_error_test.dart b/tests/language/identifier/known_prefix_error_test.dart
index 06ec097..458f6e0 100644
--- a/tests/language/identifier/known_prefix_error_test.dart
+++ b/tests/language/identifier/known_prefix_error_test.dart
@@ -15,6 +15,10 @@
 import 'built_in_prefix_library_async.dart' as async;
 import 'built_in_prefix_library_await.dart' as await;
 import 'built_in_prefix_library_hide.dart' as hide;
+import 'built_in_prefix_library_library.dart' as library;
+//                                               ^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.BUILT_IN_IDENTIFIER_IN_DECLARATION
+// [cfe] Can't use 'library' as a name here.
 import 'built_in_prefix_library_of.dart' as of;
 import 'built_in_prefix_library_on.dart' as on;
 import 'built_in_prefix_library_show.dart' as show;
@@ -22,52 +26,44 @@
 import 'built_in_prefix_library_yield.dart' as yield;
 
 async<dynamic> _async = new async.A();
-// [error line 24, column 1, length 5]
+// [error line 28, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'async' isn't a type.
-// [error line 24, column 1]
 // [cfe] Expected 0 type arguments.
 await<dynamic> _await = new await.A();
-// [error line 30, column 1, length 5]
+// [error line 33, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'await' isn't a type.
-// [error line 30, column 1]
 // [cfe] Expected 0 type arguments.
 hide<dynamic> _hide = new hide.A();
-// [error line 36, column 1, length 4]
+// [error line 38, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'hide' isn't a type.
-// [error line 36, column 1]
 // [cfe] Expected 0 type arguments.
 of<dynamic> _of = new of.A();
-// [error line 42, column 1, length 2]
+// [error line 43, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'of' isn't a type.
-// [error line 42, column 1]
 // [cfe] Expected 0 type arguments.
 on<dynamic> _on = new on.A();
 // [error line 48, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'on' isn't a type.
-// [error line 48, column 1]
 // [cfe] Expected 0 type arguments.
 show<dynamic> _show = new show.A();
-// [error line 54, column 1, length 4]
+// [error line 53, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'show' isn't a type.
-// [error line 54, column 1]
 // [cfe] Expected 0 type arguments.
 sync<dynamic> _sync = new sync.A();
-// [error line 60, column 1, length 4]
+// [error line 58, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'sync' isn't a type.
-// [error line 60, column 1]
 // [cfe] Expected 0 type arguments.
 yield<dynamic> _yield = new yield.A();
-// [error line 66, column 1, length 5]
+// [error line 63, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'yield' isn't a type.
-// [error line 66, column 1]
 // [cfe] Expected 0 type arguments.
 
 async.B<async> _B_async = new async.B();
@@ -107,49 +103,41 @@
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'async' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 await.B<await<dynamic>> _B2_await = new await.B();
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'await' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 hide.B<hide<dynamic>> _B2_hide = new hide.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'hide' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 of.B<of<dynamic>> _B2_of = new of.B();
 //   ^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'of' isn't a type.
-//   ^
 // [cfe] Expected 0 type arguments.
 on.B<on<dynamic>> _B2_on = new on.B();
 //   ^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'on' isn't a type.
-//   ^
 // [cfe] Expected 0 type arguments.
 show.B<show<dynamic>> _B2_show = new show.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'show' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 sync.B<sync<dynamic>> _B2_sync = new sync.B();
 //     ^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'sync' isn't a type.
-//     ^
 // [cfe] Expected 0 type arguments.
 yield.B<yield<dynamic>> _B2_yield = new yield.B();
 //      ^^^^^
 // [analyzer] COMPILE_TIME_ERROR.NON_TYPE_AS_TYPE_ARGUMENT
 // [cfe] 'yield' isn't a type.
-//      ^
 // [cfe] Expected 0 type arguments.
 
 main() {
diff --git a/tests/language/library/a.dart b/tests/language/library/a.dart
deleted file mode 100644
index 95f855e..0000000
--- a/tests/language/library/a.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryA.dart;
-
-import "c.dart";
-
-var fooA = fooC;
diff --git a/tests/language/library/b.dart b/tests/language/library/b.dart
deleted file mode 100644
index 2a36a64..0000000
--- a/tests/language/library/b.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryB.dart;
-
-import "c.dart";
-
-var fooB = fooC;
diff --git a/tests/language/library/c.dart b/tests/language/library/c.dart
deleted file mode 100644
index fcf3555..0000000
--- a/tests/language/library/c.dart
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryC.dart;
-
-var fooC = 10;
diff --git a/tests/language/library/d.dart b/tests/language/library/d.dart
deleted file mode 100644
index 054c033..0000000
--- a/tests/language/library/d.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryD.dart;
-
-import "f.dart";
-
-var fooD = fooC;
diff --git a/tests/language/library/e.dart b/tests/language/library/e.dart
deleted file mode 100644
index 0332e42..0000000
--- a/tests/language/library/e.dart
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryE.dart;
-
-import "c.dart";
-import "f.dart";
-
-var fooE = 0;
diff --git a/tests/language/library/f.dart b/tests/language/library/f.dart
deleted file mode 100644
index f73e3cb..0000000
--- a/tests/language/library/f.dart
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library libraryF.dart;
-
-var fooC = 10;
diff --git a/tests/language/library/library3.dart b/tests/language/library/library3.dart
deleted file mode 100644
index 625f568..0000000
--- a/tests/language/library/library3.dart
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library library3.dart;
-
-import "../library2.dart"; // defines "foo" and "foo1".
diff --git a/tests/language/library/library4.dart b/tests/language/library/library4.dart
deleted file mode 100644
index 25af011..0000000
--- a/tests/language/library/library4.dart
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-library library4.dart;
-
-import "../library2.dart"; // defines "foo" and "foo1".
-
-var foo;
-var foo1 = 0;
diff --git a/tests/language/library/library6.dart b/tests/language/library/library6_test.dart
similarity index 100%
rename from tests/language/library/library6.dart
rename to tests/language/library/library6_test.dart
diff --git a/tests/language/nnbd/static_errors/implicit_downcasts.dart b/tests/language/nnbd/static_errors/implicit_downcasts_test.dart
similarity index 100%
rename from tests/language/nnbd/static_errors/implicit_downcasts.dart
rename to tests/language/nnbd/static_errors/implicit_downcasts_test.dart
diff --git a/tests/language/nnbd/static_errors/late_final_without_initializer.dart b/tests/language/nnbd/static_errors/late_final_without_initializer_test.dart
similarity index 99%
rename from tests/language/nnbd/static_errors/late_final_without_initializer.dart
rename to tests/language/nnbd/static_errors/late_final_without_initializer_test.dart
index 9938078..57c0485 100644
--- a/tests/language/nnbd/static_errors/late_final_without_initializer.dart
+++ b/tests/language/nnbd/static_errors/late_final_without_initializer_test.dart
@@ -2,7 +2,6 @@
 // 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.
 
-
 // Test that it is not a compile time error for a `final` variable to not have
 // an initializer if that variable is declared as `late`.
 import 'package:expect/expect.dart';
diff --git a/tests/language/nnbd/static_errors/local_function_inference.dart b/tests/language/nnbd/static_errors/local_function_inference_test.dart
similarity index 92%
rename from tests/language/nnbd/static_errors/local_function_inference.dart
rename to tests/language/nnbd/static_errors/local_function_inference_test.dart
index af81145..a49ff14 100644
--- a/tests/language/nnbd/static_errors/local_function_inference.dart
+++ b/tests/language/nnbd/static_errors/local_function_inference_test.dart
@@ -24,6 +24,6 @@
     }
   }
   //  ^
-  // [analyzer] undefined
-  // [cfe] undefined
+  // [analyzer] unspecified
+  // [cfe] unspecified
 }
diff --git a/tests/language/nnbd/syntax/late_modifier_bug_39658.dart b/tests/language/nnbd/syntax/late_modifier_bug_39658_test.dart
similarity index 100%
rename from tests/language/nnbd/syntax/late_modifier_bug_39658.dart
rename to tests/language/nnbd/syntax/late_modifier_bug_39658_test.dart
diff --git a/tests/language/nonfunction_type_aliases/mixed/infer_aliased_factory_invocation_07_test.dart b/tests/language/nonfunction_type_aliases/mixed/infer_aliased_factory_invocation_07_test.dart
index 126ca63..6c6a7ca 100644
--- a/tests/language/nonfunction_type_aliases/mixed/infer_aliased_factory_invocation_07_test.dart
+++ b/tests/language/nonfunction_type_aliases/mixed/infer_aliased_factory_invocation_07_test.dart
@@ -5,7 +5,7 @@
 // Requirements=nnbd-weak
 
 
-import 'infer_aliased_factory_invocation_06_lib.dart';
+import 'infer_aliased_factory_invocation_07_lib.dart';
 
 Type typeOf<X>() => X;
 
diff --git a/tests/language/nosuchmethod_forwarding/abstract_override_with_different_type.dart b/tests/language/nosuchmethod_forwarding/abstract_override_with_different_type_test.dart
similarity index 100%
rename from tests/language/nosuchmethod_forwarding/abstract_override_with_different_type.dart
rename to tests/language/nosuchmethod_forwarding/abstract_override_with_different_type_test.dart
diff --git a/tests/language/prefix/new_test.dart b/tests/language/prefix/new_test.dart
index 23c7834..4e13b18 100644
--- a/tests/language/prefix/new_test.dart
+++ b/tests/language/prefix/new_test.dart
@@ -5,7 +5,7 @@
 library PrefixTest;
 
 import "package:expect/expect.dart";
-import "test1.dart";
+import "new_test1.dart";
 
 main() {
   Expect.equals(Prefix.getSource(), Prefix.getImport() + 1);
diff --git a/tests/language/prefix/new_test1.dart b/tests/language/prefix/new_test1.dart
index 106de80..812c604 100644
--- a/tests/language/prefix/new_test1.dart
+++ b/tests/language/prefix/new_test1.dart
@@ -4,7 +4,7 @@
 
 library PrefixTest1;
 
-import "test2.dart" as test2;
+import "new_test2.dart" as test2;
 
 class Prefix {
   static const int foo = 43;
diff --git a/tests/language/regress/regress34091.dart b/tests/language/regress/regress34091_test.dart
similarity index 100%
rename from tests/language/regress/regress34091.dart
rename to tests/language/regress/regress34091_test.dart
diff --git a/tests/language/script/source.dart b/tests/language/script/source.dart
deleted file mode 100644
index 44f0d34..0000000
--- a/tests/language/script/source.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2011, 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.
-
-// A perfectly legal dart source file for use with script and library tests.
-
-const int script_source = 1;
diff --git a/tests/language/string/overflow.dart b/tests/language/string/overflow_test.dart
similarity index 100%
rename from tests/language/string/overflow.dart
rename to tests/language/string/overflow_test.dart
diff --git a/tests/language/top_level/file3.dart b/tests/language/top_level/file3.dart
deleted file mode 100644
index a42c558..0000000
--- a/tests/language/top_level/file3.dart
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2011, 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.
-
-main() {
-  Expect.equals(42, prefix.topLevelVar);
-}
diff --git a/tests/language/unsorted/unevaluated_field.dart b/tests/language/unsorted/unevaluated_field_test.dart
similarity index 91%
rename from tests/language/unsorted/unevaluated_field.dart
rename to tests/language/unsorted/unevaluated_field_test.dart
index 5c701db..f33fbb5 100644
--- a/tests/language/unsorted/unevaluated_field.dart
+++ b/tests/language/unsorted/unevaluated_field_test.dart
@@ -6,12 +6,12 @@
 
 import "package:expect/expect.dart";
 
-const int gx =
+const int? gx =
     const bool.hasEnvironment("x") ? const int.fromEnvironment("x") : null;
 
 class A {
-  final int x = gx;
-  final int y =
+  final int? x = gx;
+  final int? y =
       const bool.hasEnvironment("y") ? const int.fromEnvironment("y") : null;
   const A();
 }
diff --git a/tests/language/vm/regression_38412.dart b/tests/language/vm/regression_38412_test.dart
similarity index 100%
rename from tests/language/vm/regression_38412.dart
rename to tests/language/vm/regression_38412_test.dart
diff --git a/tests/language/vm/regression_38436.dart b/tests/language/vm/regression_38436_test.dart
similarity index 98%
copy from tests/language/vm/regression_38436.dart
copy to tests/language/vm/regression_38436_test.dart
index ea5fafd..ca7a920 100644
--- a/tests/language/vm/regression_38436.dart
+++ b/tests/language/vm/regression_38436_test.dart
@@ -9,6 +9,9 @@
 // Found by DartFuzzing: would sometimes crash on OSR
 // https://github.com/dart-lang/sdk/issues/38436
 
+// Note: When this test was migrated to null safety, changed several type
+// annotations to dynamic to fix the hundreds of null safe errors. That was a
+// less invasive change than adding `?` and `!` throughout the test.
 import 'dart:async';
 import 'dart:cli';
 import 'dart:collection';
@@ -19,11 +22,11 @@
 import 'dart:math';
 import 'dart:typed_data';
 
-String var0 = '';
-bool var1 = true;
+dynamic var0 = '';
+dynamic var1 = true;
 int var2 = -30;
 double var3 = 0.895077679110543;
-String var4 = '';
+dynamic var4 = '';
 List<int> var5 = [55, -70];
 Set<int> var6 = {
   1024,
@@ -62,7 +65,7 @@
     -25
   }
 };
-Map<int, String> var7 = {
+dynamic var7 = {
   6: '',
   ...{56: 'B\u2665pwO', 73: 'ZJDi\u{1f600}m'},
   ...{73: ')', 14: '93Q'},
@@ -85,7 +88,7 @@
   throw ((-(var3)) * (-(0.943305664017911)));
 }
 
-List<int> foo2(Set<int> par1, List<int> par2, Map<int, String> par3) {
+List<int> foo2(Set<int> par1, List<int> par2, dynamic par3) {
   switch (-49) {
     case 4149672951:
       {
@@ -198,9 +201,9 @@
             };
           } catch (exception, stackTrace) {
             /**
-           ** Multi-line
-           ** documentation comment.
-           */
+             ** Multi-line
+             ** documentation comment.
+             */
             for (int loc1 = 0; loc1 < 89; loc1++) {
               switch ((var2--)) {
                 case 3807258589:
@@ -435,7 +438,7 @@
     -69
   };
 
-  List<int> foo0_0(Map<int, String> par1) {
+  List<int> foo0_0(dynamic par1) {
     if ((var1 ? ((!(fld0_0)) ? true : false) : true)) {
       return ((var4).trim()).codeUnits;
     } else {
@@ -528,8 +531,7 @@
                                                 57: var4,
                                                 73: var7[-43],
                                                 38: var0
-                                              })
-                                                  .isNotEmpty ||
+                                              }).isNotEmpty ||
                                               ({
                                                 67: var4,
                                                 14: 'M\u{1f600}1HNbP',
@@ -537,8 +539,7 @@
                                                 85: 'uyq',
                                                 95: var7[(-(Int32x4.wwxw))],
                                                 33: ''
-                                              })
-                                                  .isNotEmpty))
+                                              }).isNotEmpty))
                                       : false)
                                   ? var2
                                   : (++var2))
@@ -557,8 +558,7 @@
                                   51: '-8ht',
                                   26: ('(2l3\u2665h' ?? var0),
                                   79: var4
-                                })
-                                        .isNotEmpty
+                                }).isNotEmpty
                                     ? var5[(var2 % loc0)]
                                     : var2) %
                                 ((!(NetworkInterface.listSupported))
@@ -1005,9 +1005,9 @@
               ]);
             } finally {
               /**
-             ** Multi-line
-             ** documentation comment.
-             */
+               ** Multi-line
+               ** documentation comment.
+               */
               fld1_1 = (var5[var5[var2]]).isOdd;
             }
             /*
@@ -1206,7 +1206,7 @@
 }
 
 class X2 extends X0 with X1 {
-  Set<int> fld2_0 = {for (int loc0 = 0; loc0 < 60; loc0++) -56, 29};
+  dynamic fld2_0 = {for (int loc0 = 0; loc0 < 60; loc0++) -56, 29};
 
   bool foo2_0(int par1) => var1;
   bool foo2_1(bool par1) {
@@ -1565,8 +1565,9 @@
 }
 
 class X3 extends X1 {
-  Map<int, String> fld3_0 = {
-    if (true) if (false) 45: 'ynEn\u2665nG' else 70: 'c\u{1f600}mN4\u2665a',
+  dynamic fld3_0 = {
+    if (true)
+      if (false) 45: 'ynEn\u2665nG' else 70: 'c\u{1f600}mN4\u2665a',
     if (true) 30: '6\u2665P!Pbi',
     81: 't',
     82: '17fx#!',
@@ -1738,8 +1739,7 @@
                                             7: par3,
                                             69: Uri.decodeFull(
                                                 (foo1_3() + 'LX+'))
-                                          })
-                                            .isEmpty)
+                                          }).isEmpty)
                                     ? (~((13 | 64)))
                                     : (-(var2)))),
                             (par1--),
@@ -1794,8 +1794,7 @@
                     4: 'pUc(q',
                     15: 'K\u{1f600}hmdZ\u2665',
                     95: (var1 ? var4 : (var1 ? fld3_0[-45] : foo1_3()))
-                  })
-                              .isNotEmpty
+                  }).isNotEmpty
                           ? ((var1 ? var1 : (var1 ? var1 : foo3_0(var3))) ||
                               foo3_0(var3))
                           : (!(((false || true) ? var1 : false))))
@@ -1993,8 +1992,7 @@
                                   95: '\u{1f600}2tIYqE',
                                   43: (true ? 'baf-\u2665' : var4),
                                   30: var7[(-((-68 % ZLibOption.defaultLevel)))]
-                                }))
-                                  .isNotEmpty))
+                                })).isNotEmpty))
                             -13
                           else
                             (var1 ? (-((-(var5[56])))) : (var2--)),
@@ -2156,8 +2154,7 @@
                                           ? ((var2--) ?? fld3_2)
                                           : var5[(fld3_2--)])],
                                       52: '(('
-                                    })
-                                        .isEmpty)))
+                                    }).isEmpty)))
                                 ? fld3_0
                                 : {
                                     39: foo1_3(),
diff --git a/tests/language/vm/regression_38741.dart b/tests/language/vm/regression_38741_test.dart
similarity index 96%
rename from tests/language/vm/regression_38741.dart
rename to tests/language/vm/regression_38741_test.dart
index 2dd1223..246a7b9 100644
--- a/tests/language/vm/regression_38741.dart
+++ b/tests/language/vm/regression_38741_test.dart
@@ -10,7 +10,7 @@
 import 'package:expect/expect.dart';
 
 @pragma('vm:prefer-inline')
-bool foo(int x) => x < 10;
+bool foo(dynamic x) => x < 10;
 
 @pragma('vm:never-inline')
 bool bar(bool f) => f && foo(1);
diff --git a/tests/language/why_not_promoted/nullable_operator_call_error.dart b/tests/language/why_not_promoted/nullable_operator_call_error_test.dart
similarity index 100%
rename from tests/language/why_not_promoted/nullable_operator_call_error.dart
rename to tests/language/why_not_promoted/nullable_operator_call_error_test.dart
diff --git a/tests/language_2/async_star/pause_test2.dart b/tests/language_2/async_star/pause2_test.dart
similarity index 100%
rename from tests/language_2/async_star/pause_test2.dart
rename to tests/language_2/async_star/pause2_test.dart
diff --git a/tests/language_2/function_subtype/null.dart b/tests/language_2/function_subtype/null_test.dart
similarity index 100%
rename from tests/language_2/function_subtype/null.dart
rename to tests/language_2/function_subtype/null_test.dart
diff --git a/tests/language_2/identifier/known_prefix_error_test.dart b/tests/language_2/identifier/known_prefix_error_test.dart
index 73a5e97..2cc7982 100644
--- a/tests/language_2/identifier/known_prefix_error_test.dart
+++ b/tests/language_2/identifier/known_prefix_error_test.dart
@@ -17,6 +17,10 @@
 import 'built_in_prefix_library_async.dart' as async;
 import 'built_in_prefix_library_await.dart' as await;
 import 'built_in_prefix_library_hide.dart' as hide;
+import 'built_in_prefix_library_library.dart' as library;
+//                                               ^^^^^^^
+// [analyzer] COMPILE_TIME_ERROR.BUILT_IN_IDENTIFIER_IN_DECLARATION
+// [cfe] Can't use 'library' as a name here.
 import 'built_in_prefix_library_of.dart' as of;
 import 'built_in_prefix_library_on.dart' as on;
 import 'built_in_prefix_library_show.dart' as show;
@@ -24,42 +28,42 @@
 import 'built_in_prefix_library_yield.dart' as yield;
 
 async<dynamic> _async = new async.A();
-// [error line 26, column 1, length 5]
+// [error line 30, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'async' isn't a type.
 // [cfe] Expected 0 type arguments.
 await<dynamic> _await = new await.A();
-// [error line 31, column 1, length 5]
+// [error line 35, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'await' isn't a type.
 // [cfe] Expected 0 type arguments.
 hide<dynamic> _hide = new hide.A();
-// [error line 36, column 1, length 4]
+// [error line 40, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'hide' isn't a type.
 // [cfe] Expected 0 type arguments.
 of<dynamic> _of = new of.A();
-// [error line 41, column 1, length 2]
+// [error line 45, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'of' isn't a type.
 // [cfe] Expected 0 type arguments.
 on<dynamic> _on = new on.A();
-// [error line 46, column 1, length 2]
+// [error line 50, column 1, length 2]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'on' isn't a type.
 // [cfe] Expected 0 type arguments.
 show<dynamic> _show = new show.A();
-// [error line 51, column 1, length 4]
+// [error line 55, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'show' isn't a type.
 // [cfe] Expected 0 type arguments.
 sync<dynamic> _sync = new sync.A();
-// [error line 56, column 1, length 4]
+// [error line 60, column 1, length 4]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'sync' isn't a type.
 // [cfe] Expected 0 type arguments.
 yield<dynamic> _yield = new yield.A();
-// [error line 61, column 1, length 5]
+// [error line 65, column 1, length 5]
 // [analyzer] COMPILE_TIME_ERROR.NOT_A_TYPE
 // [cfe] 'yield' isn't a type.
 // [cfe] Expected 0 type arguments.
diff --git a/tests/language_2/library/a.dart b/tests/language_2/library/a.dart
deleted file mode 100644
index 1b7fc61..0000000
--- a/tests/language_2/library/a.dart
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryA.dart;
-
-import "c.dart";
-
-var fooA = fooC;
diff --git a/tests/language_2/library/b.dart b/tests/language_2/library/b.dart
deleted file mode 100644
index dfc7b36..0000000
--- a/tests/language_2/library/b.dart
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryB.dart;
-
-import "c.dart";
-
-var fooB = fooC;
diff --git a/tests/language_2/library/c.dart b/tests/language_2/library/c.dart
deleted file mode 100644
index cc212ff..0000000
--- a/tests/language_2/library/c.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryC.dart;
-
-var fooC = 10;
diff --git a/tests/language_2/library/d.dart b/tests/language_2/library/d.dart
deleted file mode 100644
index 25ec2a9..0000000
--- a/tests/language_2/library/d.dart
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryD.dart;
-
-import "f.dart";
-
-var fooD = fooC;
diff --git a/tests/language_2/library/e.dart b/tests/language_2/library/e.dart
deleted file mode 100644
index c00631e..0000000
--- a/tests/language_2/library/e.dart
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryE.dart;
-
-import "c.dart";
-import "f.dart";
-
-var fooE = 0;
diff --git a/tests/language_2/library/f.dart b/tests/language_2/library/f.dart
deleted file mode 100644
index 085bea4..0000000
--- a/tests/language_2/library/f.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library libraryF.dart;
-
-var fooC = 10;
diff --git a/tests/language_2/library/library3.dart b/tests/language_2/library/library3.dart
deleted file mode 100644
index 96a979f..0000000
--- a/tests/language_2/library/library3.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library library3.dart;
-
-import "../library2.dart"; // defines "foo" and "foo1".
diff --git a/tests/language_2/library/library4.dart b/tests/language_2/library/library4.dart
deleted file mode 100644
index f4d701e..0000000
--- a/tests/language_2/library/library4.dart
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2011, 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.
-//
-
-// @dart = 2.9
-
-library library4.dart;
-
-import "../library2.dart"; // defines "foo" and "foo1".
-
-var foo;
-var foo1 = 0;
diff --git a/tests/language_2/library/library6.dart b/tests/language_2/library/library6_test.dart
similarity index 100%
rename from tests/language_2/library/library6.dart
rename to tests/language_2/library/library6_test.dart
diff --git a/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type.dart b/tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type_test.dart
similarity index 100%
rename from tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type.dart
rename to tests/language_2/nosuchmethod_forwarding/abstract_override_with_different_type_test.dart
diff --git a/tests/language_2/prefix/new_test.dart b/tests/language_2/prefix/new_test.dart
index a056bdf..8eac176 100644
--- a/tests/language_2/prefix/new_test.dart
+++ b/tests/language_2/prefix/new_test.dart
@@ -7,7 +7,7 @@
 library PrefixTest;
 
 import "package:expect/expect.dart";
-import "test1.dart";
+import "new_test1.dart";
 
 main() {
   Expect.equals(Prefix.getSource(), Prefix.getImport() + 1);
diff --git a/tests/language_2/prefix/new_test1.dart b/tests/language_2/prefix/new_test1.dart
index 98c0e76..05681ee 100644
--- a/tests/language_2/prefix/new_test1.dart
+++ b/tests/language_2/prefix/new_test1.dart
@@ -6,7 +6,7 @@
 
 library PrefixTest1;
 
-import "test2.dart" as test2;
+import "new_test2.dart" as test2;
 
 class Prefix {
   static const int foo = 43;
diff --git a/tests/language_2/regress/regress34091.dart b/tests/language_2/regress/regress34091_test.dart
similarity index 100%
rename from tests/language_2/regress/regress34091.dart
rename to tests/language_2/regress/regress34091_test.dart
diff --git a/tests/language_2/script/source.dart b/tests/language_2/script/source.dart
deleted file mode 100644
index b9861c7..0000000
--- a/tests/language_2/script/source.dart
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011, 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.
-
-// @dart = 2.9
-
-// A perfectly legal dart source file for use with script and library tests.
-
-const int script_source = 1;
diff --git a/tests/language_2/string/overflow.dart b/tests/language_2/string/overflow_test.dart
similarity index 100%
rename from tests/language_2/string/overflow.dart
rename to tests/language_2/string/overflow_test.dart
diff --git a/tests/language_2/top_level/file3.dart b/tests/language_2/top_level/file3.dart
deleted file mode 100644
index d9ffab6..0000000
--- a/tests/language_2/top_level/file3.dart
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011, 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.
-
-// @dart = 2.9
-
-main() {
-  Expect.equals(42, prefix.topLevelVar);
-}
diff --git a/tests/language_2/unsorted/unevaluated_field.dart b/tests/language_2/unsorted/unevaluated_field_test.dart
similarity index 100%
rename from tests/language_2/unsorted/unevaluated_field.dart
rename to tests/language_2/unsorted/unevaluated_field_test.dart
diff --git a/tests/language_2/vm/regression_38412.dart b/tests/language_2/vm/regression_38412_test.dart
similarity index 100%
rename from tests/language_2/vm/regression_38412.dart
rename to tests/language_2/vm/regression_38412_test.dart
diff --git a/tests/language_2/vm/regression_38436.dart b/tests/language_2/vm/regression_38436.dart
deleted file mode 100644
index f350f6c..0000000
--- a/tests/language_2/vm/regression_38436.dart
+++ /dev/null
@@ -1,2364 +0,0 @@
-// Copyright (c) 2019, 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.
-
-// @dart = 2.9
-
-// VMOptions=--optimization_counter_threshold=1
-
-import "package:expect/expect.dart";
-
-// Found by DartFuzzing: would sometimes crash on OSR
-// https://github.com/dart-lang/sdk/issues/38436
-
-import 'dart:async';
-import 'dart:cli';
-import 'dart:collection';
-import 'dart:convert';
-import 'dart:core';
-import 'dart:io';
-import 'dart:isolate';
-import 'dart:math';
-import 'dart:typed_data';
-
-String var0 = '';
-bool var1 = true;
-int var2 = -30;
-double var3 = 0.895077679110543;
-String var4 = '';
-List<int> var5 = [55, -70];
-Set<int> var6 = {
-  1024,
-  for (int loc0 in [
-    79,
-    ...[23],
-    ...[90, -89, -24],
-    -90,
-    11,
-    -19,
-    -91
-  ])
-    -55,
-  67,
-  -80,
-  for (int loc0 = 0; loc0 < 29; loc0++) 20,
-  for (int loc0 = 0; loc0 < 24; loc0++) ...{23, -41},
-  ...{
-    -75,
-    128,
-    9223372034707292159,
-    -56,
-    -59,
-    for (int loc0 in {
-      -67,
-      for (int loc1 in [-27, -59, 31, 32, -66, -87]) -9223372036854775680,
-      85,
-      -45,
-      if (false) 70,
-      13,
-      43,
-      48
-    })
-      if (true) 63,
-    ...{-90, -24, -9223372036854743041, -9223372032559808383, 86},
-    -25
-  }
-};
-Map<int, String> var7 = {
-  6: '',
-  ...{56: 'B\u2665pwO', 73: 'ZJDi\u{1f600}m'},
-  ...{73: ')', 14: '93Q'},
-  98: 'xA0jQL',
-  21: ')\u2665TOy',
-  for (int loc0 = 0; loc0 < 82; loc0++) 34: 'Q3\u2665#61',
-  ...{70: 'XXRXl3O', 56: '\u2665lda2Zy', 38: 'Dr#mtz', 6: 'nx'},
-  27: '('
-};
-
-Set<int> foo0() {
-  var3 += ((((var0 + var7[var5[88]])).isEmpty ? true : var1)
-      ? (var1 ? (var3 ?? var3) : var3)
-      : (var1 ? 0.24414824314186978 : var3));
-  var1 ??= true;
-  return {(var2--), Duration.secondsPerHour, var5[var2]};
-}
-
-Map<int, String> foo1(List<int> par1, bool par2) {
-  throw ((-(var3)) * (-(0.943305664017911)));
-}
-
-List<int> foo2(Set<int> par1, List<int> par2, Map<int, String> par3) {
-  switch (-49) {
-    case 4149672951:
-      {
-        for (int loc0 in foo0()) {
-          var6 = var6;
-          try {
-            for (int loc1 = 0; loc1 < 70; loc1++) {
-              switch (((var1
-                      ? ((var1 ? var1 : true) ? Float32x4.xzzw : (--var2))
-                      : (4295032831 % (loc1 + 93))))
-                  .floor()) {
-                case 3294548737:
-                  {
-                    var5[Int32x4.xxwy] ^=
-                        (loc0 * ('!').compareTo(((!(true)) ? var4 : 'S')));
-                  }
-                  break;
-                case 3294548738:
-                  {
-                    var0 = var4;
-                    loc0 <<= Int32x4.zwxz;
-                  }
-                  break;
-              }
-              {
-                int loc2 = 0;
-                do {
-                  var1 = ('Ncb\u2665P9K').isEmpty;
-                  var1 ??= (!(true));
-                } while (++loc2 < 91);
-              }
-            }
-            par3 ??= {
-              44: ((false
-                      ? false
-                      : ((true
-                              ? var7
-                              : {
-                                  17: par3[(var5[-73] - -20)],
-                                  80: var7[
-                                      ((++loc0) ~/ ((!(false)) ? 47 : var2))],
-                                  30: '8Qvz3',
-                                  36: '',
-                                  10: (('@B!0bW6' + var4)).toLowerCase(),
-                                  89: var7[-9223372036854775296],
-                                  4: ') '
-                                }) !=
-                          var7))
-                  ? ((var1 || (!(var1))) ? var7[Float32x4.wxzw] : var7[-7])
-                  : '8h'),
-              for (int loc1 in [
-                (false
-                    ? ((([
-                                  var2,
-                                  -39,
-                                  -74,
-                                  Float32x4.zzxy,
-                                  (~(var5[(67 + -86)])),
-                                  -53
-                                ] +
-                                [(var2++), var5[par2[(--loc0)]]]) !=
-                            [
-                              var5[var5[var5[(loc0++)]]],
-                              loc0,
-                              loc0,
-                              -55,
-                              -69,
-                              loc0
-                            ])
-                        ? (loc0--)
-                        : loc0)
-                    : var2),
-                (75 ^ 93),
-                (false ? var5[Float32x4.xzyw] : (loc0++)),
-                ...[
-                  for (int loc2 in {
-                    -22,
-                    (loc0 ^ 2),
-                    var5[(-((par2[-79] * 86)))],
-                    (++loc0),
-                    ((par2[var5[-45]] ?? 55) >> (true ? Int32x4.wyww : -45)),
-                    (~((++var2))),
-                    par2[var2]
-                  })
-                    (loc0--),
-                  if ((var7[(false ? (-(loc0)) : 19)]).endsWith(var4))
-                    (++var2)
-                  else
-                    (var1 ? loc0 : 39),
-                  (((var2++) & var2) & -26),
-                  if (false) (var1 ? Float32x4.wzzw : var5[129]),
-                  for (int loc2 in {
-                    (loc0--),
-                    (true ? loc0 : loc0),
-                    var2,
-                    var5[(0.4452451921266031).floor()],
-                    (~(-4294967196)),
-                    (loc0--),
-                    (--var2)
-                  })
-                    (var1 ? -30 : (loc0++)),
-                  (~((var1 ? 51 : var2))),
-                  (((var3 ?? pi) < 0.9098824013356337)
-                      ? ((true ? 57 : -48) << (--var2))
-                      : par2[-59])
-                ]
-              ])
-                84: var4,
-              57: var4
-            };
-          } catch (exception, stackTrace) {
-            /**
-           ** Multi-line
-           ** documentation comment.
-           */
-            for (int loc1 = 0; loc1 < 89; loc1++) {
-              switch ((var2--)) {
-                case 3807258589:
-                  {
-                    print(({
-                          (-34 ^
-                              ((false || var1)
-                                  ? 24
-                                  : (-(((-((var1
-                                          ? par2[(-(71))]
-                                          : 9223372032559808768))) +
-                                      (~(loc1))))))),
-                          (~((true ? loc0 : (false ? -75 : 33)))),
-                          Float32x4.zxwz,
-                          (false ? (15 * -83) : (var2--)),
-                          ((var7 !=
-                                  ((true ? var1 : false)
-                                      ? var7
-                                      : {
-                                          99: (true ? 'TobD' : var0),
-                                          59: (var4 ?? var4),
-                                          13: var4,
-                                          58: Uri.encodeFull(var4),
-                                          99: var7[loc1]
-                                        }))
-                              ? loc1
-                              : (var1
-                                  ? ((72 >> -15) ~/ (loc0--))
-                                  : -9223372030412324864)),
-                          32
-                        } ??
-                        par1));
-                  }
-                  break;
-                case 3807258592:
-                  {
-                    var1 ??= true;
-                    try {
-                      var7 = {9: (var1 ? 'ON' : 'f\u{1f600}b')};
-                      par2 = (true
-                          ? var5
-                          : [
-                              DateTime.january,
-                              (40 - (~(var2))),
-                              (var1 ? (--loc0) : 23),
-                              var5[(--var2)]
-                            ]);
-                    } catch (exception, stackTrace) {
-                      var3 /= 0.9998663372091022;
-                    } finally {
-                      par2 ??= ((var1
-                              ? false
-                              : (((par1 ??
-                                          {
-                                            -68,
-                                            86,
-                                            -33,
-                                            var5[(-9223372034707292159 - 90)],
-                                            (24 - (++var2)),
-                                            (-(var2)),
-                                            (loc1 * Int32x4.wyxx)
-                                          }))
-                                      .difference({
-                                    (var1 ? Float32x4.yzyw : (loc1 % loc0)),
-                                    6,
-                                    22,
-                                    91,
-                                    loc0,
-                                    (true ? loc1 : loc1)
-                                  }) ==
-                                  foo0()))
-                          ? par2
-                          : [
-                              (var2--),
-                              (-((++loc0))),
-                              ((-(var5[-52])) ~/
-                                  (true ? Int32x4.wyyy : (loc0--))),
-                              (var3).toInt()
-                            ]);
-                      var5[99] += (~(Float32x4.ywxw));
-                    }
-                  }
-                  break;
-              }
-              var5 = (par2 ??
-                  [
-                    ...[72],
-                    for (int loc2 in {Float32x4.xxwz, loc1})
-                      ((loc0--) ~/ (var2++)),
-                    par2[(++var2)],
-                    (-((--var2))),
-                    (var2++),
-                    -56,
-                    (~((~(loc0)))),
-                    for (int loc2 in {
-                      (-((~(17)))),
-                      Float32x4.zzzw,
-                      Float32x4.zyyz,
-                      (var2--),
-                      (Int32x4.wzwz % 78),
-                      loc0
-                    })
-                      Int32x4.xzzy
-                  ]);
-            }
-            {
-              int loc1 = 0;
-              do {
-                loc0 &= (-(4295000065));
-              } while (++loc1 < 94);
-            }
-          } finally {
-            var3 -= 0.020483900923215503;
-            try {
-              return [
-                ...[
-                  (loc0--),
-                  for (int loc1 in {Float32x4.yxyz})
-                    if (var1) (~(-35)) else loc0,
-                  (++loc0),
-                  for (int loc1 = 0; loc1 < 43; loc1++)
-                    (var5[var5[par2[var5[-9223372032559808384]]]] &
-                        Int32x4.yzxy),
-                  for (int loc1 = 0; loc1 < 98; loc1++) (-((~(Int32x4.xwwy)))),
-                  Float32x4.yzzz
-                ],
-                (-(Int32x4.xzxz))
-              ];
-            } catch (exception, stackTrace) {
-              for (int loc1
-                  in (((((!((((0.13101852551635873 == 0.4825498460563603)
-                                          ? var7
-                                          : var7) !=
-                                      var7)))
-                                  ? 1
-                                  : par2[var2]))
-                              .isEven
-                          ? {
-                              (var2++),
-                              (-48 | -54),
-                              (~(par2[loc0])),
-                              par2[var5[Int32x4.zyzz]],
-                              -2,
-                              (true ? (~((-(((!(false)) ? -11 : var2))))) : 73),
-                              if ((0.15992181539430828).isInfinite) (++var2)
-                            }
-                          : (false ? {-6} : {((++loc0) % 27), 92})) ??
-                      Set.identity())) {
-                var6 ??= foo0();
-              }
-              var5[(~(((true ? -10 : Float32x4.zzwy) -
-                  Duration.millisecondsPerSecond)))] = (~((var2--)));
-            }
-          }
-        }
-        par3.forEach((loc0, loc1) {
-          // Single-line comment.
-          var6 = (var6 ?? foo0());
-          par1 = {
-            if (('X2yPgV').endsWith('b'))
-              Float32x4.yxxy
-            else if (true)
-              Int32x4.xzyw
-            else
-              for (int loc2 = 0; loc2 < 9; loc2++) (++loc0),
-            (4294967551 ?? (-((loc0--)))),
-            (-69 ~/
-                ((!(false))
-                    ? ((((par2[Int32x4.zwzw]).isEven
-                                ? (var3).truncateToDouble()
-                                : 0.14035347150303745))
-                            .isInfinite
-                        ? Int32x4.yzxx
-                        : par2[loc0])
-                    : (var2++))),
-            ((loc0++) - ((++var2) >> (~(par2[(var2--)]))))
-          };
-        });
-      }
-      break;
-    case 4149672955:
-      {
-        par2[((var2 ^ (~((--var2)))) | -98)] *= -62;
-        {
-          int loc0 = 0;
-          do {
-            var0 = par3[(var5[4294967808] >> Float32x4.wwyx)];
-          } while (++loc0 < 46);
-        }
-      }
-      break;
-  }
-  var1 ??= (!((var3).isNaN));
-  return (var1
-      ? par2
-      : Uri.parseIPv6Address(
-          (var1 ? '' : '26DgiI'), (ZLibOption.maxMemLevel % 65), 68));
-}
-
-class X0 {
-  bool fld0_0 = true;
-  Set<int> fld0_1 = {
-    31,
-    if (true) ...{
-      -93,
-      -4294967041,
-      -4294934527,
-      if (false) 92,
-      if (true) 69
-    } else
-      85,
-    ...{
-      ...{73, 27},
-      for (int loc0 in {
-        for (int loc1 = 0; loc1 < 56; loc1++) -36,
-        -23,
-        -99,
-        20,
-        16,
-        11,
-        if (false) -24,
-        if (true) 14
-      })
-        if (false) 69,
-      -9223372032559808513,
-      -9223372036854775553,
-      -9223372036854774784,
-      -22
-    },
-    81,
-    ...{16, if (false) 67 else -30, if (true) 21 else -61, -84},
-    -69
-  };
-
-  List<int> foo0_0(Map<int, String> par1) {
-    if ((var1 ? ((!(fld0_0)) ? true : false) : true)) {
-      return ((var4).trim()).codeUnits;
-    } else {
-      for (int loc0 in var6) {
-        fld0_0 ??= var1;
-        for (int loc1 = 0; loc1 < 57; loc1++) {
-          {
-            Map<int, String> loc2 = Map.identity();
-            par1 ??= Map.unmodifiable(Map.unmodifiable(Map.unmodifiable((true
-                ? loc2
-                : ((true
-                        ? loc2
-                        : foo1(
-                            [var5[-60], loc0, var5[-48], -80, var5[var5[37]]],
-                            var1)) ??
-                    {
-                      60: var0,
-                      93: ((false ? var0 : '') + 'r\u{1f600}2B#p')
-                    })))));
-            var4 = ' ';
-          }
-          try {
-            var5 = foo2(
-                ({loc0, 37, Float32x4.wwyw} ?? var6),
-                ((fld0_0
-                        ? [
-                            for (int loc2 = 0; loc2 < 1; loc2++)
-                              (~(Float32x4.zyzz)),
-                            (~((true
-                                ? (Float32x4.yyzw >> (48 - (-((var2--)))))
-                                : (~(loc0))))),
-                            ((var4 ==
-                                    String.fromEnvironment(
-                                        (var1 ? 'l9FM' : par1[var5[loc0]])))
-                                ? (++loc0)
-                                : 4),
-                            ...[
-                              (~((var5[-9223372032559808448] - (++var2)))),
-                              ...[
-                                for (int loc2 in [
-                                  ((-12 <= 55) ? 9223372032559841280 : loc0),
-                                  var5[var5[(~(var5[var5[loc1]]))]],
-                                  (var1 ? 67 : -74)
-                                ])
-                                  (var5[var2]).sign,
-                                var5[-65],
-                                if (fld0_0)
-                                  var5[(var5[var5[-90]] ~/ 22)]
-                                else
-                                  (-9223372036854775679 + var5[16]),
-                                76,
-                                7
-                              ],
-                              (++var2),
-                              -9223372034707292160,
-                              (var2--),
-                              var5[(var2--)]
-                            ],
-                            loc1,
-                            Float32x4.ywxz,
-                            ((++loc0) + (--loc0)),
-                            for (int loc2 in [
-                              for (int loc3 = 0; loc3 < 4; loc3++) loc1,
-                              ...[
-                                Float32x4.zxwy,
-                                Float32x4.xzwx,
-                                var2,
-                                (++var2),
-                                Int32x4.xzyy,
-                                (var5[loc1] | (true ? -97 : -93)),
-                                Float32x4.xwyz,
-                                ((true || var1)
-                                    ? (~((--loc0)))
-                                    : (~((var5[18] % (-55 + loc0)))))
-                              ],
-                              (~((++loc0))),
-                              -85,
-                              (~((var2++))),
-                              (true
-                                  ? ZLibOption.maxMemLevel
-                                  : var5[var5[var5[var5[var2]]]]),
-                              ((true
-                                      ? ((!((false
-                                              ? (true ? fld0_0 : (!(false)))
-                                              : fld0_0)))
-                                          ? fld0_0
-                                          : (({
-                                                96: var4,
-                                                60: '(0yBGn\u{1f600}',
-                                                57: var4,
-                                                73: var7[-43],
-                                                38: var0
-                                              })
-                                                  .isNotEmpty ||
-                                              ({
-                                                67: var4,
-                                                14: 'M\u{1f600}1HNbP',
-                                                6: 's',
-                                                85: 'uyq',
-                                                95: var7[(-(Int32x4.wwxw))],
-                                                33: ''
-                                              })
-                                                  .isNotEmpty))
-                                      : false)
-                                  ? var2
-                                  : (++var2))
-                            ]) ...[-27]
-                          ]
-                        : [
-                            for (int loc2 = 0; loc2 < 87; loc2++)
-                              (-47 * (~((((--var2) ^ loc0) ?? 78)))),
-                            (-(((({
-                                  14: (var3).toStringAsExponential(
-                                      (false ? var5[-62] : 33)),
-                                  16: '',
-                                  71: var4,
-                                  78: (([var5[(-(91))]] == var5) ? var4 : var0),
-                                  9: par1[loc1],
-                                  51: '-8ht',
-                                  26: ('(2l3\u2665h' ?? var0),
-                                  79: var4
-                                })
-                                        .isNotEmpty
-                                    ? var5[(var2 % loc0)]
-                                    : var2) %
-                                ((!(NetworkInterface.listSupported))
-                                    ? -22
-                                    : ((var1
-                                            ? ([
-                                                  ZLibOption.STRATEGY_DEFAULT,
-                                                  21,
-                                                  loc1,
-                                                  loc1,
-                                                  loc0,
-                                                  5,
-                                                  loc0,
-                                                  98
-                                                ] ==
-                                                Uri.parseIPv4Address(
-                                                    var7[loc1]))
-                                            : var1)
-                                        ? (~((-20 %
-                                            (var5).removeAt(Float32x4.wyxw))))
-                                        : var5[var5[82]]))))),
-                            (-(Float32x4.wwwz)),
-                            Int32x4.wxxz,
-                            ...[
-                              (loc0++),
-                              ...[
-                                (--loc0),
-                                -2,
-                                ZLibOption.DEFAULT_WINDOW_BITS,
-                                -42,
-                                for (int loc2 = 0; loc2 < 2; loc2++) (-(-22)),
-                                (~(-81))
-                              ],
-                              (--var2)
-                            ],
-                            (++var2),
-                            ((!(false)) ? (--var2) : (((~(34)) >> 48) << 79)),
-                            loc1
-                          ]) +
-                    foo2(
-                        foo0(),
-                        ([
-                              (((~(var5[(-(var5[(87 % var5[(++var2)])]))])) ??
-                                      -11) ~/
-                                  (var2++)),
-                              ((((!(var1)) && true) ? loc1 : 98) <<
-                                  ((!((true != (var4 == par1[var5[(~(-83))]]))))
-                                      ? -44
-                                      : var5[88])),
-                              Float32x4.yyyz,
-                              -44,
-                              Int32x4.xzyx,
-                              (++loc0)
-                            ] ??
-                            [
-                              ((foo1([((!(var1)) ? 24 : 81), -93], true))
-                                      .isEmpty
-                                  ? 52
-                                  : (~(Int32x4.zyww))),
-                              Int32x4.xxwz,
-                              (-(-11)),
-                              (loc0--),
-                              ((!(bool.fromEnvironment('U\u2665')))
-                                  ? (loc0++)
-                                  : (++var2))
-                            ]),
-                        {
-                          70: var7[7],
-                          18: '\u2665(#&c\u{1f600}-',
-                          58: 'KuNr',
-                          96: '\u{1f600}2\u2665YY',
-                          94: var0,
-                          28: 'l-'
-                        })),
-                par1);
-            {
-              double loc2 = double.infinity;
-              /*
-               * Multi-line
-               * comment.
-               */
-              return ('a!wNh!').codeUnits;
-            }
-          } catch (exception, stackTrace) {
-            continue;
-          } finally {
-            fld0_0 = (!(fld0_0));
-            var5 ??= ((Uri.parseIPv4Address('H') ??
-                    (foo2({
-                          loc1,
-                          ([
-                                if (((true ? loc0 : (loc0++)) <
-                                    ((!(var1)) ? -90 : Int32x4.yyzx)))
-                                  (~(var2))
-                                else
-                                  for (int loc2 in {
-                                    if (SecurityContext.alpnSupported)
-                                      var2
-                                    else
-                                      Int32x4.wzzy,
-                                    -9223372036754112763,
-                                    (-((var1
-                                        ? var5[62]
-                                        : (-(Float32x4.wzwz))))),
-                                    (~(Float32x4.yxzy))
-                                  })
-                                    ((((true && (false ? fld0_0 : var1))
-                                                ? fld0_0
-                                                : false)
-                                            ? true
-                                            : (fld0_0 && var1))
-                                        ? (true ? (~(loc1)) : var5[-16])
-                                        : loc0),
-                                for (int loc2 = 0; loc2 < 1; loc2++)
-                                  ((false && var1) ? Float32x4.yzyy : 50)
-                              ][var2] *
-                              [
-                                ...[
-                                  (((-10 >> Int32x4.wxzw) *
-                                          ((0.42979687169554437 >=
-                                                  0.17848133910264385)
-                                              ? -4
-                                              : var5[-15])) |
-                                      var5[(loc0++)]),
-                                  ...[
-                                    (('@jcNl\u2665P')
-                                            .compareTo(var7[(loc0--)]) &
-                                        (~((~(loc0))))),
-                                    if ((!(((!(true)) && true)))) 2,
-                                    loc1,
-                                    ((var5[(loc0--)] | -38) & (loc0++)),
-                                    var2,
-                                    (~(-22)),
-                                    if (false) loc0 else 80,
-                                    (--loc0)
-                                  ],
-                                  ...[15],
-                                  ((~((~(-5)))) ^ Int32x4.xxxz),
-                                  79,
-                                  for (int loc2 in [
-                                    (fld0_0 ? -0 : (loc0++)),
-                                    -49,
-                                    for (int loc3 in [
-                                      -16,
-                                      (var2--),
-                                      35,
-                                      ((14 * -68) ~/ Int32x4.wwyy)
-                                    ])
-                                      var5[(fld0_0 ? 28 : (-41 ?? 19))],
-                                    loc0,
-                                    (var3).round(),
-                                    if ((!((!((!(false))))))) loc1,
-                                    (loc0++),
-                                    Int32x4.wyww
-                                  ])
-                                    ((--var2) * var5[(6 & var5[(~(-53))])]),
-                                  (loc0++),
-                                  Float32x4.xwxx
-                                ],
-                                Int32x4.ywyw,
-                                (-(ZLibOption.strategyFixed)),
-                                (80 % (loc0--)),
-                                var5[Int32x4.zxww]
-                              ][var5[50]]),
-                          (false ? -71 : 39),
-                          (var5[-61]).toSigned(loc0),
-                          -50,
-                          4294967296
-                        }, [
-                          (16 *
-                              (~(((var1 ? ZLibOption.STRATEGY_FIXED : -66) *
-                                  4)))),
-                          Float32x4.wwwx
-                        ], {
-                          63: var0,
-                          52: (fld0_0 ? 'uG\u2665V@4' : '62'),
-                          98: var7[var5[-83]],
-                          70: (false
-                              ? 'bSg'
-                              : base64UrlEncode(([
-                                    (~(var2)),
-                                    -52,
-                                    68,
-                                    [
-                                      10,
-                                      loc1,
-                                      92,
-                                      53,
-                                      Int32x4.zzyw,
-                                      (true ? 12 : 19),
-                                      (~(var5[(++var2)]))
-                                    ][-64],
-                                    (++loc0),
-                                    (loc0 << -26)
-                                  ] +
-                                  [
-                                    var5[(--loc0)],
-                                    (((var1 ? var5[var5[(var2--)]] : loc1) +
-                                            (--var2)) <<
-                                        Int32x4.wyyx)
-                                  ]))),
-                          16: 'YsD\u2665\u2665K',
-                          0: var0,
-                          93: var7[(-(var5[-43]))]
-                        }) ??
-                        var5)) ??
-                [
-                  if (fld0_0) -90,
-                  (--var2),
-                  ...[
-                    for (int loc2 in [
-                      (false ? (~(-9)) : -4294901760),
-                      (-(-7)),
-                      -51,
-                      (var1 ? -75 : [Float32x4.wwxw, Int32x4.zxyx][-7]),
-                      Float32x4.xyww,
-                      Int32x4.wwzx,
-                      (loc0++),
-                      (NetworkInterface.listSupported
-                          ? [1000][Float32x4.zzyx]
-                          : -71)
-                    ])
-                      -27,
-                    Float32x4.wyzy,
-                    (++var2)
-                  ]
-                ]);
-          }
-        }
-      }
-      throw Map.unmodifiable(foo1(
-          (MapBase.mapToString(foo1((false ? [var2] : var5), false))).codeUnits,
-          true));
-    }
-  }
-
-  void run() {}
-}
-
-class X1 extends X0 {
-  double fld1_0 = 0.47694301047645304;
-  bool fld1_1 = true;
-
-  Map<int, String> foo1_0(
-      Map<int, String> par1, Map<int, String> par2, double par3) {
-    // Single-line comment.
-    for (int loc0 = 0; loc0 < 91; loc0++) {
-      par2.forEach((loc1, loc2) {
-        {
-          bool loc3 = (fld1_1 || ('U\u2665').isEmpty);
-          var3 /= 0.8504341352135224;
-        }
-      });
-      {
-        int loc1 = 66;
-        while (--loc1 > 0) {
-          if (((!((true || fld1_1))) == true)) {
-            var0 ??= par2[var5[(~((false ? ((!(var1)) ? -95 : var2) : -37)))]];
-            /**
-             ** Multi-line
-             ** documentation comment.
-             */
-            return Map.unmodifiable({
-              55: var4,
-              73: 'c#',
-              17: (fld1_1
-                  ? '7\u{1f600}e'
-                  : ((!(var1)) ? '8E7AK2e' : 'Fm\u{1f600} F')),
-              40: 'mb(\u{1f600}\u2665l',
-              36: Uri.decodeFull((true ? par2[-32769] : var7[Float32x4.zyxz])),
-              51: ((false &&
-                      (((var1 ? true : true) || false)
-                          ? (var7[(var2--)]).isEmpty
-                          : true))
-                  ? (fld1_1
-                      ? (fld1_1 ? (var1).toString() : 'r9M')
-                      : ((true ? (0.2863696758528199 != par3) : false)
-                          ? (fld1_1 ? par1[Int32x4.zwyz] : var4)
-                          : var4))
-                  : var4),
-              8: '6G',
-              62: '+z@Gp'
-            });
-          } else {
-            var5[Int32x4.zzyy] ??= (-(var5[((!(false)) ? loc1 : -34)]));
-            {
-              int loc2 = (-(7));
-              var3 /= (true
-                  ? (-(((-9223372032459145467).isEven
-                      ? fld1_0
-                      : (-((-(0.7008573255099826)))))))
-                  : par3);
-            }
-          }
-          for (int loc2 in foo2(var6, var5, {
-            if (false) 11: par1[((var4).isEmpty ? 55 : -61)],
-            12: 'f5j2v\u{1f600}',
-            52: (((foo1(
-                            (((var1
-                                        ? {var5[-66], var2, 88, 12, 6, -96}
-                                        : (var1
-                                            ? {-25, 84, (var2--), var5[83]}
-                                            : {-36, var5[51], var2})) !=
-                                    {var5[(++var2)]})
-                                ? [-2147483648, 46, loc0, var5[loc0], -21]
-                                : foo2(
-                                    {var5[var5[loc0]]},
-                                    (true
-                                        ? var5
-                                        : [
-                                            -30,
-                                            var5[(-(-42))],
-                                            var2,
-                                            Float32x4.zywx,
-                                            loc1,
-                                            63,
-                                            -25,
-                                            -28
-                                          ]),
-                                    {30: 'j\u2665U', 98: var4})),
-                            false))
-                        .isNotEmpty
-                    ? (false ? fld1_0 : 0.3202297128057393)
-                    : 0.1301025669674245))
-                .toStringAsFixed(((fld1_1 ? 79 : -88) + Int32x4.xyzw)),
-            88: (false ? var7[(var2++)] : (var4 ?? '')),
-            31: (var1
-                ? (var1 ? par2[-87] : (true ? par2[-14] : var4))
-                : ((fld1_1 != true) ? '3nd9t&' : var4)),
-            22: ('(Czi' + '-Y')
-          })) {
-            var7[(loc2--)] = 's';
-          }
-        }
-      }
-    }
-    return par1;
-  }
-
-  String foo1_1(int par1) => var0;
-  Set<int> foo1_2(String par1) {
-    for (int loc0 = 0; loc0 < 58; loc0++) {
-      switch ((~(13))) {
-        case 746492976:
-          {
-            switch (Duration.millisecondsPerDay) {
-              case 3635015902:
-                {
-                  var7[var5[(var5[var2] * (-(var5[Float32x4.yxxz])))]] ??=
-                      (var7[-79] + '(O@');
-                  var7[loc0] ??= String.fromCharCode(var5[(true
-                      ? (var5[((var1 ? true : (false ? fld1_1 : var1))
-                              ? var5[Float32x4.wyyz]
-                              : 73)] ~/
-                          (-(84)))
-                      : -15)]);
-                }
-                break;
-              case 3635015905:
-                {
-                  var1 = (var1
-                      ? (foo1_0(
-                              (((!(false)) || fld1_1) ? var7 : var7),
-                              foo1_0(
-                                  {74: '\u2665e', 10: 'tw8jc0R'},
-                                  foo1_0(
-                                      var7,
-                                      foo1_0(
-                                          ({
-                                                17: var7[Int32x4.zyxy],
-                                                82: var7[64],
-                                                27: 'VEtj',
-                                                90: Uri.encodeQueryComponent(
-                                                    foo1_1(var2)),
-                                                68: 'wew0\u{1f600}'
-                                              } ??
-                                              foo1_0(var7, var7, var3)),
-                                          ({
-                                                65: 'mBeBfUj',
-                                                81: var4,
-                                                35: (var7[-43] + 'l'),
-                                                68: var4
-                                              } ??
-                                              {
-                                                33: ('N\u{1f600}xaY+' ?? par1),
-                                                44: var7[var5[var2]],
-                                                83: var4,
-                                                86: 'k'
-                                              }),
-                                          asin(0.4245871535895427)),
-                                      (-(0.2913717674787144))),
-                                  0.9439800024935644),
-                              (-((true
-                                  ? ((var1 ? false : var1)
-                                      ? 0.09441225978923817
-                                      : 0.42622157485045953)
-                                  : (-(0.29370792038584836)))))))
-                          .isNotEmpty
-                      : (false && true));
-                  var3 += (-(fld1_0));
-                }
-                break;
-            }
-          }
-          break;
-        case 746492979:
-          {
-            var4 = var0;
-            for (int loc1 = 0; loc1 < 88; loc1++) {
-              var2 += 32;
-            }
-          }
-          break;
-      }
-    }
-    {
-      int loc0 = 0;
-      do {
-        return foo0();
-      } while (++loc0 < 57);
-    }
-    return foo0();
-  }
-
-  String foo1_3() {
-    if ((0.42144855521066793).isNegative) {
-      print((false ? (-(fld1_0)) : (-((-((-(0.26854952952179667))))))));
-      switch (30) {
-        case 3830102525:
-          {
-            try {
-              var7.forEach((loc0, loc1) {
-                var1 = (!(true));
-                var6 = (foo1_2(var7[99]) ?? var6);
-              });
-              var6 ??= var6;
-            } catch (exception, stackTrace) {
-              var4 ??= ListBase.listToString([
-                (Duration.microsecondsPerSecond + -82),
-                (true
-                    ? var5[(var2 ~/ (false ? (~((var1 ? 46 : var2))) : var2))]
-                    : (-9223372034707292161 >> var5[var5[-86]])),
-                Float32x4.wxyx
-              ]);
-            } finally {
-              /**
-             ** Multi-line
-             ** documentation comment.
-             */
-              fld1_1 = (var5[var5[var2]]).isOdd;
-            }
-            /*
-           * Multi-line
-           * comment.
-           */
-            if ((SetBase.setToString((fld1_1
-                    ? {12, (fld1_1 ? (-(-22)) : (-(4395630341)))}
-                    : var6)))
-                .isNotEmpty) {
-              try {
-                {
-                  int loc0 = 86;
-                  while (--loc0 > 0) {
-                    {
-                      int loc1 = 0;
-                      do {
-                        var0 = var7[(-(((--var2) &
-                            ((var1 ? (fld1_0).isNaN : true)
-                                ? (-16 | -20)
-                                : ((0.7513819161190503).isNaN ? 45 : loc1)))))];
-
-                        /// Single-line documentation comment.
-                        var5[(true ? loc0 : Float32x4.zxzx)] %= loc0;
-                      } while (++loc1 < 17);
-                    }
-                    for (int loc1 = 0; loc1 < 25; loc1++) {
-                      var5[Float32x4.zywy] <<= Int32x4.ywwx;
-                    }
-                  }
-                }
-              } catch (exception, stackTrace) {
-                var7 = Map.from(foo1_0({
-                  81: (foo1_1(((++var2) * (-(var5[21])))) +
-                      (var7[8] + (var7[var5[53]] ?? var0))),
-                  for (int loc0 in [
-                    (true ? 58 : Float32x4.wyww),
-                    var5[(fld1_1 ? 46 : var2)]
-                  ])
-                    63: var7[(false
-                        ? var5[((24 >> -9223372036854710272) & var2)]
-                        : var5[(80 << var5[-31])])],
-                  67: var0,
-                  1: '3mlOA',
-                  30: ('OQbG').substring((var2--), (--var2)),
-                  93: ((var7[74] ?? var7[(++var2)])).toLowerCase(),
-                  ...{
-                    85: foo1_1(-21),
-                    if ((!((!(false))))) 86: var0,
-                    49: '62+v',
-                    59: foo1_1((--var2)),
-                    for (int loc0 in [
-                      -10,
-                      -65,
-                      (var2++),
-                      (var2++),
-                      ((({
-                                    ((var7[60] == var7[-30])
-                                        ? var5[(-((var2++)))]
-                                        : (var2--))
-                                  } ==
-                                  {var5[var2], -40, -81, (var2++), 93, 26})
-                              ? 38
-                              : (var1 ? var5[97] : -82)) *
-                          (--var2)),
-                      (~((true ? 5 : Float32x4.yxyy))),
-                      (var2++),
-                      ((++var2) << ((var2 % Int32x4.yxxw) >> (++var2)))
-                    ])
-                      54: (var0 + 'ANyqN'),
-                    94: (var1 ? '0T\u2665#w' : (var0).toUpperCase()),
-                    68: '@n',
-                    67: base64UrlEncode(((0.07857744084458451).isInfinite
-                        ? ([
-                              var2,
-                              var5[70],
-                              -32,
-                              Float32x4.yxwz,
-                              31,
-                              (~(var2)),
-                              (var2 ?? (-70 + 57)),
-                              -91
-                            ] +
-                            [
-                              var2,
-                              var5[((!(var1))
-                                  ? var5[(var2 ~/ Float32x4.zwyw)]
-                                  : var5[var5[(var5[(~(var2))] % var2)]])],
-                              (var2 | (false ? (-(var2)) : var5[80])),
-                              (var2--),
-                              DateTime.daysPerWeek,
-                              (var2 ~/ var2)
-                            ])
-                        : (var1 ? var5 : [(var2++)])))
-                  },
-                  if (false)
-                    if (false)
-                      26: (Uri.encodeComponent(foo1_1(var2)) + var7[var5[var2]])
-                    else ...{
-                      4: (double.negativeInfinity).toStringAsFixed(var2),
-                      46: Uri.decodeQueryComponent('bst3jz'),
-                      5: ((true
-                              ? (true ? '(-f' : var7[(-(Int32x4.yzxz))])
-                              : var7[(var5[(fld1_1 ? (var2--) : var2)] >>
-                                  (-((false ? 8589934591 : 33))))]) ??
-                          '4ov'),
-                      37: var7[var5[100663045]],
-                      13: '2B'
-                    }
-                }, {
-                  71: 'Hxbq',
-                  22: ('\u{1f600}Jtj').substring(
-                      (-36 | var5[(~((var2++)))]), 9223372032559874048)
-                }, 0.3710694748818374));
-                fld1_0 ??= 0.010604823956237519;
-              } finally {
-                for (int loc0 = 0; loc0 < 84; loc0++) {
-                  var5[Float32x4.xwwz] <<=
-                      ((((fld1_1 ? false : ('e\u{1f600}O+Vc').isNotEmpty) &&
-                                  (!(fld1_1)))
-                              ? (-73 | var5[Int32x4.yzwx])
-                              : Uint16List.bytesPerElement) ~/
-                          var2);
-                }
-              }
-            }
-          }
-          break;
-        case 3830102528:
-          {
-            fld1_1 ??= true;
-            throw (-((-17).ceilToDouble()));
-          }
-          break;
-      }
-    }
-    return var0;
-  }
-
-  void run() {
-    super.run();
-    {
-      int loc0 = 61;
-      while (--loc0 > 0) {
-        {
-          int loc1 = 77;
-          while (--loc1 > 0) {
-            {
-              int loc2 = 0;
-              do {
-                break;
-              } while (++loc2 < 84);
-            }
-          }
-        }
-        if (((var1 || fld1_1) && (!((!((!((!((!(true)))))))))))) {
-          switch (Int32x4.yyzx) {
-            case 900727295:
-              {
-                /// Single-line documentation comment.
-                fld1_1 ??= (!(true));
-                for (int loc1 in ((var5 ??
-                        Uri.parseIPv6Address(
-                            foo1_3(), var5[(loc0 + var5[4096])], -34)) ??
-                    var5)) {
-                  var7[(38 << (false ? (~(-58)) : Float32x4.yyxy))] =
-                      Uri.decodeFull(foo1_3());
-                  var5 ??= var5;
-                }
-              }
-              break;
-            case 900727304:
-              {
-                fld1_1 =
-                    (SecurityContext.alpnSupported ? (var3).isFinite : var1);
-                fld1_0 += 0.3154406798513474;
-              }
-              break;
-          }
-          var2 ^= var2;
-        } else {
-          if (((-(var3)) <= (-(fld1_0)))) {
-            var6 = foo1_2('0vsDWF9');
-          } else {
-            var6 ??= ((fld1_0 <= 0.16230005903410238)
-                ? ((!((0.5144029832155854 > (0.8199455895430549 / var3))))
-                    ? foo1_2('ken')
-                    : var6)
-                : (fld1_1 ? {56, 6442450945, 2} : {34}));
-          }
-          var5[Float32x4.zwzw] += (true ? var2 : (~(Float32x4.wyyx)));
-        }
-      }
-    }
-  }
-}
-
-class X2 extends X0 with X1 {
-  Set<int> fld2_0 = {for (int loc0 = 0; loc0 < 60; loc0++) -56, 29};
-
-  bool foo2_0(int par1) => var1;
-  bool foo2_1(bool par1) {
-    for (int loc0 in var6) {
-      var2 ~/= ((((((fld2_0 ?? (true ? var6 : var6)) ?? fld2_0))
-                      .union({(~(-21)), 10}) !=
-                  {(var5[90] ~/ (-(-90)))})
-              ? par1
-              : (var7[(~(82))]).isNotEmpty)
-          ? ((~(loc0)) *
-              ((true ? (-4294966272 ?? -21) : var2) +
-                  Duration.millisecondsPerMinute))
-          : (-9223372032559807488 ~/ 4294968296));
-    }
-    if (('DeAm#f' ==
-        ((Uri.encodeQueryComponent((0.3687340601979223).toString()) ??
-                var7[-23]) ??
-            foo1_3()))) {
-      throw (([Float32x4.wyyz, -9223372036854743039])
-              .sublist((--var2), (--var2)) +
-          ((true ? var1 : (!(false)))
-              ? foo2(
-                  foo1_2('JLXt'),
-                  [
-                    var5[Int32x4.zxzx],
-                    Int32x4.xxwy,
-                    (var2++),
-                    Float32x4.yzxx,
-                    (var2++),
-                    -15
-                  ],
-                  foo1_0(var7, var7, 0.7904389283184639))
-              : (var1
-                  ? [Float32x4.yzyz, Int32x4.wxxy, var2, (~(var5[-47]))]
-                  : var5)));
-    } else {
-      var7[var2] ??= ((({
-            ...{
-              for (int loc0 = 0; loc0 < 19; loc0++)
-                36: (var7[var2] ?? (par1 ? ('ccb9z' + 'iM') : var0)),
-              3: ('1sG' + var0),
-              for (int loc0 in {
-                (-(var5[var2])),
-                if (var1) Int32x4.zxxx,
-                -4294967168,
-                -61,
-                (~((par1 ? (~(-70)) : (var2--)))),
-                (-(7)),
-                -96,
-                Uint32List.bytesPerElement
-              })
-                85: var4
-            },
-            if (foo2_0(-91)) 38: (var3).toString() else 30: 'uI\u2665\u{1f600}',
-            72: '@'
-          }[(par1 ? 14 : var2)])
-                  .trim())
-              .substring((36 ~/ var5[(++var2)]), var5[((-(25)) * -53)]) ??
-          foo1_3());
-      /*
-       * Multi-line
-       * comment.
-       */
-      {
-        int loc0 = 0;
-        do {
-          {
-            String loc1 = 'jG7t';
-            /**
-             ** Multi-line
-             ** documentation comment.
-             */
-            {
-              int loc2 = 57;
-              while (--loc2 > 0) {
-                print((var6 ??
-                    (foo1_2(var0)).union(foo1_2(('n' + var7[(++var2)])))));
-              }
-            }
-          }
-        } while (++loc0 < 69);
-      }
-    }
-    return (!(((!((par1 && false)))
-        ? (true && foo2_0(-9223372036854771712))
-        : (!(par1)))));
-  }
-
-  double foo2_2(Map<int, String> par1, int par2) {
-    switch (var2) {
-      case 3816231196:
-        {
-          throw (-(Int32x4.xxwx));
-        }
-        break;
-      case 3816231204:
-        {
-          var7.forEach((loc0, loc1) {
-            switch ((-43 ^ (-(Float32x4.wwxx)))) {
-              case 2839002105:
-                {
-                  var0 ??= (SetBase.setToString(((var1 ? var1 : (true || var1))
-                          ? fld2_0
-                          : {
-                              Int32x4.yyzw,
-                              Int32x4.yyxy,
-                              (2 >> Int32x4.ywzx),
-                              (var1
-                                  ? ((foo2_1(var1) ? 17 : loc0) ~/
-                                      (-(var5[var2])))
-                                  : par2),
-                              Float32x4.zwwx,
-                              par2,
-                              Int32x4.wzzz,
-                              Int32x4.zyzw
-                            })) ??
-                      (loc1 +
-                          var7[((true
-                                  ? (var1 &&
-                                      bool.fromEnvironment(var7[(var2--)]))
-                                  : foo2_1(false))
-                              ? 35
-                              : (-(66)))]));
-                  for (int loc2 = 0; loc2 < 23; loc2++) {
-                    switch ((-73 ^ (Int32x4.xyzz >> Float32x4.yzzz))) {
-                      case 1710454916:
-                        {
-                          var3 = 0.3372913861348876;
-                          print(((-(var3)) * var3));
-                        }
-                        break;
-                      case 1710454922:
-                        {
-                          var4 ??= ((false
-                                  ? (var1
-                                      ? var1
-                                      : (fld2_0 ==
-                                          {
-                                            (false ? -27 : (-(92))),
-                                            loc2,
-                                            var5[loc2],
-                                            (var1
-                                                ? Float32x4.yywy
-                                                : (false ? -74 : 2)),
-                                            ((-(-50)) ^ 32),
-                                            (var2++)
-                                          }))
-                                  : var1)
-                              ? base64UrlEncode([
-                                  for (int loc3 in {
-                                    (-(par2)),
-                                    loc0,
-                                    (-((par2++))),
-                                    Float32x4.yyyx
-                                  })
-                                    (par2--),
-                                  (-((-(var5[var5[var5[-41]]])))),
-                                  if (({
-                                        loc2,
-                                        Duration.microsecondsPerSecond,
-                                        (([
-                                                  (par2++),
-                                                  (-90 ^ -5),
-                                                  var5[(~(0))],
-                                                  loc2
-                                                ] !=
-                                                var5)
-                                            ? -9223372032559808512
-                                            : (par2++))
-                                      } ==
-                                      {
-                                        (var1 ? (-((loc2 % loc2))) : loc2),
-                                        -94,
-                                        -62
-                                      }))
-                                    (++var2),
-                                  loc2,
-                                  for (int loc3 in {
-                                    55,
-                                    (~(var5[var5[(++par2)]])),
-                                    ((var1
-                                            ? (-((++var2)))
-                                            : var5[(true ? var5[68] : 10)]) -
-                                        par2),
-                                    (-(Float32x4.wzxx))
-                                  })
-                                    (Int32x4.yxzy | var5[-1]),
-                                  (foo2_1(false) ? (-(32)) : loc0),
-                                  (--par2),
-                                  if ((!(false))) (var1 ? var5[loc0] : 30)
-                                ])
-                              : ('b1TKp3' ??
-                                  (var4 +
-                                      var7[(~(var5[
-                                          ((var1 ? var2 : loc2) - 72)]))])));
-                        }
-                        break;
-                    }
-                    fld2_0 = ((!((false
-                            ? false
-                            : (false ? (!((var7[-28] != ''))) : var1))))
-                        ? (((var1
-                                    ? (true ? Set.identity() : var6)
-                                    : {
-                                        -63,
-                                        Int32x4.xxyx,
-                                        var5[((var1
-                                                ? (var5[-9223372032559808496] >>
-                                                    59)
-                                                : Int32x4.wxxy) ~/
-                                            var5[var5[-48]])],
-                                        (par2 ?? par2),
-                                        44,
-                                        var5[(var1 ? -26 : (-(par2)))]
-                                      }) ??
-                                ({
-                                      loc2,
-                                      var2,
-                                      ZLibOption.defaultMemLevel,
-                                      (true ? Int32x4.wyzz : 40),
-                                      (false ? loc2 : var5[42]),
-                                      -16
-                                    } ??
-                                    var6)))
-                            .union({loc0, (var2++), (-1 * (~(var2)))})
-                        : (bool.fromEnvironment((var3)
-                                .toStringAsFixed(Uint64List.bytesPerElement))
-                            ? fld2_0
-                            : {
-                                (par2++),
-                                (var1 ? loc2 : (++var2)),
-                                ((false || false) ? Int32x4.xyyz : (++par2)),
-                                var5[-98],
-                                Float32x4.zwwy,
-                                var5[var5[62]],
-                                (~(Float32x4.ywww))
-                              }));
-                  }
-                }
-                break;
-              case 2839002106:
-                {
-                  for (int loc2 = 0; loc2 < 13; loc2++) {
-                    {
-                      int loc3 = 0;
-                      do {
-                        switch ((loc3 | -76)) {
-                          case 2164097105:
-                            {
-                              var4 ??= (var1).toString();
-                              var5 = ((!(((true || var1) !=
-                                      (false ? var1 : (!(foo2_1(var1)))))))
-                                  ? foo2(
-                                      ((var6).union(foo1_2(loc1))).toSet(),
-                                      [
-                                        -67,
-                                        if (((var1
-                                                ? 59
-                                                : (-((false ? -97 : par2)))) !=
-                                            (false
-                                                ? ((var1 || var1)
-                                                    ? (-((par2++)))
-                                                    : 4)
-                                                : (--var2)))) ...[
-                                          ((92 ~/ Int32x4.yzwx) << 70),
-                                          Float32x4.xxyz,
-                                          Int8List.bytesPerElement
-                                        ] else
-                                          69
-                                      ],
-                                      var7)
-                                  : foo2(foo0(), Uri.parseIPv4Address(var0),
-                                      var7));
-                            }
-                            break;
-                          case 2164097111:
-                            {
-                              var4 ??= var7[Float32x4.zxzw];
-                            }
-                            break;
-                        }
-                      } while (++loc3 < 96);
-                    }
-                    fld2_0 = var6;
-                  }
-                }
-                break;
-            }
-          });
-          for (int loc0 in (foo2_1((var5 !=
-                  (false
-                      ? [par2]
-                      : foo2(
-                          var6,
-                          [20],
-                          ({
-                                21: var0,
-                                68: foo1_3(),
-                                24: ('1MF' + '8s\u2665yx+ ')
-                              } ??
-                              {
-                                9: var7[var2],
-                                48: 'mB(wW\u{1f600}',
-                                74: 'ojEw\u{1f600}\u{1f600}',
-                                80: '\u26655E-hj\u{1f600}',
-                                10: (false ? 'W7i5\u2665YX' : '! Ed9&'),
-                                88: (false ? var0 : 'N0D9(H\u{1f600}'),
-                                5: 'QZ'
-                              })))))
-              ? foo1_2('XP')
-              : {
-                  if ((foo2_1(var1)
-                      ? (foo2_1((fld2_0).add(-9223372036854774784)) || var1)
-                      : var1))
-                    (~(Float32x4.zyww)),
-                  Float32x4.xwyw,
-                  ((((var1 ? true : var1) ? 0.3447071353935154 : var3) >=
-                          0.5995056331958718)
-                      ? ZLibOption.MAX_LEVEL
-                      : 16),
-                  9223372032559841279,
-                  Int32x4.zwyy
-                })) {
-            for (int loc1 = 0; loc1 < 19; loc1++) {
-              var1 = (!(bool.fromEnvironment(MapBase.mapToString({
-                1: '4',
-                56: var0,
-                85: var0,
-                51: var7[-4],
-                42: ((!((!(false)))) ? par1[72] : MapBase.mapToString(var7))
-              }))));
-            }
-          }
-        }
-        break;
-    }
-    print((((var1 ? 'kP' : (var1 ? 'irjF' : var7[var5[90]])) ??
-            ((!(false)) ? 'vWa\u{1f600}' : var0)) +
-        'xzpK'));
-    return var3;
-  }
-
-  void run() {
-    super.run();
-    {
-      int loc0 = (~(-24));
-      var0 ??= ((false
-              ? foo2_1((true
-                  ? (var1 && (var2).isOdd)
-                  : (('dTYR' ?? 'G\u{1f600}P14\u{1f600}a')).isEmpty))
-              : ((var1 && true) || (!(var1))))
-          ? (var4 ?? 'I')
-          : 'QO');
-    }
-  }
-}
-
-class X3 extends X1 {
-  Map<int, String> fld3_0 = {
-    if (true) if (false) 45: 'ynEn\u2665nG' else 70: 'c\u{1f600}mN4\u2665a',
-    if (true) 30: '6\u2665P!Pbi',
-    81: 't',
-    82: '17fx#!',
-    92: 'H',
-    if (true) 69: ')Ls'
-  };
-  Set<int> fld3_1 = {27};
-  int fld3_2 = 34;
-
-  String foo1_1(int par1) {
-    throw (ListBase.listToString(foo2({
-          -4294967169,
-          par1
-        }, [
-          -97,
-          (var5[(var1 ? var5[87] : Int32x4.yxxy)] * Int32x4.yyxx),
-          var2,
-          (false ? 10 : var5[var5[(par1++)]])
-        ], var7)) ??
-        'o');
-  }
-
-  bool foo3_0(double par1) {
-    {
-      Set<int> loc0 = (true ? fld3_1 : var6);
-      {
-        Set<int> loc1 = (false
-            ? foo0()
-            : {
-                for (int loc2 in [var2, (-(Float32x4.xzzw))])
-                  if (false) Float32x4.wxyz else (++fld3_2),
-                ((var1
-                        ? 5
-                        : var5[(((var5[(true ? fld3_2 : fld3_2)] ~/ 48) | 56) %
-                            var5[-4])]) ??
-                    (var2++))
-              });
-        for (int loc2 = 0; loc2 < 90; loc2++) {
-          {
-            int loc3 = 95;
-            while (--loc3 > 0) {
-              return (((0.7073184699576396).isNaN
-                      ? var7
-                      : (Map.of(Map.from(var7)) ??
-                          Map.unmodifiable(Map.identity()))))
-                  .isEmpty;
-            }
-          }
-          try {
-            var1 = (((12 >= Int32x4.ywxx) ? true : true)
-                ? false
-                : (((var1 ? fld3_0[Int32x4.wyxy] : '') ?? var7[Float32x4.xwwx]))
-                    .isEmpty);
-            var2 |= ((fld3_2++) ?? (fld3_2--));
-          } catch (exception, stackTrace) {
-            var5 ??= var5;
-          } finally {
-            var4 = 'A';
-            break;
-          }
-        }
-        {
-          double loc2 = (-(exp((acos(0.06129144867031855) ?? var3))));
-          fld3_0 = (((({Int32x4.ywxw, 6442450943}).union(foo0()))
-                      .add((++fld3_2))
-                  ? false
-                  : false)
-              ? foo1_0(
-                  (foo1([var5[var2], var5[75], 42], false) ?? var7), var7, loc2)
-              : (var1
-                  ? {
-                      for (int loc3 = 0; loc3 < 48; loc3++) 78: 'dWek8',
-                      40: fld3_0[(var5[-81] & Int32x4.xzyw)],
-                      73: (' )G\u2665-d(').substring(
-                          (NetworkInterface.listSupported
-                              ? (~(((++var2) ?? (fld3_2 * fld3_2))))
-                              : var5[-75]),
-                          fld3_2),
-                      74: ('k9O\u2665').trimLeft(),
-                      88: var7[(++var2)],
-                      for (int loc3 = 0; loc3 < 27; loc3++)
-                        60: ((false || var1) ? var7[46] : var0),
-                      99: ((var3).isNaN
-                          ? (Uri.decodeComponent(foo1_3()) + var4)
-                          : var7[-77]),
-                      92: (true
-                          ? ('').padLeft(82, '')
-                          : ('' ?? var7[(false ? 94 : 58)]))
-                    }
-                  : var7));
-
-          /// Single-line documentation comment.
-          fld3_1 ??= ((loc1 ?? foo1_2(fld3_0[(var2--)])) ?? foo1_2(foo1_3()));
-        }
-      }
-    }
-    return (var1 ? (!(var1)) : var1);
-  }
-
-  String foo3_1(int par1, String par2, String par3) {
-    switch (var2) {
-      case 3768780679:
-        {
-          {
-            int loc0 = (++par1);
-            var0 ??= ListBase.listToString(var5);
-            if (true) {
-              var5 = [
-                Float32x4.xyxz,
-                (var1
-                    ? ((!(false)) ? Float32x4.xyyw : (++fld3_2))
-                    : var5[fld3_2]),
-                par1,
-                (~(Float32x4.zxwy)),
-                if ((foo3_0(var3)
-                    ? ([
-                          (++fld3_2),
-                          ...[
-                            ...[
-                              var5[(true ? Float32x4.xxzx : (--fld3_2))],
-                              54,
-                              (-((((foo3_0(var3)
-                                          ? (!(false))
-                                          : ((var1 ? (~(-63)) : var5[-40]))
-                                              .isOdd)
-                                      ? ((0.8329420640871532 != var3) && var1)
-                                      : var1)
-                                  ? 43
-                                  : (Float32x4.zxxy - Float32x4.zxxw)))),
-                              Int32x4.zzwx
-                            ],
-                            ...[
-                              (var5[-48] * (fld3_2++)),
-                              Int32x4.wyyw,
-                              (~(-76)),
-                              ((par1).isEven ? (--par1) : -13),
-                              Float32x4.wxyx
-                            ],
-                            for (int loc1 in [
-                              (++fld3_2),
-                              -15,
-                              (SecurityContext.alpnSupported
-                                  ? Int32x4.yxyw
-                                  : Float32x4.yxxw),
-                              if (true) var5[(var1 ? -32768 : par1)],
-                              ((--var2) ^ (++fld3_2))
-                            ])
-                              (fld3_2--),
-                            93,
-                            (~((-(ZLibOption.minMemLevel)))),
-                            ((Float32x4.zyzx >> -14) & Float32x4.yxxw)
-                          ],
-                          (var1
-                              ? (++par1)
-                              : ((var3).isInfinite ? Float32x4.zwww : -84)),
-                          var2
-                        ] ==
-                        [
-                          9223372032559808639,
-                          -85,
-                          Float32x4.wzyy,
-                          loc0,
-                          [
-                            ((-(36)) <<
-                                ((var1
-                                        ? var1
-                                        : ({
-                                            45: 'ay',
-                                            7: par3,
-                                            69: Uri.decodeFull(
-                                                (foo1_3() + 'LX+'))
-                                          })
-                                            .isEmpty)
-                                    ? (~((13 | 64)))
-                                    : (-(var2)))),
-                            (par1--),
-                            ((~((true ? (var2--) : -31))) >> 9),
-                            (-((35 % (~(var5[var5[39]]))))),
-                            4395630341,
-                            Int32x4.zxxy,
-                            if ((var1
-                                ? foo3_0(var3)
-                                : (0.6201792653929837).isInfinite)) ...[
-                              Int32x4.wxxx,
-                              (fld3_2 * (--fld3_2)),
-                              var5[((~(var5[var5[var5[(-(-23))]]])) +
-                                  (~(-4294966296)))],
-                              loc0,
-                              for (int loc1 in [var5[Float32x4.yzww]]) 17,
-                              (~(var5[(++par1)])),
-                              -58,
-                              ((!(('').isEmpty))
-                                  ? ((-(Float32x4.ywwx)) * (++par1))
-                                  : Int32x4.yxyz)
-                            ]
-                          ][((var1 ? var1 : var1) ? var5[0] : par1)],
-                          ((~(70)) +
-                              (par1 + (-77 | ZLibOption.MAX_WINDOW_BITS))),
-                          (-(Int32x4.zywy)),
-                          (~(Float32x4.zywz))
-                        ])
-                    : (var1 ? true : true)))
-                  fld3_2
-              ];
-            }
-          }
-          var3 *= ((var3 + 0.6761038672016147) ?? (-(double.minPositive)));
-        }
-        break;
-      case 3768780685:
-        {
-          {
-            int loc0 = 67;
-            while (--loc0 > 0) {
-              {
-                Map<int, String> loc1 = foo1(
-                    Uri.parseIPv4Address(('E Hu\u{1f600}' + '\u2665l&#!')),
-                    (!(false)));
-                var3 ??= var3;
-              }
-              var5 = (var5 +
-                  ((({
-                    79: (foo1_3() ?? 'eD'),
-                    73: (var1 ? par2 : ' xdXgW'),
-                    4: 'pUc(q',
-                    15: 'K\u{1f600}hmdZ\u2665',
-                    95: (var1 ? var4 : (var1 ? fld3_0[-45] : foo1_3()))
-                  })
-                              .isNotEmpty
-                          ? ((var1 ? var1 : (var1 ? var1 : foo3_0(var3))) ||
-                              foo3_0(var3))
-                          : (!(((false || true) ? var1 : false))))
-                      ? [
-                          (~((-61 ??
-                              (~((-(var5[(var1 ? fld3_2 : var5[34])]))))))),
-                          (var5[13] ^ (var1 ? 35 : -76)),
-                          (-(((~(-47)) ~/ (--par1))))
-                        ]
-                      : foo2({
-                          -36,
-                          ((0.3910802543332075).isNegative
-                              ? (~((var2++)))
-                              : (var2 &
-                                  (var1
-                                      ? [
-                                          -67,
-                                          (fld3_2++),
-                                          if ((!((!((var1
-                                              ? true
-                                              : (!(false))))))))
-                                            (false
-                                                ? (~(Float32x4.wyyy))
-                                                : (var1
-                                                    ? (1 ^ (-(16)))
-                                                    : var5[94])),
-                                          fld3_2,
-                                          var2,
-                                          67
-                                        ][-12]
-                                      : Float32x4.wwxw))),
-                          26,
-                          [
-                            (var1
-                                ? (--fld3_2)
-                                : (((!(var1))
-                                        ? (~((foo3_0(0.9959805940480148)
-                                            ? (33 ~/ loc0)
-                                            : Float32x4.xywx)))
-                                        : (15 % var5[var5[-47]])) <<
-                                    -86)),
-                            (-((~(RawSocketOption.levelIPv6))))
-                          ][var5[var5[(ZLibOption.maxMemLevel ^ -3)]]],
-                          -29
-                        }, [
-                          (var1 ? Float32x4.wxxw : (--par1)),
-                          ...[
-                            52,
-                            (-((true ? -12 : 44))),
-                            var5[((var5[34] * 30) >> 4294967360)],
-                            ((--var2) <<
-                                (true
-                                    ? var5[(-4 ~/ Int32x4.yyww)]
-                                    : (bool.fromEnvironment(var7[fld3_2])
-                                        ? (~((false ? loc0 : var5[(++par1)])))
-                                        : ((!(false))
-                                            ? (var5[var5[loc0]] ^ Int32x4.wxzz)
-                                            : par1)))),
-                            (((false ? var0 : '') !=
-                                    (true
-                                        ? MapBase.mapToString(({
-                                              7: 'WTT7\u{1f600}e3',
-                                              22: '',
-                                              36: (var1
-                                                  ? 'F'
-                                                  : (var1 ? fld3_0[var2] : '')),
-                                              37: 'l@a',
-                                              85: (var1 ? '' : par3),
-                                              82: 'eb',
-                                              37: '11',
-                                              41: var7[94]
-                                            } ??
-                                            var7))
-                                        : (var1 ? var4 : par2)))
-                                ? (~(var5[-71]))
-                                : 9),
-                            32,
-                            if (bool.fromEnvironment(
-                                fld3_0[var5[ZLibOption.MIN_MEM_LEVEL]]))
-                              var5[(--par1)],
-                            (par1--)
-                          ],
-                          for (int loc1 in {
-                            for (int loc2 in [
-                              ((!((Map.unmodifiable({
-                                        86: var4,
-                                        31: var0,
-                                        85: (par3 + ''),
-                                        91: (var1
-                                            ? fld3_0[4]
-                                            : '!M\u{1f600}!vOw'),
-                                        45: '7T',
-                                        19: 'fha+',
-                                        38: (false ? '' : fld3_0[70])
-                                      }) !=
-                                      {
-                                        92: '@4',
-                                        41: var7[loc0],
-                                        24: (foo3_0(0.06591134699771606)
-                                            ? '\u2665)\u2665NnO+'
-                                            : 'JM3Hn\u{1f600}'),
-                                        26: 'aQ51Yz',
-                                        64: var7[
-                                            (-((var5[18] & (36).bitLength)))]
-                                      })))
-                                  ? (89 ^
-                                      (((44 - par1) * -9223372034707292160) &
-                                          var5[128]))
-                                  : -46),
-                              (fld3_2++),
-                              ((([
-                                            -89,
-                                            var2,
-                                            (fld3_2++),
-                                            var5[-4294967264],
-                                            -25,
-                                            var2,
-                                            var5[((!(var1))
-                                                ? (var1 ? -3 : -81)
-                                                : var5[loc0])],
-                                            (var1
-                                                ? par1
-                                                : ((~((fld3_2++))) >>
-                                                    (-((-(-64))))))
-                                          ] ??
-                                          foo2(var6, [
-                                            4295032831
-                                          ], {
-                                            53: foo1_3(),
-                                            94: var7[13],
-                                            82: var7[-60],
-                                            30: fld3_0[-9223372032559742976],
-                                            98: foo1_3()
-                                          })) !=
-                                      var5)
-                                  ? (--par1)
-                                  : loc0),
-                              56,
-                              if (((var5[21]).isOdd ? true : false))
-                                ((++par1) -
-                                    (var1 ? var5[DateTime.january] : (par1--)))
-                              else
-                                fld3_2,
-                              if ((!(var1))) 74,
-                              (par1 ^ var5[26])
-                            ])
-                              (~(var2)),
-                            for (int loc2 in {
-                              6442450944,
-                              Float32x4.ywyw,
-                              -9223372032559804416,
-                              (~(var5[var5[26]])),
-                              Float32x4.xyxy,
-                              (--fld3_2),
-                              var5[98]
-                            })
-                              if (false) -26,
-                            (~((-((-((-48 - -9223372036854775680))))))),
-                            ...{
-                              (-((var2--))),
-                              if (true) -100663046 else var5[(~(par1))]
-                            },
-                            (~((~((fld3_2++))))),
-                            ...{
-                              ((List.filled(0, 26) ==
-                                      [
-                                        (-(-52)),
-                                        -29,
-                                        (--fld3_2),
-                                        (0.22302566014161784).floor(),
-                                        (par1 % -56)
-                                      ])
-                                  ? (var1
-                                      ? (var2++)
-                                      : ((!((!(true))))
-                                          ? ((var1 || foo3_0(var3)) ? 76 : par1)
-                                          : (-(-13))))
-                                  : ((foo1_0((var1 ? fld3_0 : var7), var7,
-                                              var3))
-                                          .isEmpty
-                                      ? 97
-                                      : (var1 ? var2 : -9223372036854774784))),
-                              (-(Float32x4.zyzw)),
-                              (--var2)
-                            }
-                          })
-                            ((var3 < (-(var3))) ? -9223372032559808000 : -71),
-                          -100663046,
-                          if ((var1
-                              ? bool.fromEnvironment('vV0')
-                              : (Map.from({
-                                  78: '',
-                                  49: '\u{1f600}\u{1f600}4Mz',
-                                  70: fld3_0[par1],
-                                  95: '\u{1f600}2tIYqE',
-                                  43: (true ? 'baf-\u2665' : var4),
-                                  30: var7[(-((-68 % ZLibOption.defaultLevel)))]
-                                }))
-                                  .isNotEmpty))
-                            -13
-                          else
-                            (var1 ? (-((-(var5[56])))) : (var2--)),
-                          (~((~((-((var2++)))))))
-                        ], {
-                          88: ('bV\u{1f600}iqO').toLowerCase(),
-                          42: '(hZ4S',
-                          37: var7[-79],
-                          36: var0
-                        })));
-            }
-          }
-          {
-            int loc0 = 0;
-            do {
-              try {
-                print(foo2(
-                    fld3_1,
-                    (fld3_0[var5[-12]]).codeUnits,
-                    (({
-                              36: var4,
-                              30: '0\u{1f600}EYWqr',
-                              66: 'S',
-                              3: '+J3Gj',
-                              71: '\u{1f600}-q',
-                              13: 'V3QN',
-                              34: ''
-                            } ??
-                            {
-                              54: fld3_0[(var2--)],
-                              74: (foo3_0(
-                                      ((-(var3)) * (0.8613045491468889 + var3)))
-                                  ? var7[78]
-                                  : (((var1 ? (47).isEven : var1) ? true : true)
-                                      ? (var4 ?? 'UzK')
-                                      : 'fH1smd')),
-                              12: '\u2665',
-                              18: 'V'
-                            }) ??
-                        var7)));
-              } catch (exception, stackTrace) {
-                fld3_1 = foo0();
-                for (int loc1 = 0; loc1 < 29; loc1++) {
-                  if (var1) {
-                    {
-                      int loc2 = 0;
-                      do {
-                        var5 = (foo3_0(var3)
-                            ? [
-                                ((--par1) ^ (~(93))),
-                                if ((var3).isFinite)
-                                  for (int loc3 in [
-                                    -5,
-                                    Int32x4.zxyy,
-                                    (true
-                                        ? var5[var5[(var1 ? -23 : var5[68])]]
-                                        : -99),
-                                    ((!(var1))
-                                        ? ((false
-                                                ? var1
-                                                : foo3_0(0.3133865362301862))
-                                            ? Float64List.bytesPerElement
-                                            : [
-                                                Float32x4.yxzx,
-                                                if (var1)
-                                                  (false ? 40 : 85)
-                                                else
-                                                  ((String.fromCharCode((foo3_0(
-                                                                  0.414460580942719)
-                                                              ? var5[-14]
-                                                              : var2)) ==
-                                                          'mII\u{1f600}zkM')
-                                                      ? var5[(~(-51))]
-                                                      : ((var1
-                                                              ? (!(var1))
-                                                              : var1)
-                                                          ? var5[0]
-                                                          : (-(var2))))
-                                              ][5])
-                                        : fld3_2),
-                                    (par1++),
-                                    -72,
-                                    Int32x4.zzxy
-                                  ])
-                                    Int32x4.zyww
-                                else
-                                  Int32x4.wxyz
-                              ]
-                            : [
-                                ...[
-                                  if ((false ? false : var1)) (-(52)),
-                                  (++par1),
-                                  (par1--),
-                                  (-((-([
-                                    (((var0 + fld3_0[(++var2)])).isNotEmpty
-                                        ? Float32x4.yzxw
-                                        : var5[35])
-                                  ][loc0])))),
-                                  (~(-17))
-                                ],
-                                38,
-                                ...[
-                                  (var1 ? (par1++) : -10),
-                                  if (true) -62 else var2,
-                                  if ((!((var3).isFinite)))
-                                    Int32x4.xxzz
-                                  else
-                                    -45
-                                ],
-                                if ((true || false)) (-(-93)),
-                                (--fld3_2),
-                                ([
-                                      (fld3_2--),
-                                      if ((base64UrlEncode(var5) == 'RY'))
-                                        (++fld3_2)
-                                      else
-                                        -9223372032559808383,
-                                      Float32x4.zyxy,
-                                      loc0,
-                                      -55,
-                                      if (('O \u{1f600}e\u2665').isNotEmpty)
-                                        if (var1)
-                                          (--var2)
-                                        else
-                                          for (int loc3 in {
-                                            loc0,
-                                            (~((--var2))),
-                                            (-(-35)),
-                                            Float32x4.xxyw,
-                                            65,
-                                            -4,
-                                            -4194304251,
-                                            -54
-                                          })
-                                            (((0.671280258888436 ==
-                                                        (0.16535430333243706 *
-                                                            0.18316039550464436)) ||
-                                                    var1)
-                                                ? var5[12]
-                                                : (~((--var2))))
-                                      else if (false)
-                                        if (var1) (-(Int32x4.zzwx)) else loc2
-                                      else
-                                        Int32x4.yzyw
-                                    ][loc1] *
-                                    (--par1)),
-                                (-71 * 38)
-                              ]);
-                      } while (++loc2 < 89);
-                    }
-                  } else {
-                    {
-                      int loc2 = 0;
-                      do {
-                        fld3_0 ??= ((((Map.unmodifiable(var7)).isEmpty ||
-                                    (!(({
-                                      11: 'v+MHeiB',
-                                      48: var7[(true
-                                          ? ((var2--) ?? fld3_2)
-                                          : var5[(fld3_2--)])],
-                                      52: '(('
-                                    })
-                                        .isEmpty)))
-                                ? fld3_0
-                                : {
-                                    39: foo1_3(),
-                                    21: 'IXzJ+',
-                                    76: 'K2C#',
-                                    16: ('\u{1f600}Gh' + '#i'),
-                                    62: foo1_3(),
-                                    19: foo1_3(),
-                                    32: par3,
-                                    for (int loc3 in [
-                                      (par1--),
-                                      -66,
-                                      -96,
-                                      -35,
-                                      Float32x4.zzyz
-                                    ])
-                                      72: 'y vxi'
-                                  }) ??
-                            {13: par2});
-                        switch (4096) {
-                          case 3159134388:
-                            {
-                              /// Single-line documentation comment.
-                              {
-                                int loc3 = 0;
-                                do {
-                                  fld3_0 ??= foo1(
-                                      var5,
-                                      ((((true ? par2 : var7[var5[loc1]]))
-                                                  .isNotEmpty
-                                              ? 9
-                                              : -55) !=
-                                          var5[-36]));
-                                  fld3_1 = foo0();
-                                } while (++loc3 < 79);
-                              }
-                            }
-                            break;
-                          case 3159134393:
-                            {
-                              throw Int32x4.zxxw;
-                            }
-                            break;
-                        }
-                      } while (++loc2 < 77);
-                    }
-                  }
-                }
-              }
-            } while (++loc0 < 98);
-          }
-        }
-        break;
-    }
-    /*
-     * Multi-line
-     * comment.
-     */
-    return ((0.7728524536008519).isNaN ? 'BjzeSsJ' : foo1_3());
-  }
-
-  void run() {
-    super.run();
-    var5 ??= var5;
-    print({4294968296});
-  }
-}
-
-main() {
-  int count = 0;
-  try {
-    foo0();
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    foo1(('  MQz').codeUnits, var1);
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    foo2(
-        (var6).toSet(),
-        (var1
-            ? [-9223372036854775681, -66, 9223372032559874047, -3, 74]
-            : var5),
-        Map.identity());
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X0().foo0_0(var7);
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X1().foo1_0(
-        (false
-            ? {
-                7: 'QMNg',
-                12: 'wzc5-Iq',
-                63: '29an-z',
-                86: 'sF5',
-                59: '\u2665L',
-                43: 'k',
-                62: 'NvF\u{1f600}k',
-                84: 'ZW 1-o'
-              }
-            : var7),
-        {
-          28: '@smXqKl',
-          66: 'oL',
-          if (false) 74: 'B' else 81: 'X',
-          if (false) 18: 'j' else 25: 'N',
-          44: '\u{1f600}lrx8m',
-          20: 'hC',
-          73: 'q',
-          63: '\u{1f600}nE'
-        },
-        0.18875619647922648);
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X1().foo1_1((-((++var2))));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X1().foo1_2((var1
-        ? (false
-            ? (true ? var7[((!(var1)) ? var5[Int32x4.xxyx] : 3)] : var4)
-            : Uri.encodeComponent(('yd' ?? (var0).padLeft(1, 'Q'))))
-        : var7[-2147483649]));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X1().foo1_3();
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X2().foo2_0(Int32x4.xyyw);
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X2().foo2_1((!(((!(var1)) && (!((var1 ? false : var1)))))));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X2().foo2_2(var7, ((-(var5[(--var2)])) << 98));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X3().foo3_0(0.37767598562234317);
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X3().foo3_1(
-        -6, var0, (Uri.decodeComponent('yQg') + ((var4 ?? var4) + var0)));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X3().foo1_0(
-        Map.unmodifiable({77: 'hG'}),
-        ((false
-                ? {
-                    88: 'Sv-EbnG',
-                    73: 'G',
-                    46: 'O#',
-                    16: 'm1nf(',
-                    91: 'F',
-                    11: 'Q+O@K',
-                    70: '3q\u2665BJ'
-                  }
-                : Map.identity()) ??
-            {
-              68: 'r',
-              56: 'IH&',
-              31: '9cqu',
-              49: '8ug',
-              84: 'mR2VyC',
-              41: 'gk&(asy'
-            }),
-        (var3 * sin(var3)));
-  } catch (e, st) {
-    count++;
-  }
-  try {
-    X3().run();
-  } catch (e, st) {
-    count++;
-  } finally {}
-  Expect.equals(-47639, var2);
-  Expect.equals(9, count);
-}
diff --git a/tests/language/vm/regression_38436.dart b/tests/language_2/vm/regression_38436_test.dart
similarity index 98%
rename from tests/language/vm/regression_38436.dart
rename to tests/language_2/vm/regression_38436_test.dart
index ea5fafd..bda53da 100644
--- a/tests/language/vm/regression_38436.dart
+++ b/tests/language_2/vm/regression_38436_test.dart
@@ -2,6 +2,8 @@
 // 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.
 
+// @dart = 2.9
+
 // VMOptions=--optimization_counter_threshold=1
 
 import "package:expect/expect.dart";
@@ -528,8 +530,7 @@
                                                 57: var4,
                                                 73: var7[-43],
                                                 38: var0
-                                              })
-                                                  .isNotEmpty ||
+                                              }).isNotEmpty ||
                                               ({
                                                 67: var4,
                                                 14: 'M\u{1f600}1HNbP',
@@ -537,8 +538,7 @@
                                                 85: 'uyq',
                                                 95: var7[(-(Int32x4.wwxw))],
                                                 33: ''
-                                              })
-                                                  .isNotEmpty))
+                                              }).isNotEmpty))
                                       : false)
                                   ? var2
                                   : (++var2))
@@ -557,8 +557,7 @@
                                   51: '-8ht',
                                   26: ('(2l3\u2665h' ?? var0),
                                   79: var4
-                                })
-                                        .isNotEmpty
+                                }).isNotEmpty
                                     ? var5[(var2 % loc0)]
                                     : var2) %
                                 ((!(NetworkInterface.listSupported))
@@ -1566,7 +1565,8 @@
 
 class X3 extends X1 {
   Map<int, String> fld3_0 = {
-    if (true) if (false) 45: 'ynEn\u2665nG' else 70: 'c\u{1f600}mN4\u2665a',
+    if (true)
+      if (false) 45: 'ynEn\u2665nG' else 70: 'c\u{1f600}mN4\u2665a',
     if (true) 30: '6\u2665P!Pbi',
     81: 't',
     82: '17fx#!',
@@ -1738,8 +1738,7 @@
                                             7: par3,
                                             69: Uri.decodeFull(
                                                 (foo1_3() + 'LX+'))
-                                          })
-                                            .isEmpty)
+                                          }).isEmpty)
                                     ? (~((13 | 64)))
                                     : (-(var2)))),
                             (par1--),
@@ -1794,8 +1793,7 @@
                     4: 'pUc(q',
                     15: 'K\u{1f600}hmdZ\u2665',
                     95: (var1 ? var4 : (var1 ? fld3_0[-45] : foo1_3()))
-                  })
-                              .isNotEmpty
+                  }).isNotEmpty
                           ? ((var1 ? var1 : (var1 ? var1 : foo3_0(var3))) ||
                               foo3_0(var3))
                           : (!(((false || true) ? var1 : false))))
@@ -1993,8 +1991,7 @@
                                   95: '\u{1f600}2tIYqE',
                                   43: (true ? 'baf-\u2665' : var4),
                                   30: var7[(-((-68 % ZLibOption.defaultLevel)))]
-                                }))
-                                  .isNotEmpty))
+                                })).isNotEmpty))
                             -13
                           else
                             (var1 ? (-((-(var5[56])))) : (var2--)),
@@ -2156,8 +2153,7 @@
                                           ? ((var2--) ?? fld3_2)
                                           : var5[(fld3_2--)])],
                                       52: '(('
-                                    })
-                                        .isEmpty)))
+                                    }).isEmpty)))
                                 ? fld3_0
                                 : {
                                     39: foo1_3(),
diff --git a/tests/language_2/vm/regression_38741.dart b/tests/language_2/vm/regression_38741_test.dart
similarity index 100%
rename from tests/language_2/vm/regression_38741.dart
rename to tests/language_2/vm/regression_38741_test.dart
diff --git a/tools/VERSION b/tools/VERSION
index 51c8ca9..c6bf604 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 122
+PRERELEASE 123
 PRERELEASE_PATCH 0
\ No newline at end of file