[dart2wasm] Move list implementations to their own library

This WasmArray-backed list classes to `dart:_list`, similar to
`dart:_string` and `dart:_typed_data`

This will allow having internally-public list members like unchecked
getters and setters that we will use in the rest of the standard
library.

This CL doesn't add anything new, just renames things.

- `dart.core._ListBase` -> `dart._list.WasmListBase`

  This is to avoid confusion with `dart.core.ListBase` (defined by Dart
  standard library), and also to be consistent with `WasmTypedDataBase`
  and `WasmStringBase`.

- `dart.core._List` -> `dart._list.ModifiableFixedLengthList`

  Similar to the above, to avoid confusion with `dart.core.List`.

- `GrowableList.ofOther` -> `GrowableList.fromIterable`

  `ofOther` sounds like it should make a growable list from another
  growable list, but the type is more general than that. To reflect what
  it actually does we call it `fromIterable`.

Tested: Existing tests.
Change-Id: I24398765e1b0d549fc70b03ba94161479c5fc54c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/372622
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
Ömer Sinan Ağacan
2024-06-21 14:46:58 +00:00
committed by Commit Queue
parent 81badfad5d
commit 844ced8016
30 changed files with 606 additions and 538 deletions
+1 -1
View File
@@ -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 <String>[
"ByteBuffer",
+1
View File
@@ -129,6 +129,7 @@ Future<CompilerOutput?> compileToModule(compiler.WasmCompilerOptions options,
"dart:_internal",
"dart:_js_helper",
"dart:_js_types",
"dart:_list",
"dart:_string",
"dart:_wasm",
"dart:async",
+1 -1
View File
@@ -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(
+2 -2
View File
@@ -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,
+9 -7
View File
@@ -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 =
+12 -12
View File
@@ -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;
+4 -2
View File
@@ -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<String> 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
+2 -2
View File
@@ -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<Object?>.
/// Get the WasmListBase._data field of type WasmArray<Object?>.
void getListBaseArray(w.InstructionsBuilder b) {
ClassInfo info = classInfo[listBaseClass]!;
b.struct_get(info.struct, FieldIndex.listArray);
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({has-declared-initializer core::bool growable}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({has-declared-initializer core::bool growable}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff<T extends core
return self::E24|constructor#<self::E24|constructor#_#new#tearOff::T%>(it);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff<unrelated T extends core::Object? = dynamic>(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<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16b% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16b% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16b% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16b% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16a% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16a% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16a% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16a% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
return core::List::filled<self::_#Alias23#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
return core::List::empty<self::_#Alias23#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
return core::List::from<self::_#Alias23#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
return core::List::of<self::_#Alias23#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
return core::List::generate<self::_#Alias23#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias23#unmodifiable#tearOff::T%>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
return core::List::filled<self::_#Alias24#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
return core::List::empty<self::_#Alias24#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
return core::List::from<self::_#Alias24#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
return core::List::of<self::_#Alias24#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
return core::List::generate<self::_#Alias24#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias24#unmodifiable#tearOff::T%>(elements);
constants {
@@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff<T extends core
return self::E24|constructor#<self::E24|constructor#_#new#tearOff::T%>(it);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff<unrelated T extends core::Object? = dynamic>(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<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16b% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16b% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16b% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16b% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16a% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16a% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16a% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16a% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
return core::List::filled<self::_#Alias23#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
return core::List::empty<self::_#Alias23#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
return core::List::from<self::_#Alias23#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
return core::List::of<self::_#Alias23#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
return core::List::generate<self::_#Alias23#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias23#unmodifiable#tearOff::T%>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
return core::List::filled<self::_#Alias24#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
return core::List::empty<self::_#Alias24#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
return core::List::from<self::_#Alias24#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
return core::List::of<self::_#Alias24#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
return core::List::generate<self::_#Alias24#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias24#unmodifiable#tearOff::T%>(elements);
constants {
@@ -483,51 +483,51 @@ static extension-type-member method E24|constructor#_#new#tearOff<T extends core
return self::E24|constructor#<self::E24|constructor#_#new#tearOff::T%>(it);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff<unrelated T extends core::Object? = dynamic>(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<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16b% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16b% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16b% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16b% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16a% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16a% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {has-declared-initializer core::bool growable}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16a% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16a% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#filled#tearOff::T%>
return core::List::filled<self::_#Alias23#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#empty#tearOff::T%>
return core::List::empty<self::_#Alias23#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#from#tearOff::T%>
return core::List::from<self::_#Alias23#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#of#tearOff::T%>
return core::List::of<self::_#Alias23#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias23#generate#tearOff::T%>
return core::List::generate<self::_#Alias23#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias23#unmodifiable#tearOff::T%>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#filled#tearOff::T%>
return core::List::filled<self::_#Alias24#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#empty#tearOff::T%>
return core::List::empty<self::_#Alias24#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#from#tearOff::T%>
return core::List::from<self::_#Alias24#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#of#tearOff::T%>
return core::List::of<self::_#Alias24#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {has-declared-initializer core::bool growable}) → core::List<self::_#Alias24#generate#tearOff::T%>
return core::List::generate<self::_#Alias24#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias24#unmodifiable#tearOff::T%>(elements);
@@ -543,53 +543,53 @@ static extension-type-member method E24|constructor#_#new#tearOff<T extends core
return self::E24|constructor#<self::E24|constructor#_#new#tearOff::T%>(it);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/integers_patch.dart */ _#Alias14#fromEnvironment#tearOff<unrelated T extends core::Object? = dynamic>(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<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16b% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16b% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16b% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16b% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16b% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16b% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16b% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16a#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16b% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16b% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#filled#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, self::E16a% /* erasure=invalid-type, declared=! */ fill, {core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::filled<self::E16a% /* erasure=invalid-type, declared=! */>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#empty#tearOff<unrelated T extends core::Object? = dynamic>({core::bool growable = #C2}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::empty<self::E16a% /* erasure=invalid-type, declared=! */>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#from#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::from<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#of#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<self::E16a% /* erasure=invalid-type, declared=! */> elements, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::of<self::E16a% /* erasure=invalid-type, declared=! */>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#generate#tearOff<unrelated T extends core::Object? = dynamic>(core::int length, (core::int) → self::E16a% /* erasure=invalid-type, declared=! */ generator, {core::bool growable = #C3}) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::generate<self::E16a% /* erasure=invalid-type, declared=! */>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias16b#unmodifiable#tearOff<unrelated T extends core::Object? = dynamic>(core::Iterable<dynamic> elements) → core::List<self::E16a% /* erasure=invalid-type, declared=! */>
return core::List::unmodifiable<self::E16a% /* erasure=invalid-type, declared=! */>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#filled#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias23#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias23#filled#tearOff::T%>
return core::List::filled<self::_#Alias23#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#empty#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias23#empty#tearOff::T%>
return core::List::empty<self::_#Alias23#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#from#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#from#tearOff::T%>
return core::List::from<self::_#Alias23#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#of#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias23#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias23#of#tearOff::T%>
return core::List::of<self::_#Alias23#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#generate#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias23#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias23#generate#tearOff::T%>
return core::List::generate<self::_#Alias23#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias23#unmodifiable#tearOff<T extends self::E23% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias23#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias23#unmodifiable#tearOff::T%>(elements);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#filled#tearOff<T extends self::E24<self::_#Alias24#filled#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, self::_#Alias24#filled#tearOff::T% fill, {core::bool growable = #C2}) → core::List<self::_#Alias24#filled#tearOff::T%>
return core::List::filled<self::_#Alias24#filled#tearOff::T%>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#empty#tearOff<T extends self::E24<self::_#Alias24#empty#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>({core::bool growable = #C2}) → core::List<self::_#Alias24#empty#tearOff::T%>
return core::List::empty<self::_#Alias24#empty#tearOff::T%>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#from#tearOff<T extends self::E24<self::_#Alias24#from#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#from#tearOff::T%>
return core::List::from<self::_#Alias24#from#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#of#tearOff<T extends self::E24<self::_#Alias24#of#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<self::_#Alias24#of#tearOff::T%> elements, {core::bool growable = #C3}) → core::List<self::_#Alias24#of#tearOff::T%>
return core::List::of<self::_#Alias24#of#tearOff::T%>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#generate#tearOff<T extends self::E24<self::_#Alias24#generate#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::int length, (core::int) → self::_#Alias24#generate#tearOff::T% generator, {core::bool growable = #C3}) → core::List<self::_#Alias24#generate#tearOff::T%>
return core::List::generate<self::_#Alias24#generate#tearOff::T%>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#Alias24#unmodifiable#tearOff<T extends self::E24<self::_#Alias24#unmodifiable#tearOff::T%>% /* erasure=invalid-type, declared=! */ = self::E24<dynamic>% /* erasure=invalid-type, declared=! */>(core::Iterable<dynamic> elements) → core::List<self::_#Alias24#unmodifiable#tearOff::T%>
return core::List::unmodifiable<self::_#Alias24#unmodifiable#tearOff::T%>(elements);
constants {
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({has-declared-initializer core::bool growable}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({has-declared-initializer core::bool growable}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {has-declared-initializer core::bool growable}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
@@ -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<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T>
return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T>
return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T>
return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T>
return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T>
return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable);
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm_shared/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T>
return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements);
constants {
@@ -3,7 +3,7 @@ import self as self;
import "dart:core" as core;
[@vm.inferred-type.metadata=dart.core::_GrowableList?<dart.core::Object>]
[@vm.inferred-type.metadata=dart._list::GrowableList?<dart.core::Object>]
static field dynamic list = <core::Object>["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?<dart.core::Object>] 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?<dart.core::Object>] 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 {
@@ -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<E> {
@patch
factory List.empty({bool growable = false}) {
return growable ? <E>[] : ModifiableFixedLengthList<E>(0);
}
@patch
@pragma("wasm:prefer-inline")
factory List.filled(int length, E fill, {bool growable = false}) => growable
? GrowableList<E>.filled(length, fill)
: ModifiableFixedLengthList<E>.filled(length, fill);
@patch
factory List.from(Iterable elements, {bool growable = true}) {
// If elements is an Iterable<E>, we won't need a type-test for each
// element.
if (elements is Iterable<E>) {
return List.of(elements, growable: growable);
}
List<E> list = GrowableList<E>(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<E> elements, {bool growable = true}) => growable
? GrowableList<E>.of(elements)
: ModifiableFixedLengthList<E>.of(elements);
@patch
@pragma("wasm:prefer-inline")
factory List.generate(int length, E generator(int index),
{bool growable = true}) =>
growable
? GrowableList<E>.generate(length, generator)
: ModifiableFixedLengthList<E>.generate(length, generator);
@patch
factory List.unmodifiable(Iterable elements) {
final result = List<E>.from(elements, growable: false);
return makeFixedListUnmodifiable(result);
}
}
+4 -4
View File
@@ -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;
+2 -2
View File
@@ -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";
@@ -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<E> extends _ModifiableList<E> {
_GrowableList._(int length, int capacity) : super(length, capacity);
@pragma("wasm:entry-point")
_GrowableList._withData(WasmArray<Object?> data)
: super._withData(data.length, data);
factory _GrowableList(int length) {
return _GrowableList<E>._(length, length);
}
factory _GrowableList.withCapacity(int capacity) {
return _GrowableList<E>._(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<E>(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<E>(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<E> 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<E> elements) {
final int length = elements.length;
final list = _GrowableList<E>(length);
list._data.copy(0, elements._data, 0, length);
return list;
}
factory _GrowableList._ofEfficientLengthIterable(
EfficientLengthIterable<E> elements) {
final int length = elements.length;
final list = _GrowableList<E>(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<E> elements) {
final list = _GrowableList<E>(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<Object?> data;
if (length == _capacity) {
data = WasmArray<Object?>(_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<E> 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<E> 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<Object?> _emptyData = WasmArray<Object?>(0);
static WasmArray<Object?> _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<Object?>(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<Object?>(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<E> get iterator {
return _GrowableListIterator<E>(this);
}
}
// Iterator for growable lists.
class _GrowableListIterator<E> implements Iterator<E> {
final _GrowableList<E> _list;
final int _length; // Cache list length for modification check.
int _index;
E? _current;
_GrowableListIterator(_GrowableList<E> 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;
}
}
+354 -34
View File
@@ -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<E> extends ListBase<E> {
abstract class WasmListBase<E> extends ListBase<E> {
@pragma("wasm:entry-point")
int _length;
@pragma("wasm:entry-point")
WasmArray<Object?> _data;
_ListBase(int length, int capacity)
WasmListBase(int length, int capacity)
: _length = length,
_data = WasmArray<Object?>(
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<E> extends ListBase<E> {
final int actualEnd = RangeError.checkValidRange(start, end, listLength);
int length = actualEnd - start;
if (length == 0) return <E>[];
return _GrowableList<E>(length)..setRange(0, length, this, start);
return GrowableList<E>(length)..setRange(0, length, this, start);
}
void forEach(f(E element)) {
@@ -46,13 +50,12 @@ abstract class _ListBase<E> extends ListBase<E> {
}
}
List<E> toList({bool growable = true}) {
return List.from(this, growable: growable);
}
@pragma("wasm:prefer-inline")
List<E> toList({bool growable = true}) => List.from(this, growable: growable);
}
@pragma("wasm:entry-point")
abstract class _ModifiableList<E> extends _ListBase<E> {
abstract class _ModifiableList<E> extends WasmListBase<E> {
_ModifiableList(int length, int capacity) : super(length, capacity);
_ModifiableList._withData(int length, WasmArray<Object?> data)
@@ -111,19 +114,21 @@ abstract class _ModifiableList<E> extends _ListBase<E> {
}
@pragma("wasm:entry-point")
class _List<E> extends _ModifiableList<E> with FixedLengthListMixin<E> {
_List._(int length) : super(length, length);
class ModifiableFixedLengthList<E> extends _ModifiableList<E>
with FixedLengthListMixin<E> {
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<E>(0);
factory ModifiableFixedLengthList.empty() => ModifiableFixedLengthList<E>(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<E>(length);
factory ModifiableFixedLengthList.filled(int length, E fill) {
final result = ModifiableFixedLengthList<E>(length);
if (fill != null) {
result._data.fill(0, fill, length);
}
@@ -132,8 +137,9 @@ class _List<E> extends _ModifiableList<E> with FixedLengthListMixin<E> {
// 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<E>(length);
factory ModifiableFixedLengthList.generate(
int length, E generator(int index)) {
final result = ModifiableFixedLengthList<E>(length);
for (int i = 0; i < result.length; ++i) {
result._data[i] = generator(i);
}
@@ -141,27 +147,28 @@ class _List<E> extends _ModifiableList<E> with FixedLengthListMixin<E> {
}
// Specialization of List.of constructor for growable == false.
factory _List.of(Iterable<E> elements) {
if (elements is _ListBase) {
return _List._ofListBase(unsafeCast(elements));
factory ModifiableFixedLengthList.of(Iterable<E> 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<E> elements) {
factory ModifiableFixedLengthList._ofListBase(WasmListBase<E> elements) {
final int length = elements.length;
final list = _List<E>(length);
final list = ModifiableFixedLengthList<E>(length);
list._data.copy(0, elements._data, 0, length);
return list;
}
factory _List._ofEfficientLengthIterable(
factory ModifiableFixedLengthList._ofEfficientLengthIterable(
EfficientLengthIterable<E> elements) {
final int length = elements.length;
final list = _List<E>(length);
final list = ModifiableFixedLengthList<E>(length);
if (length > 0) {
int i = 0;
for (var element in elements) {
@@ -172,12 +179,13 @@ class _List<E> extends _ModifiableList<E> with FixedLengthListMixin<E> {
return list;
}
factory _List._ofOther(Iterable<E> elements) {
// The static type of `makeListFixedLength` is `List<E>`, not `_List<E>`,
factory ModifiableFixedLengthList.fromIterable(Iterable<E> elements) {
// The static type of `makeListFixedLength` is `List<E>`, not `ModifiableFixedLengthList<E>`,
// 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<E>._ofOther(elements)));
return unsafeCast(
makeListFixedLength(GrowableList<E>.fromIterable(elements)));
}
Iterator<E> get iterator {
@@ -186,10 +194,10 @@ class _List<E> extends _ModifiableList<E> with FixedLengthListMixin<E> {
}
@pragma("wasm:entry-point")
class _ImmutableList<E> extends _ListBase<E> with UnmodifiableListMixin<E> {
factory _ImmutableList._uninstantiable() {
class ImmutableList<E> extends WasmListBase<E> with UnmodifiableListMixin<E> {
factory ImmutableList._uninstantiable() {
throw UnsupportedError(
"_ImmutableList can only be allocated by the runtime");
"ImmutableList can only be allocated by the runtime");
}
Iterator<E> get iterator {
@@ -204,11 +212,11 @@ class _FixedSizeListIterator<E> implements Iterator<E> {
int _index;
E? _current;
_FixedSizeListIterator(_ListBase<E> list)
_FixedSizeListIterator(WasmListBase<E> list)
: _data = list._data,
_length = list.length,
_index = 0 {
assert(list is _List<E> || list is _ImmutableList<E>);
assert(list is ModifiableFixedLengthList<E> || list is ImmutableList<E>);
}
E get current => _current as E;
@@ -223,3 +231,315 @@ class _FixedSizeListIterator<E> implements Iterator<E> {
return true;
}
}
@pragma("wasm:entry-point")
class GrowableList<E> extends _ModifiableList<E> {
GrowableList._(int length, int capacity) : super(length, capacity);
@pragma("wasm:entry-point")
GrowableList._withData(WasmArray<Object?> data)
: super._withData(data.length, data);
@pragma("wasm:prefer-inline")
factory GrowableList(int length) => GrowableList<E>._(length, length);
@pragma("wasm:prefer-inline")
factory GrowableList.withCapacity(int capacity) =>
GrowableList<E>._(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<E>(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<E>(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<E> 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<E> elements) {
final int length = elements.length;
final list = GrowableList<E>(length);
list._data.copy(0, elements._data, 0, length);
return list;
}
factory GrowableList._ofEfficientLengthIterable(
EfficientLengthIterable<E> elements) {
final int length = elements.length;
final list = GrowableList<E>(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<E> elements) {
final list = GrowableList<E>(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<Object?> data;
if (length == _capacity) {
data = WasmArray<Object?>(_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<E> 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<E> 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<Object?> _emptyData = WasmArray<Object?>(0);
static WasmArray<Object?> _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<Object?>(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<Object?>(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<E> get iterator {
return _GrowableListIterator<E>(this);
}
}
// Iterator for growable lists.
class _GrowableListIterator<E> implements Iterator<E> {
final GrowableList<E> _list;
final int _length; // Cache list length for modification check.
int _index;
E? _current;
_GrowableListIterator(GrowableList<E> 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;
}
}
+1 -1
View File
@@ -1634,7 +1634,7 @@ _Type _getMasqueradedRuntimeType(Object object) {
if (object is int) return _literal<int>();
if (object is double) return _literal<double>();
if (object is _Type) return _literal<Type>();
if (object is _ListBase) {
if (object is WasmListBase) {
return _InterfaceType(
ClassID.cidList, false, Object._getTypeArguments(object));
}
+6 -3
View File
@@ -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"
},
+5 -3
View File
@@ -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: