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