diff --git a/pkg/dart2wasm/lib/class_info.dart b/pkg/dart2wasm/lib/class_info.dart index 79d2c043196..f2a9789b694 100644 --- a/pkg/dart2wasm/lib/class_info.dart +++ b/pkg/dart2wasm/lib/class_info.dart @@ -228,7 +228,7 @@ class ClassInfoCollector { translator.coreTypes.functionClass, translator.coreTypes.recordClass, translator.index.getClass("dart:core", "_Type"), - translator.index.getClass("dart:core", "_ListBase"), + translator.index.getClass("dart:_list", "WasmListBase"), }; for (final name in const [ "ByteBuffer", diff --git a/pkg/dart2wasm/lib/compile.dart b/pkg/dart2wasm/lib/compile.dart index 89ec6c0060b..65804bc65b3 100644 --- a/pkg/dart2wasm/lib/compile.dart +++ b/pkg/dart2wasm/lib/compile.dart @@ -129,6 +129,7 @@ Future compileToModule(compiler.WasmCompilerOptions options, "dart:_internal", "dart:_js_helper", "dart:_js_types", + "dart:_list", "dart:_string", "dart:_wasm", "dart:async", diff --git a/pkg/dart2wasm/lib/dynamic_forwarders.dart b/pkg/dart2wasm/lib/dynamic_forwarders.dart index ae624c9e62d..4815671e7ad 100644 --- a/pkg/dart2wasm/lib/dynamic_forwarders.dart +++ b/pkg/dart2wasm/lib/dynamic_forwarders.dart @@ -646,7 +646,7 @@ enum _ForwarderKind { /// /// [typeArgsLocal], [posArgsLocal], [namedArgsLocal] are the locals for type, /// positional, and named arguments, respectively. Types of these locals must -/// be `ref _ListBase`. +/// be `ref WasmListBase`. /// /// [noSuchMethodBlock] is used as the `br` target when the shape check fails. void generateDynamicFunctionCall( diff --git a/pkg/dart2wasm/lib/intrinsics.dart b/pkg/dart2wasm/lib/intrinsics.dart index b61064580aa..a4a87adcaa1 100644 --- a/pkg/dart2wasm/lib/intrinsics.dart +++ b/pkg/dart2wasm/lib/intrinsics.dart @@ -1601,8 +1601,8 @@ class Intrinsifier { function, translator.nullableObjectArrayType, 0, (_, __) {}); b.else_(); - // List argument may be a custom list type, convert it to `_ListBase` - // with `_List.of`. + // List argument may be a custom list type, convert it to `WasmListBase` + // with `WasmListBase.of`. translator.constants.instantiateConstant( function, b, diff --git a/pkg/dart2wasm/lib/kernel_nodes.dart b/pkg/dart2wasm/lib/kernel_nodes.dart index 36630827650..60ff8db6a0f 100644 --- a/pkg/dart2wasm/lib/kernel_nodes.dart +++ b/pkg/dart2wasm/lib/kernel_nodes.dart @@ -33,12 +33,13 @@ mixin KernelNodes { index.getClass("dart:core", "_BoxedDouble"); late final Class boxedIntClass = index.getClass("dart:core", "_BoxedInt"); late final Class closureClass = index.getClass("dart:core", "_Closure"); - late final Class listBaseClass = index.getClass("dart:core", "_ListBase"); - late final Class fixedLengthListClass = index.getClass("dart:core", "_List"); + late final Class listBaseClass = index.getClass("dart:_list", "WasmListBase"); + late final Class fixedLengthListClass = + index.getClass("dart:_list", "ModifiableFixedLengthList"); late final Class growableListClass = - index.getClass("dart:core", "_GrowableList"); + index.getClass("dart:_list", "GrowableList"); late final Class immutableListClass = - index.getClass("dart:core", "_ImmutableList"); + index.getClass("dart:_list", "ImmutableList"); late final Class wasmStringBaseClass = index.getClass("dart:_internal", "WasmStringBase"); late final Class stringBaseClass = @@ -209,9 +210,9 @@ mixin KernelNodes { late final Procedure setFromWasmArray = index.getProcedure("dart:collection", "_WasmDefaultSet", "fromWasmArray"); late final Procedure growableListEmpty = - index.getProcedure("dart:core", "_GrowableList", "empty"); + index.getProcedure("dart:_list", "GrowableList", "empty"); late final Constructor growableListFromWasmArray = - index.getConstructor("dart:core", "_GrowableList", "_withData"); + index.getConstructor("dart:_list", "GrowableList", "_withData"); late final Procedure hashImmutableIndexNullable = index.getProcedure( "dart:collection", "_HashAbstractImmutableBase", "get:_indexNullable"); late final Field hashFieldBaseIndexField = @@ -346,7 +347,8 @@ mixin KernelNodes { index.getTopLevelProcedure("dart:core", "_namedParametersToMap"); late final Procedure namedParameterMapToArray = index.getTopLevelProcedure("dart:core", "_namedParameterMapToArray"); - late final Procedure listOf = index.getProcedure("dart:core", "_List", "of"); + late final Procedure listOf = + index.getProcedure("dart:_list", "ModifiableFixedLengthList", "of"); // dart:_wasm procedures late final Procedure wasmFunctionCall = diff --git a/pkg/dart2wasm/lib/list_factory_specializer.dart b/pkg/dart2wasm/lib/list_factory_specializer.dart index d1cdec2d937..f66d81e4ab5 100644 --- a/pkg/dart2wasm/lib/list_factory_specializer.dart +++ b/pkg/dart2wasm/lib/list_factory_specializer.dart @@ -43,21 +43,21 @@ class ListFactorySpecializer { _listGenerateFactory = coreTypes.index.getProcedure('dart:core', 'List', 'generate'), _growableListFactory = - coreTypes.index.getProcedure('dart:core', '_GrowableList', ''), + coreTypes.index.getProcedure('dart:_list', 'GrowableList', ''), _growableListEmptyFactory = - coreTypes.index.getProcedure('dart:core', '_GrowableList', 'empty'), + coreTypes.index.getProcedure('dart:_list', 'GrowableList', 'empty'), _growableListFilledFactory = coreTypes.index - .getProcedure('dart:core', '_GrowableList', 'filled'), + .getProcedure('dart:_list', 'GrowableList', 'filled'), _growableListGenerateFactory = coreTypes.index - .getProcedure('dart:core', '_GrowableList', 'generate'), - _fixedListFactory = - coreTypes.index.getProcedure('dart:core', '_List', ''), - _fixedListEmptyFactory = - coreTypes.index.getProcedure('dart:core', '_List', 'empty'), - _fixedListFilledFactory = - coreTypes.index.getProcedure('dart:core', '_List', 'filled'), - _fixedListGenerateFactory = - coreTypes.index.getProcedure('dart:core', '_List', 'generate') { + .getProcedure('dart:_list', 'GrowableList', 'generate'), + _fixedListFactory = coreTypes.index + .getProcedure('dart:_list', 'ModifiableFixedLengthList', ''), + _fixedListEmptyFactory = coreTypes.index + .getProcedure('dart:_list', 'ModifiableFixedLengthList', 'empty'), + _fixedListFilledFactory = coreTypes.index + .getProcedure('dart:_list', 'ModifiableFixedLengthList', 'filled'), + _fixedListGenerateFactory = coreTypes.index.getProcedure( + 'dart:_list', 'ModifiableFixedLengthList', 'generate') { _transformers[_listFilledFactory] = _transformListFilledFactory; _transformers[_listEmptyFactory] = _transformListEmptyFactory; _transformers[_listGenerateFactory] = _transformListGenerateFactory; diff --git a/pkg/dart2wasm/lib/target.dart b/pkg/dart2wasm/lib/target.dart index eea3d7425d6..b00be0a2637 100644 --- a/pkg/dart2wasm/lib/target.dart +++ b/pkg/dart2wasm/lib/target.dart @@ -146,6 +146,7 @@ class WasmTarget extends Target { 'dart:_internal', 'dart:_js_helper', 'dart:_js_types', + 'dart:_list', 'dart:_string', 'dart:_wasm', 'dart:async', @@ -164,6 +165,7 @@ class WasmTarget extends Target { List get extraIndexedLibraries => [ 'dart:_js_helper', 'dart:_js_types', + 'dart:_list', 'dart:_string', 'dart:_wasm', 'dart:collection', @@ -453,13 +455,13 @@ class WasmTarget extends Target { @override Class concreteListLiteralClass(CoreTypes coreTypes) { return _growableList ??= - coreTypes.index.getClass('dart:core', '_GrowableList'); + coreTypes.index.getClass('dart:_list', 'GrowableList'); } @override Class concreteConstListLiteralClass(CoreTypes coreTypes) { return _immutableList ??= - coreTypes.index.getClass('dart:core', '_ImmutableList'); + coreTypes.index.getClass('dart:_list', 'ImmutableList'); } @override diff --git a/pkg/dart2wasm/lib/translator.dart b/pkg/dart2wasm/lib/translator.dart index f103b14d39e..e93e6b2329b 100644 --- a/pkg/dart2wasm/lib/translator.dart +++ b/pkg/dart2wasm/lib/translator.dart @@ -1145,7 +1145,7 @@ class Translator with KernelNodes { return arrayTypeRef; } - /// Indexes a Dart `_ListBase` on the stack. + /// Indexes a Dart `WasmListBase` on the stack. void indexList(w.InstructionsBuilder b, void Function(w.InstructionsBuilder b) pushIndex) { getListBaseArray(b); @@ -1160,7 +1160,7 @@ class Translator with KernelNodes { b.i32_wrap_i64(); } - /// Get the _ListBase._array field of type WasmArray. + /// Get the WasmListBase._data field of type WasmArray. void getListBaseArray(w.InstructionsBuilder b) { ClassInfo info = classInfo[listBaseClass]!; b.struct_get(info.struct, FieldIndex.listArray); diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.expect index f9d8d322b37..aa522f234f6 100644 --- a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.expect +++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.modular.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.modular.expect index f9d8d322b37..aa522f234f6 100644 --- a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.modular.expect +++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.modular.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.outline.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.outline.expect index 70e23aefde4..f14e20f5347 100644 --- a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.outline.expect +++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.outline.expect @@ -7,15 +7,15 @@ static method main() → dynamic ; static method expect(dynamic expected, dynamic actual) → dynamic ; -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); diff --git a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.transformed.expect b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.transformed.expect index 53f765ec428..4416e69f683 100644 --- a/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/constructor_tearoffs/lowering/issue47462.dart.strong.transformed.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.expect b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.expect index c3e2baaabad..8d654ea0da2 100644 --- a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.expect +++ b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.expect @@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff(it); static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff(core::String name, {core::int defaultValue = #C1}) → core::int return core::int::fromEnvironment(name, defaultValue: defaultValue); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.modular.expect b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.modular.expect index c3e2baaabad..8d654ea0da2 100644 --- a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.modular.expect +++ b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.modular.expect @@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff(it); static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff(core::String name, {core::int defaultValue = #C1}) → core::int return core::int::fromEnvironment(name, defaultValue: defaultValue); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.outline.expect b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.outline.expect index 412936ad163..5fbe8cb1236 100644 --- a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.outline.expect +++ b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.outline.expect @@ -483,51 +483,51 @@ static extension-type-member method E24|constructor#_#new#tearOff(it); static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff(core::String name, {has-declared-initializer core::int defaultValue}) → core::int return core::int::fromEnvironment(name, defaultValue: defaultValue); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List return core::List::unmodifiable(elements); diff --git a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.transformed.expect b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.transformed.expect index c3e2baaabad..8d654ea0da2 100644 --- a/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/extension_types/cyclic_representation_type.dart.strong.transformed.expect @@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff(it); static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff(core::String name, {core::int defaultValue = #C1}) → core::int return core::int::fromEnvironment(name, defaultValue: defaultValue); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements, {core::bool growable = #C3}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff% /* erasure=invalid-type, declared=! */ = self::E24% /* erasure=invalid-type, declared=! */>(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/general/issue47462.dart.strong.expect b/pkg/front_end/testcases/general/issue47462.dart.strong.expect index f9d8d322b37..aa522f234f6 100644 --- a/pkg/front_end/testcases/general/issue47462.dart.strong.expect +++ b/pkg/front_end/testcases/general/issue47462.dart.strong.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/general/issue47462.dart.strong.modular.expect b/pkg/front_end/testcases/general/issue47462.dart.strong.modular.expect index f9d8d322b37..aa522f234f6 100644 --- a/pkg/front_end/testcases/general/issue47462.dart.strong.modular.expect +++ b/pkg/front_end/testcases/general/issue47462.dart.strong.modular.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/front_end/testcases/general/issue47462.dart.strong.outline.expect b/pkg/front_end/testcases/general/issue47462.dart.strong.outline.expect index 70e23aefde4..f14e20f5347 100644 --- a/pkg/front_end/testcases/general/issue47462.dart.strong.outline.expect +++ b/pkg/front_end/testcases/general/issue47462.dart.strong.outline.expect @@ -7,15 +7,15 @@ static method main() → dynamic ; static method expect(dynamic expected, dynamic actual) → dynamic ; -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({has-declared-initializer core::bool growable}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {has-declared-initializer core::bool growable}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); diff --git a/pkg/front_end/testcases/general/issue47462.dart.strong.transformed.expect b/pkg/front_end/testcases/general/issue47462.dart.strong.transformed.expect index 53f765ec428..4416e69f683 100644 --- a/pkg/front_end/testcases/general/issue47462.dart.strong.transformed.expect +++ b/pkg/front_end/testcases/general/issue47462.dart.strong.transformed.expect @@ -22,17 +22,17 @@ static method expect(dynamic expected, dynamic actual) → dynamic { if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) throw "Expected ${expected}, actual ${actual}"; } -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List return core::List::filled(length, fill, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff({core::bool growable = #C2}) → core::List return core::List::empty(growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::from(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff(core::Iterable elements, {core::bool growable = #C1}) → core::List return core::List::of(elements, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List return core::List::generate(length, generator, growable: growable); -static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List +static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff(core::Iterable elements) → core::List return core::List::unmodifiable(elements); constants { diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/records_dart2wasm.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/records_dart2wasm.dart.expect index cd7059f1af0..ff59dccd88a 100644 --- a/pkg/vm/testcases/transformations/type_flow/transformer/records_dart2wasm.dart.expect +++ b/pkg/vm/testcases/transformations/type_flow/transformer/records_dart2wasm.dart.expect @@ -3,7 +3,7 @@ import self as self; import "dart:core" as core; -[@vm.inferred-type.metadata=dart.core::_GrowableList?] +[@vm.inferred-type.metadata=dart._list::GrowableList?] static field dynamic list = ["abc", (42, {foo42: "foo42"})]; [@vm.inferred-return-type.metadata=dart.core::Record_2_bar] @@ -23,7 +23,7 @@ static method main() → dynamic { core::print([@vm.inferred-type.metadata=dart.core::Record_2_bar] self::recordLiteral([@vm.inferred-type.metadata=dart.core::_BoxedInt] core::int::parse("1"), [@vm.inferred-type.metadata=dart.core::_BoxedInt] core::int::parse("2"), [@vm.inferred-type.metadata=dart.core::_BoxedInt] core::int::parse("3"))); core::print(self::recordFieldAccess1((10, "hi"))); core::print(self::recordFieldAccess2(({a: 20, b: "bye"}))); - core::print(self::recordDynamicFieldAccess([@vm.direct-call.metadata=dart.core::_ListBase.[]??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=dart.core::_GrowableList?] self::list{dynamic}.[](1))); + core::print(self::recordDynamicFieldAccess([@vm.direct-call.metadata=dart._list::WasmListBase.[]??] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=dart._list::GrowableList?] self::list{dynamic}.[](1))); core::print([@vm.direct-call.metadata=dart.core::Record_2.toString] [@vm.inferred-type.metadata=! (skip check) (receiver not int)](1, 2).{core::Object::toString}(){() → core::String}); } constants { diff --git a/sdk/lib/_internal/vm_shared/lib/array_patch.dart b/sdk/lib/_internal/vm/lib/array_patch.dart similarity index 100% rename from sdk/lib/_internal/vm_shared/lib/array_patch.dart rename to sdk/lib/_internal/vm/lib/array_patch.dart diff --git a/sdk/lib/_internal/wasm/lib/array_patch.dart b/sdk/lib/_internal/wasm/lib/array_patch.dart new file mode 100644 index 00000000000..fff259fdb06 --- /dev/null +++ b/sdk/lib/_internal/wasm/lib/array_patch.dart @@ -0,0 +1,56 @@ +// Copyright (c) 2012, 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 'dart:_internal' + show makeFixedListUnmodifiable, makeListFixedLength, patch; +import 'dart:_list'; + +@patch +class List { + @patch + factory List.empty({bool growable = false}) { + return growable ? [] : ModifiableFixedLengthList(0); + } + + @patch + @pragma("wasm:prefer-inline") + factory List.filled(int length, E fill, {bool growable = false}) => growable + ? GrowableList.filled(length, fill) + : ModifiableFixedLengthList.filled(length, fill); + + @patch + factory List.from(Iterable elements, {bool growable = true}) { + // If elements is an Iterable, we won't need a type-test for each + // element. + if (elements is Iterable) { + return List.of(elements, growable: growable); + } + List list = GrowableList(0); + for (E e in elements) { + list.add(e); + } + if (growable) return list; + return makeListFixedLength(list); + } + + @patch + @pragma("wasm:prefer-inline") + factory List.of(Iterable elements, {bool growable = true}) => growable + ? GrowableList.of(elements) + : ModifiableFixedLengthList.of(elements); + + @patch + @pragma("wasm:prefer-inline") + factory List.generate(int length, E generator(int index), + {bool growable = true}) => + growable + ? GrowableList.generate(length, generator) + : ModifiableFixedLengthList.generate(length, generator); + + @patch + factory List.unmodifiable(Iterable elements) { + final result = List.from(elements, growable: false); + return makeFixedListUnmodifiable(result); + } +} diff --git a/sdk/lib/_internal/wasm/lib/class_id.dart b/sdk/lib/_internal/wasm/lib/class_id.dart index 062e7d7c1eb..de699f989e1 100644 --- a/sdk/lib/_internal/wasm/lib/class_id.dart +++ b/sdk/lib/_internal/wasm/lib/class_id.dart @@ -34,13 +34,13 @@ class ClassID { external static int get cid_Closure; @pragma("wasm:class-id", "dart.core#List") external static int get cidList; - @pragma("wasm:class-id", "dart.core#_List") + @pragma("wasm:class-id", "dart._list#ModifiableFixedLengthList") external static int get cidFixedLengthList; - @pragma("wasm:class-id", "dart.core#_ListBase") + @pragma("wasm:class-id", "dart._list#WasmListBase") external static int get cidListBase; - @pragma("wasm:class-id", "dart.core#_GrowableList") + @pragma("wasm:class-id", "dart._list#GrowableList") external static int get cidGrowableList; - @pragma("wasm:class-id", "dart.core#_ImmutableList") + @pragma("wasm:class-id", "dart._list#ImmutableList") external static int get cidImmutableList; @pragma("wasm:class-id", "dart.core#Record") external static int get cidRecord; diff --git a/sdk/lib/_internal/wasm/lib/core_patch.dart b/sdk/lib/_internal/wasm/lib/core_patch.dart index 36c22b69824..483b8ee1f32 100644 --- a/sdk/lib/_internal/wasm/lib/core_patch.dart +++ b/sdk/lib/_internal/wasm/lib/core_patch.dart @@ -31,6 +31,8 @@ import "dart:_internal" as _internal; import 'dart:_js_helper' show JS, JSSyntaxRegExp, quoteStringForRegExp; +import 'dart:_list'; + import 'dart:_string' show JSStringImpl; import "dart:collection" @@ -60,9 +62,7 @@ part "bool.dart"; part "closure.dart"; part "double_patch.dart"; part "errors_patch.dart"; -part "growable_list.dart"; part "identical_patch.dart"; -part "list.dart"; part "named_parameters.dart"; part "object_patch.dart"; part "record_patch.dart"; diff --git a/sdk/lib/_internal/wasm/lib/growable_list.dart b/sdk/lib/_internal/wasm/lib/growable_list.dart deleted file mode 100644 index 321f2649902..00000000000 --- a/sdk/lib/_internal/wasm/lib/growable_list.dart +++ /dev/null @@ -1,318 +0,0 @@ -// Copyright (c) 2022, 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. - -part of "core_patch.dart"; - -@pragma("wasm:entry-point") -class _GrowableList extends _ModifiableList { - _GrowableList._(int length, int capacity) : super(length, capacity); - - @pragma("wasm:entry-point") - _GrowableList._withData(WasmArray data) - : super._withData(data.length, data); - - factory _GrowableList(int length) { - return _GrowableList._(length, length); - } - - factory _GrowableList.withCapacity(int capacity) { - return _GrowableList._(0, capacity); - } - - // Specialization of List.empty constructor for growable == true. - // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - @pragma("wasm:entry-point") - factory _GrowableList.empty() => _GrowableList(0); - - // Specialization of List.filled constructor for growable == true. - // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - factory _GrowableList.filled(int length, E fill) { - final result = _GrowableList(length); - if (fill != null) { - result._data.fill(0, fill, length); - } - return result; - } - - // Specialization of List.generate constructor for growable == true. - // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - factory _GrowableList.generate(int length, E generator(int index)) { - final result = _GrowableList(length); - for (int i = 0; i < result.length; ++i) { - result._data[i] = generator(i); - } - return result; - } - - // Specialization of List.of constructor for growable == true. - factory _GrowableList.of(Iterable elements) { - if (elements is _ListBase) { - return _GrowableList._ofListBase(unsafeCast(elements)); - } - if (elements is EfficientLengthIterable) { - return _GrowableList._ofEfficientLengthIterable(unsafeCast(elements)); - } - return _GrowableList._ofOther(elements); - } - - factory _GrowableList._ofListBase(_ListBase elements) { - final int length = elements.length; - final list = _GrowableList(length); - list._data.copy(0, elements._data, 0, length); - return list; - } - - factory _GrowableList._ofEfficientLengthIterable( - EfficientLengthIterable elements) { - final int length = elements.length; - final list = _GrowableList(length); - if (length > 0) { - int i = 0; - for (var element in elements) { - list[i++] = element; - } - if (i != length) throw ConcurrentModificationError(elements); - } - return list; - } - - factory _GrowableList._ofOther(Iterable elements) { - final list = _GrowableList(0); - for (var elements in elements) { - list.add(elements); - } - return list; - } - - void insert(int index, E element) { - if (index == length) { - return add(element); - } - - if ((index < 0) || (index > length)) { - throw RangeError.range(index, 0, length); - } - - final WasmArray data; - if (length == _capacity) { - data = WasmArray(_nextCapacity(_capacity)); - if (index != 0) { - // Copy elements before the insertion point. - data.copy(0, _data, 0, index); - } - } else { - data = _data; - } - - // Shift elements, or copy elements after insertion point if we allocated a - // new array. - data.copy(index + 1, _data, index, length - index); - - // Insert new element. - data[index] = element; - - _data = data; - _length += 1; - } - - E removeAt(int index) { - // TODO(omersa): Check if removal will cause shrinking. If it will create a - // new list directly, instead of first removing the element and then - // shrinking. - var result = this[index]; - int newLength = this.length - 1; - if (index < newLength) { - _data.copy(index, _data, index + 1, newLength - index); - } - this.length = newLength; - return result; - } - - bool remove(Object? element) { - for (int i = 0; i < this.length; i++) { - if (_data[i] == element) { - removeAt(i); - return true; - } - } - return false; - } - - void insertAll(int index, Iterable iterable) { - if (index < 0 || index > length) { - throw RangeError.range(index, 0, length); - } - if (iterable is! _ListBase) { - // Read out all elements before making room to ensure consistency of the - // modified list in case the iterator throws. - iterable = _List.of(iterable); - } - int insertionLength = iterable.length; - int capacity = _capacity; - int newLength = length + insertionLength; - if (newLength > capacity) { - do { - capacity = _nextCapacity(capacity); - } while (newLength > capacity); - _grow(capacity); - } - _setLength(newLength); - setRange(index + insertionLength, this.length, this, index); - setAll(index, iterable); - } - - void removeRange(int start, int end) { - RangeError.checkValidRange(start, end, this.length); - _data.copy(start, _data, end, length - end); - this.length = this.length - (end - start); - } - - int get _capacity => _data.length; - - void set length(int new_length) { - if (new_length > length) { - // Verify that element type is nullable. - null as E; - if (new_length > _capacity) { - _grow(new_length); - } - _setLength(new_length); - return; - } - final int new_capacity = new_length; - // We are shrinking. Pick the method which has fewer writes. - // In the shrink-to-fit path, we write |new_capacity + new_length| words - // (null init + copy). - // In the non-shrink-to-fit path, we write |length - new_length| words - // (null overwrite). - final bool shouldShrinkToFit = - (new_capacity + new_length) < (length - new_length); - if (shouldShrinkToFit) { - _shrink(new_capacity, new_length); - } else { - _data.fill(new_length, null, length - new_length); - } - _setLength(new_length); - } - - void _setLength(int new_length) { - _length = new_length; - } - - void add(E value) { - var len = length; - if (len == _capacity) { - _growToNextCapacity(); - } - _setLength(len + 1); - _data[len] = value; - } - - void addAll(Iterable iterable) { - var len = length; - if (iterable is EfficientLengthIterable) { - // Pregrow if we know iterable.length. - var iterLen = iterable.length; - if (iterLen == 0) { - return; - } - if (identical(iterable, this)) { - throw ConcurrentModificationError(this); - } - var cap = _capacity; - var newLen = len + iterLen; - if (newLen > cap) { - do { - cap = _nextCapacity(cap); - } while (newLen > cap); - _grow(cap); - } - } - Iterator it = iterable.iterator; - if (!it.moveNext()) return; - do { - while (len < _capacity) { - int newLen = len + 1; - this._setLength(newLen); - _data[len] = it.current; - if (!it.moveNext()) return; - if (this.length != newLen) throw ConcurrentModificationError(this); - len = newLen; - } - _growToNextCapacity(); - } while (true); - } - - E removeLast() { - var len = length - 1; - var elem = this[len]; - this.length = len; - return elem; - } - - // Shared array used as backing for new empty growable lists. - static final WasmArray _emptyData = WasmArray(0); - - static WasmArray _allocateData(int capacity) { - if (capacity < 0) { - throw RangeError.range(capacity, 0, _maxWasmArrayLength); - } - if (capacity == 0) { - // Use shared empty list as backing. - return _emptyData; - } - return WasmArray(capacity); - } - - // Grow from 0 to 3, and then double + 1. - int _nextCapacity(int old_capacity) => (old_capacity * 2) | 3; - - void _grow(int new_capacity) { - var newData = WasmArray(new_capacity); - newData.copy(0, _data, 0, length); - _data = newData; - } - - void _growToNextCapacity() { - _grow(_nextCapacity(_capacity)); - } - - void _shrink(int new_capacity, int new_length) { - var newData = _allocateData(new_capacity); - newData.copy(0, _data, 0, new_length); - _data = newData; - } - - Iterator get iterator { - return _GrowableListIterator(this); - } -} - -// Iterator for growable lists. -class _GrowableListIterator implements Iterator { - final _GrowableList _list; - final int _length; // Cache list length for modification check. - int _index; - E? _current; - - _GrowableListIterator(_GrowableList list) - : _list = list, - _length = list.length, - _index = 0; - - E get current => _current as E; - - bool moveNext() { - if (_list.length != _length) { - throw ConcurrentModificationError(_list); - } - if (_index >= _length) { - _current = null; - return false; - } - _current = unsafeCast(_list._data[_index]); - _index++; - return true; - } -} diff --git a/sdk/lib/_internal/wasm/lib/list.dart b/sdk/lib/_internal/wasm/lib/list.dart index 151784c3bf8..0249d01e473 100644 --- a/sdk/lib/_internal/wasm/lib/list.dart +++ b/sdk/lib/_internal/wasm/lib/list.dart @@ -2,24 +2,28 @@ // 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. -part of "core_patch.dart"; +library dart._list; + +import 'dart:_internal'; +import 'dart:_wasm'; +import 'dart:collection'; const int _maxWasmArrayLength = 2147483647; // max i32 @pragma("wasm:entry-point") -abstract class _ListBase extends ListBase { +abstract class WasmListBase extends ListBase { @pragma("wasm:entry-point") int _length; @pragma("wasm:entry-point") WasmArray _data; - _ListBase(int length, int capacity) + WasmListBase(int length, int capacity) : _length = length, _data = WasmArray( RangeError.checkValueInInterval(capacity, 0, _maxWasmArrayLength)); - _ListBase._withData(this._length, this._data); + WasmListBase._withData(this._length, this._data); @pragma('wasm:prefer-inline') E operator [](int index) { @@ -35,7 +39,7 @@ abstract class _ListBase extends ListBase { final int actualEnd = RangeError.checkValidRange(start, end, listLength); int length = actualEnd - start; if (length == 0) return []; - return _GrowableList(length)..setRange(0, length, this, start); + return GrowableList(length)..setRange(0, length, this, start); } void forEach(f(E element)) { @@ -46,13 +50,12 @@ abstract class _ListBase extends ListBase { } } - List toList({bool growable = true}) { - return List.from(this, growable: growable); - } + @pragma("wasm:prefer-inline") + List toList({bool growable = true}) => List.from(this, growable: growable); } @pragma("wasm:entry-point") -abstract class _ModifiableList extends _ListBase { +abstract class _ModifiableList extends WasmListBase { _ModifiableList(int length, int capacity) : super(length, capacity); _ModifiableList._withData(int length, WasmArray data) @@ -111,19 +114,21 @@ abstract class _ModifiableList extends _ListBase { } @pragma("wasm:entry-point") -class _List extends _ModifiableList with FixedLengthListMixin { - _List._(int length) : super(length, length); +class ModifiableFixedLengthList extends _ModifiableList + with FixedLengthListMixin { + ModifiableFixedLengthList._(int length) : super(length, length); - factory _List(int length) => _List._(length); + factory ModifiableFixedLengthList(int length) => + ModifiableFixedLengthList._(length); // Specialization of List.empty constructor for growable == false. // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - factory _List.empty() => _List(0); + factory ModifiableFixedLengthList.empty() => ModifiableFixedLengthList(0); // Specialization of List.filled constructor for growable == false. // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - factory _List.filled(int length, E fill) { - final result = _List(length); + factory ModifiableFixedLengthList.filled(int length, E fill) { + final result = ModifiableFixedLengthList(length); if (fill != null) { result._data.fill(0, fill, length); } @@ -132,8 +137,9 @@ class _List extends _ModifiableList with FixedLengthListMixin { // Specialization of List.generate constructor for growable == false. // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. - factory _List.generate(int length, E generator(int index)) { - final result = _List(length); + factory ModifiableFixedLengthList.generate( + int length, E generator(int index)) { + final result = ModifiableFixedLengthList(length); for (int i = 0; i < result.length; ++i) { result._data[i] = generator(i); } @@ -141,27 +147,28 @@ class _List extends _ModifiableList with FixedLengthListMixin { } // Specialization of List.of constructor for growable == false. - factory _List.of(Iterable elements) { - if (elements is _ListBase) { - return _List._ofListBase(unsafeCast(elements)); + factory ModifiableFixedLengthList.of(Iterable elements) { + if (elements is WasmListBase) { + return ModifiableFixedLengthList._ofListBase(unsafeCast(elements)); } if (elements is EfficientLengthIterable) { - return _List._ofEfficientLengthIterable(unsafeCast(elements)); + return ModifiableFixedLengthList._ofEfficientLengthIterable( + unsafeCast(elements)); } - return _List._ofOther(elements); + return ModifiableFixedLengthList.fromIterable(elements); } - factory _List._ofListBase(_ListBase elements) { + factory ModifiableFixedLengthList._ofListBase(WasmListBase elements) { final int length = elements.length; - final list = _List(length); + final list = ModifiableFixedLengthList(length); list._data.copy(0, elements._data, 0, length); return list; } - factory _List._ofEfficientLengthIterable( + factory ModifiableFixedLengthList._ofEfficientLengthIterable( EfficientLengthIterable elements) { final int length = elements.length; - final list = _List(length); + final list = ModifiableFixedLengthList(length); if (length > 0) { int i = 0; for (var element in elements) { @@ -172,12 +179,13 @@ class _List extends _ModifiableList with FixedLengthListMixin { return list; } - factory _List._ofOther(Iterable elements) { - // The static type of `makeListFixedLength` is `List`, not `_List`, + factory ModifiableFixedLengthList.fromIterable(Iterable elements) { + // The static type of `makeListFixedLength` is `List`, not `ModifiableFixedLengthList`, // but we know that is what it does. `makeListFixedLength` is too generally // typed since it is available on the web platform which has different // system List types. - return unsafeCast(makeListFixedLength(_GrowableList._ofOther(elements))); + return unsafeCast( + makeListFixedLength(GrowableList.fromIterable(elements))); } Iterator get iterator { @@ -186,10 +194,10 @@ class _List extends _ModifiableList with FixedLengthListMixin { } @pragma("wasm:entry-point") -class _ImmutableList extends _ListBase with UnmodifiableListMixin { - factory _ImmutableList._uninstantiable() { +class ImmutableList extends WasmListBase with UnmodifiableListMixin { + factory ImmutableList._uninstantiable() { throw UnsupportedError( - "_ImmutableList can only be allocated by the runtime"); + "ImmutableList can only be allocated by the runtime"); } Iterator get iterator { @@ -204,11 +212,11 @@ class _FixedSizeListIterator implements Iterator { int _index; E? _current; - _FixedSizeListIterator(_ListBase list) + _FixedSizeListIterator(WasmListBase list) : _data = list._data, _length = list.length, _index = 0 { - assert(list is _List || list is _ImmutableList); + assert(list is ModifiableFixedLengthList || list is ImmutableList); } E get current => _current as E; @@ -223,3 +231,315 @@ class _FixedSizeListIterator implements Iterator { return true; } } + +@pragma("wasm:entry-point") +class GrowableList extends _ModifiableList { + GrowableList._(int length, int capacity) : super(length, capacity); + + @pragma("wasm:entry-point") + GrowableList._withData(WasmArray data) + : super._withData(data.length, data); + + @pragma("wasm:prefer-inline") + factory GrowableList(int length) => GrowableList._(length, length); + + @pragma("wasm:prefer-inline") + factory GrowableList.withCapacity(int capacity) => + GrowableList._(0, capacity); + + // Specialization of List.empty constructor for growable == true. + // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. + @pragma("wasm:entry-point") + factory GrowableList.empty() => GrowableList(0); + + // Specialization of List.filled constructor for growable == true. + // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. + factory GrowableList.filled(int length, E fill) { + final result = GrowableList(length); + if (fill != null) { + result._data.fill(0, fill, length); + } + return result; + } + + // Specialization of List.generate constructor for growable == true. + // Used by pkg/dart2wasm/lib/list_factory_specializer.dart. + factory GrowableList.generate(int length, E generator(int index)) { + final result = GrowableList(length); + for (int i = 0; i < result.length; ++i) { + result._data[i] = generator(i); + } + return result; + } + + // Specialization of List.of constructor for growable == true. + factory GrowableList.of(Iterable elements) { + if (elements is WasmListBase) { + return GrowableList._ofListBase(unsafeCast(elements)); + } + if (elements is EfficientLengthIterable) { + return GrowableList._ofEfficientLengthIterable(unsafeCast(elements)); + } + return GrowableList.fromIterable(elements); + } + + factory GrowableList._ofListBase(WasmListBase elements) { + final int length = elements.length; + final list = GrowableList(length); + list._data.copy(0, elements._data, 0, length); + return list; + } + + factory GrowableList._ofEfficientLengthIterable( + EfficientLengthIterable elements) { + final int length = elements.length; + final list = GrowableList(length); + if (length > 0) { + int i = 0; + for (var element in elements) { + list[i++] = element; + } + if (i != length) throw ConcurrentModificationError(elements); + } + return list; + } + + factory GrowableList.fromIterable(Iterable elements) { + final list = GrowableList(0); + for (var elements in elements) { + list.add(elements); + } + return list; + } + + void insert(int index, E element) { + if (index == length) { + return add(element); + } + + if ((index < 0) || (index > length)) { + throw RangeError.range(index, 0, length); + } + + final WasmArray data; + if (length == _capacity) { + data = WasmArray(_nextCapacity(_capacity)); + if (index != 0) { + // Copy elements before the insertion point. + data.copy(0, _data, 0, index); + } + } else { + data = _data; + } + + // Shift elements, or copy elements after insertion point if we allocated a + // new array. + data.copy(index + 1, _data, index, length - index); + + // Insert new element. + data[index] = element; + + _data = data; + _length += 1; + } + + E removeAt(int index) { + // TODO(omersa): Check if removal will cause shrinking. If it will create a + // new list directly, instead of first removing the element and then + // shrinking. + var result = this[index]; + int newLength = this.length - 1; + if (index < newLength) { + _data.copy(index, _data, index + 1, newLength - index); + } + this.length = newLength; + return result; + } + + bool remove(Object? element) { + for (int i = 0; i < this.length; i++) { + if (_data[i] == element) { + removeAt(i); + return true; + } + } + return false; + } + + void insertAll(int index, Iterable iterable) { + if (index < 0 || index > length) { + throw RangeError.range(index, 0, length); + } + if (iterable is! WasmListBase) { + // Read out all elements before making room to ensure consistency of the + // modified list in case the iterator throws. + iterable = ModifiableFixedLengthList.of(iterable); + } + int insertionLength = iterable.length; + int capacity = _capacity; + int newLength = length + insertionLength; + if (newLength > capacity) { + do { + capacity = _nextCapacity(capacity); + } while (newLength > capacity); + _grow(capacity); + } + _setLength(newLength); + setRange(index + insertionLength, this.length, this, index); + setAll(index, iterable); + } + + void removeRange(int start, int end) { + RangeError.checkValidRange(start, end, this.length); + _data.copy(start, _data, end, length - end); + this.length = this.length - (end - start); + } + + int get _capacity => _data.length; + + void set length(int new_length) { + if (new_length > length) { + // Verify that element type is nullable. + null as E; + if (new_length > _capacity) { + _grow(new_length); + } + _setLength(new_length); + return; + } + final int new_capacity = new_length; + // We are shrinking. Pick the method which has fewer writes. + // In the shrink-to-fit path, we write |new_capacity + new_length| words + // (null init + copy). + // In the non-shrink-to-fit path, we write |length - new_length| words + // (null overwrite). + final bool shouldShrinkToFit = + (new_capacity + new_length) < (length - new_length); + if (shouldShrinkToFit) { + _shrink(new_capacity, new_length); + } else { + _data.fill(new_length, null, length - new_length); + } + _setLength(new_length); + } + + void _setLength(int new_length) { + _length = new_length; + } + + void add(E value) { + var len = length; + if (len == _capacity) { + _growToNextCapacity(); + } + _setLength(len + 1); + _data[len] = value; + } + + void addAll(Iterable iterable) { + var len = length; + if (iterable is EfficientLengthIterable) { + // Pregrow if we know iterable.length. + var iterLen = iterable.length; + if (iterLen == 0) { + return; + } + if (identical(iterable, this)) { + throw ConcurrentModificationError(this); + } + var cap = _capacity; + var newLen = len + iterLen; + if (newLen > cap) { + do { + cap = _nextCapacity(cap); + } while (newLen > cap); + _grow(cap); + } + } + Iterator it = iterable.iterator; + if (!it.moveNext()) return; + do { + while (len < _capacity) { + int newLen = len + 1; + this._setLength(newLen); + _data[len] = it.current; + if (!it.moveNext()) return; + if (this.length != newLen) throw ConcurrentModificationError(this); + len = newLen; + } + _growToNextCapacity(); + } while (true); + } + + E removeLast() { + var len = length - 1; + var elem = this[len]; + this.length = len; + return elem; + } + + // Shared array used as backing for new empty growable lists. + static final WasmArray _emptyData = WasmArray(0); + + static WasmArray _allocateData(int capacity) { + if (capacity < 0) { + throw RangeError.range(capacity, 0, _maxWasmArrayLength); + } + if (capacity == 0) { + // Use shared empty list as backing. + return _emptyData; + } + return WasmArray(capacity); + } + + // Grow from 0 to 3, and then double + 1. + int _nextCapacity(int old_capacity) => (old_capacity * 2) | 3; + + void _grow(int new_capacity) { + var newData = WasmArray(new_capacity); + newData.copy(0, _data, 0, length); + _data = newData; + } + + void _growToNextCapacity() { + _grow(_nextCapacity(_capacity)); + } + + void _shrink(int new_capacity, int new_length) { + var newData = _allocateData(new_capacity); + newData.copy(0, _data, 0, new_length); + _data = newData; + } + + Iterator get iterator { + return _GrowableListIterator(this); + } +} + +// Iterator for growable lists. +class _GrowableListIterator implements Iterator { + final GrowableList _list; + final int _length; // Cache list length for modification check. + int _index; + E? _current; + + _GrowableListIterator(GrowableList list) + : _list = list, + _length = list.length, + _index = 0; + + E get current => _current as E; + + bool moveNext() { + if (_list.length != _length) { + throw ConcurrentModificationError(_list); + } + if (_index >= _length) { + _current = null; + return false; + } + _current = unsafeCast(_list._data[_index]); + _index++; + return true; + } +} diff --git a/sdk/lib/_internal/wasm/lib/type.dart b/sdk/lib/_internal/wasm/lib/type.dart index 4f0f5bd1ac9..42129b04936 100644 --- a/sdk/lib/_internal/wasm/lib/type.dart +++ b/sdk/lib/_internal/wasm/lib/type.dart @@ -1634,7 +1634,7 @@ _Type _getMasqueradedRuntimeType(Object object) { if (object is int) return _literal(); if (object is double) return _literal(); if (object is _Type) return _literal(); - if (object is _ListBase) { + if (object is WasmListBase) { return _InterfaceType( ClassID.cidList, false, Object._getTypeArguments(object)); } diff --git a/sdk/lib/libraries.json b/sdk/lib/libraries.json index 9a58c29334a..8a5a95a0b8d 100644 --- a/sdk/lib/libraries.json +++ b/sdk/lib/libraries.json @@ -36,8 +36,8 @@ "core": { "uri": "core/core.dart", "patches": [ + "_internal/vm/lib/array_patch.dart", "_internal/vm/lib/core_patch.dart", - "_internal/vm_shared/lib/array_patch.dart", "_internal/vm_shared/lib/bigint_patch.dart", "_internal/vm_shared/lib/bool_patch.dart", "_internal/vm_shared/lib/date_patch.dart", @@ -126,12 +126,12 @@ "core": { "uri": "core/core.dart", "patches": [ - "_internal/vm_shared/lib/array_patch.dart", "_internal/vm_shared/lib/bigint_patch.dart", "_internal/vm_shared/lib/bool_patch.dart", "_internal/vm_shared/lib/date_patch.dart", "_internal/vm_shared/lib/map_patch.dart", "_internal/vm_shared/lib/null_patch.dart", + "_internal/wasm/lib/array_patch.dart", "_internal/wasm/lib/boxed_double.dart", "_internal/wasm/lib/boxed_int.dart", "_internal/wasm/lib/boxed_int_to_string.dart", @@ -183,12 +183,12 @@ "core": { "uri": "core/core.dart", "patches": [ - "_internal/vm_shared/lib/array_patch.dart", "_internal/vm_shared/lib/bigint_patch.dart", "_internal/vm_shared/lib/bool_patch.dart", "_internal/vm_shared/lib/date_patch.dart", "_internal/vm_shared/lib/map_patch.dart", "_internal/vm_shared/lib/null_patch.dart", + "_internal/wasm/lib/array_patch.dart", "_internal/wasm/lib/boxed_double.dart", "_internal/wasm/lib/boxed_int.dart", "_internal/wasm/lib/core_patch.dart", @@ -249,6 +249,9 @@ "_js_types": { "uri": "_internal/wasm/lib/js_types.dart" }, + "_list": { + "uri": "_internal/wasm/lib/list.dart" + }, "_object_helper": { "uri": "_internal/wasm/lib/object_helper.dart" }, diff --git a/sdk/lib/libraries.yaml b/sdk/lib/libraries.yaml index 404e607e8ec..83b84160791 100644 --- a/sdk/lib/libraries.yaml +++ b/sdk/lib/libraries.yaml @@ -43,8 +43,8 @@ vm_common: core: uri: "core/core.dart" patches: + - "_internal/vm/lib/array_patch.dart" - "_internal/vm/lib/core_patch.dart" - - "_internal/vm_shared/lib/array_patch.dart" - "_internal/vm_shared/lib/bigint_patch.dart" - "_internal/vm_shared/lib/bool_patch.dart" - "_internal/vm_shared/lib/date_patch.dart" @@ -117,12 +117,12 @@ wasm: core: uri: core/core.dart patches: - - _internal/vm_shared/lib/array_patch.dart - _internal/vm_shared/lib/bigint_patch.dart - _internal/vm_shared/lib/bool_patch.dart - _internal/vm_shared/lib/date_patch.dart - _internal/vm_shared/lib/map_patch.dart - _internal/vm_shared/lib/null_patch.dart + - _internal/wasm/lib/array_patch.dart - _internal/wasm/lib/boxed_double.dart - _internal/wasm/lib/boxed_int.dart - _internal/wasm/lib/boxed_int_to_string.dart @@ -161,12 +161,12 @@ wasm_js_compatibility: core: uri: core/core.dart patches: - - _internal/vm_shared/lib/array_patch.dart - _internal/vm_shared/lib/bigint_patch.dart - _internal/vm_shared/lib/bool_patch.dart - _internal/vm_shared/lib/date_patch.dart - _internal/vm_shared/lib/map_patch.dart - _internal/vm_shared/lib/null_patch.dart + - _internal/wasm/lib/array_patch.dart - _internal/wasm/lib/boxed_double.dart - _internal/wasm/lib/boxed_int.dart - _internal/wasm/lib/core_patch.dart @@ -211,6 +211,8 @@ wasm_common: uri: _internal/wasm/lib/js_string_convert.dart _js_types: uri: _internal/wasm/lib/js_types.dart + _list: + uri: _internal/wasm/lib/list.dart _object_helper: uri: _internal/wasm/lib/object_helper.dart _simd: