mirror of
https://github.com/dart-lang/sdk
synced 2024-10-02 23:39:19 +00:00
[typed_data] Remove UnmodifiableXXXView classes
In most cases, the (now removed) SDK class was patched so that the constructor redirected to a platform-specific implementation of the unmodifiable view. Uses of the SDK class in the platform code could be rewritten to the more direct use of the implementation class. The big +/- file changes are from moving the implementation classes from the patch file (typed_data_patch.dart), where they are no longer needed, to the internal file (typed_data.dart). TEST=ci Bug: #53785 Change-Id: Iaa7370de25b7fc2d26b24f7733c2892868e593cb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/370661 Reviewed-by: Ömer Ağacan <omersa@google.com> Reviewed-by: Lasse Nielsen <lrn@google.com> Reviewed-by: Siva Annamalai <asiva@google.com> Commit-Queue: Stephen Adams <sra@google.com> Reviewed-by: Brian Quinlan <bquinlan@google.com>
This commit is contained in:
parent
7ae9900059
commit
18994e6e46
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -36,6 +36,16 @@
|
|||
|
||||
[#44876]: https://github.com/dart-lang/sdk/issues/44876
|
||||
|
||||
#### `dart:typed_data`
|
||||
|
||||
- **BREAKING CHANGE** [#53785][]: The unmodifiable view classes for typed data
|
||||
have been removed. These classes were deprecated in Dart 3.4.
|
||||
|
||||
To create an unmodifiable view of a typed-data object, use the
|
||||
`asUnmodifiableView()` methods added in Dart 3.3.
|
||||
|
||||
[#53785]: https://github.com/dart-lang/sdk/issues/53785
|
||||
|
||||
### Tools
|
||||
|
||||
#### Linter
|
||||
|
|
|
@ -2064,7 +2064,7 @@ TEST_CASE(DartAPI_UnmodifiableTypedDataViewListIsTypedData) {
|
|||
"import 'dart:typed_data';\n"
|
||||
"List testMain(int size) {\n"
|
||||
" var a = new Int8List(size);\n"
|
||||
" var view = new UnmodifiableInt8ListView(a);\n"
|
||||
" var view = a.asUnmodifiableView();\n"
|
||||
" return view;\n"
|
||||
"}\n";
|
||||
// Create a test library and Load up a test script in it.
|
||||
|
@ -2709,7 +2709,7 @@ static void TestUnmodifiableTypedDataViewDirectAccess() {
|
|||
" for (var i = 0; i < 100; i++) {"
|
||||
" list[i] = i;"
|
||||
" }"
|
||||
" return new UnmodifiableInt8ListView(list);"
|
||||
" return list.asUnmodifiableView();"
|
||||
"}\n";
|
||||
// Create a test library and Load up a test script in it.
|
||||
Dart_Handle lib = TestCase::LoadTestScript(kScriptChars, nullptr);
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
import 'dart:_internal' show patch;
|
||||
import 'dart:_native_typed_data';
|
||||
import "dart:_internal" show UnmodifiableListBase;
|
||||
|
||||
@patch
|
||||
class ByteData {
|
||||
|
@ -189,495 +188,3 @@ class Float64x2 {
|
|||
@patch
|
||||
factory Float64x2.fromFloat32x4(Float32x4 v) = NativeFloat64x2.fromFloat32x4;
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteBufferView.
|
||||
final class _UnmodifiableByteBufferView
|
||||
implements ByteBuffer, UnmodifiableByteBufferView {
|
||||
final ByteBuffer _data;
|
||||
|
||||
_UnmodifiableByteBufferView(ByteBuffer data) : _data = data;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ListView(_data.asUint8List(offsetInBytes, length));
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt8ListView(_data.asInt8List(offsetInBytes, length));
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ClampedListView(
|
||||
_data.asUint8ClampedList(offsetInBytes, length));
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint16ListView(_data.asUint16List(offsetInBytes, length));
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt16ListView(_data.asInt16List(offsetInBytes, length));
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint32ListView(_data.asUint32List(offsetInBytes, length));
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32ListView(_data.asInt32List(offsetInBytes, length));
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint64ListView(_data.asUint64List(offsetInBytes, length));
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt64ListView(_data.asInt64List(offsetInBytes, length));
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32x4ListView(_data.asInt32x4List(offsetInBytes, length));
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32ListView(_data.asFloat32List(offsetInBytes, length));
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64ListView(_data.asFloat64List(offsetInBytes, length));
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32x4ListView(
|
||||
_data.asFloat32x4List(offsetInBytes, length));
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64x2ListView(
|
||||
_data.asFloat64x2List(offsetInBytes, length));
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableByteDataView(_data.asByteData(offsetInBytes, length));
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteDataView.
|
||||
final class _UnmodifiableByteDataView
|
||||
implements ByteData, UnmodifiableByteDataView {
|
||||
final ByteData _data;
|
||||
|
||||
_UnmodifiableByteDataView(ByteData data) : _data = data;
|
||||
|
||||
ByteData asUnmodifiableView() => this;
|
||||
|
||||
int getInt8(int byteOffset) => _data.getInt8(byteOffset);
|
||||
|
||||
void setInt8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getUint8(int byteOffset) => _data.getUint8(byteOffset);
|
||||
|
||||
void setUint8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getInt16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt16(byteOffset, endian);
|
||||
|
||||
void setInt16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint16(byteOffset, endian);
|
||||
|
||||
void setUint16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt32(byteOffset, endian);
|
||||
|
||||
void setInt32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint32(byteOffset, endian);
|
||||
|
||||
void setUint32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt64(byteOffset, endian);
|
||||
|
||||
void setInt64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint64(byteOffset, endian);
|
||||
|
||||
void setUint64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat32(byteOffset, endian);
|
||||
|
||||
void setFloat32(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat64(byteOffset, endian);
|
||||
|
||||
void setFloat64(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
void _unsupported() {
|
||||
throw UnsupportedError("An UnmodifiableByteDataView may not be modified");
|
||||
}
|
||||
}
|
||||
|
||||
mixin _UnmodifiableListMixin<N, L extends List<N>, TD extends TypedData> {
|
||||
L get _list;
|
||||
TD get _data => (_list as TD);
|
||||
|
||||
int get length => _list.length;
|
||||
|
||||
N operator [](int index) => _list[index];
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
L _createList(int length);
|
||||
|
||||
L sublist(int start, [int? end]) {
|
||||
// NNBD: Spurious error at `end`, `checkValidRange` is legacy.
|
||||
int endIndex = RangeError.checkValidRange(start, end!, length);
|
||||
int sublistLength = endIndex - start;
|
||||
L result = _createList(sublistLength);
|
||||
result.setRange(0, sublistLength, _list, start);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ListView.
|
||||
final class _UnmodifiableUint8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8List, Uint8List>
|
||||
implements UnmodifiableUint8ListView {
|
||||
final Uint8List _list;
|
||||
_UnmodifiableUint8ListView(Uint8List list) : _list = list;
|
||||
|
||||
Uint8List asUnmodifiableView() => this;
|
||||
|
||||
Uint8List _createList(int length) => Uint8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt8ListView.
|
||||
final class _UnmodifiableInt8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int8List, Int8List>
|
||||
implements UnmodifiableInt8ListView {
|
||||
final Int8List _list;
|
||||
_UnmodifiableInt8ListView(Int8List list) : _list = list;
|
||||
|
||||
Int8List asUnmodifiableView() => this;
|
||||
|
||||
Int8List _createList(int length) => Int8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ClampedListView.
|
||||
final class _UnmodifiableUint8ClampedListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8ClampedList, Uint8ClampedList>
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
final Uint8ClampedList _list;
|
||||
_UnmodifiableUint8ClampedListView(Uint8ClampedList list) : _list = list;
|
||||
|
||||
Uint8ClampedList asUnmodifiableView() => this;
|
||||
|
||||
Uint8ClampedList _createList(int length) => Uint8ClampedList(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint16ListView.
|
||||
final class _UnmodifiableUint16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint16List, Uint16List>
|
||||
implements UnmodifiableUint16ListView {
|
||||
final Uint16List _list;
|
||||
_UnmodifiableUint16ListView(Uint16List list) : _list = list;
|
||||
|
||||
Uint16List asUnmodifiableView() => this;
|
||||
|
||||
Uint16List _createList(int length) => Uint16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt16ListView.
|
||||
final class _UnmodifiableInt16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int16List, Int16List>
|
||||
implements UnmodifiableInt16ListView {
|
||||
final Int16List _list;
|
||||
_UnmodifiableInt16ListView(Int16List list) : _list = list;
|
||||
|
||||
Int16List asUnmodifiableView() => this;
|
||||
|
||||
Int16List _createList(int length) => Int16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint32ListView.
|
||||
final class _UnmodifiableUint32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint32List, Uint32List>
|
||||
implements UnmodifiableUint32ListView {
|
||||
final Uint32List _list;
|
||||
_UnmodifiableUint32ListView(Uint32List list) : _list = list;
|
||||
|
||||
Uint32List asUnmodifiableView() => this;
|
||||
|
||||
Uint32List _createList(int length) => Uint32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32ListView.
|
||||
final class _UnmodifiableInt32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int32List, Int32List>
|
||||
implements UnmodifiableInt32ListView {
|
||||
final Int32List _list;
|
||||
_UnmodifiableInt32ListView(Int32List list) : _list = list;
|
||||
|
||||
Int32List asUnmodifiableView() => this;
|
||||
|
||||
Int32List _createList(int length) => Int32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint64ListView.
|
||||
final class _UnmodifiableUint64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint64List, Uint64List>
|
||||
implements UnmodifiableUint64ListView {
|
||||
final Uint64List _list;
|
||||
_UnmodifiableUint64ListView(Uint64List list) : _list = list;
|
||||
|
||||
Uint64List asUnmodifiableView() => this;
|
||||
|
||||
Uint64List _createList(int length) => Uint64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt64ListView.
|
||||
final class _UnmodifiableInt64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int64List, Int64List>
|
||||
implements UnmodifiableInt64ListView {
|
||||
final Int64List _list;
|
||||
_UnmodifiableInt64ListView(Int64List list) : _list = list;
|
||||
|
||||
Int64List asUnmodifiableView() => this;
|
||||
|
||||
Int64List _createList(int length) => Int64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32x4ListView.
|
||||
final class _UnmodifiableInt32x4ListView extends UnmodifiableListBase<Int32x4>
|
||||
with _UnmodifiableListMixin<Int32x4, Int32x4List, Int32x4List>
|
||||
implements UnmodifiableInt32x4ListView {
|
||||
final Int32x4List _list;
|
||||
_UnmodifiableInt32x4ListView(Int32x4List list) : _list = list;
|
||||
|
||||
Int32x4List asUnmodifiableView() => this;
|
||||
|
||||
Int32x4List _createList(int length) => Int32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32x4ListView.
|
||||
final class _UnmodifiableFloat32x4ListView
|
||||
extends UnmodifiableListBase<Float32x4>
|
||||
with _UnmodifiableListMixin<Float32x4, Float32x4List, Float32x4List>
|
||||
implements UnmodifiableFloat32x4ListView {
|
||||
final Float32x4List _list;
|
||||
_UnmodifiableFloat32x4ListView(Float32x4List list) : _list = list;
|
||||
|
||||
Float32x4List asUnmodifiableView() => this;
|
||||
|
||||
Float32x4List _createList(int length) => Float32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64x2ListView.
|
||||
final class _UnmodifiableFloat64x2ListView
|
||||
extends UnmodifiableListBase<Float64x2>
|
||||
with _UnmodifiableListMixin<Float64x2, Float64x2List, Float64x2List>
|
||||
implements UnmodifiableFloat64x2ListView {
|
||||
final Float64x2List _list;
|
||||
_UnmodifiableFloat64x2ListView(Float64x2List list) : _list = list;
|
||||
|
||||
Float64x2List asUnmodifiableView() => this;
|
||||
|
||||
Float64x2List _createList(int length) => Float64x2List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32ListView.
|
||||
final class _UnmodifiableFloat32ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float32List, Float32List>
|
||||
implements UnmodifiableFloat32ListView {
|
||||
final Float32List _list;
|
||||
_UnmodifiableFloat32ListView(Float32List list) : _list = list;
|
||||
|
||||
Float32List asUnmodifiableView() => this;
|
||||
|
||||
Float32List _createList(int length) => Float32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64ListView.
|
||||
final class _UnmodifiableFloat64ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float64List, Float64List>
|
||||
implements UnmodifiableFloat64ListView {
|
||||
final Float64List _list;
|
||||
_UnmodifiableFloat64ListView(Float64List list) : _list = list;
|
||||
|
||||
Float64List asUnmodifiableView() => this;
|
||||
|
||||
Float64List _createList(int length) => Float64List(length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteBufferView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteBufferView(ByteBuffer data) =
|
||||
_UnmodifiableByteBufferView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteDataView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteDataView(ByteData data) = _UnmodifiableByteDataView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ListView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableUint8ListView(Uint8List list) =
|
||||
_UnmodifiableUint8ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt8ListView implements Int8List {
|
||||
@patch
|
||||
factory UnmodifiableInt8ListView(Int8List list) = _UnmodifiableInt8ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ClampedListView implements Uint8ClampedList {
|
||||
@patch
|
||||
factory UnmodifiableUint8ClampedListView(Uint8ClampedList list) =
|
||||
_UnmodifiableUint8ClampedListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint16ListView implements Uint16List {
|
||||
@patch
|
||||
factory UnmodifiableUint16ListView(Uint16List list) =
|
||||
_UnmodifiableUint16ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt16ListView implements Int16List {
|
||||
@patch
|
||||
factory UnmodifiableInt16ListView(Int16List list) =
|
||||
_UnmodifiableInt16ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint32ListView implements Uint32List {
|
||||
@patch
|
||||
factory UnmodifiableUint32ListView(Uint32List list) =
|
||||
_UnmodifiableUint32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32ListView implements Int32List {
|
||||
@patch
|
||||
factory UnmodifiableInt32ListView(Int32List list) =
|
||||
_UnmodifiableInt32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint64ListView implements Uint64List {
|
||||
@patch
|
||||
factory UnmodifiableUint64ListView(Uint64List list) =
|
||||
_UnmodifiableUint64ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt64ListView implements Int64List {
|
||||
@patch
|
||||
factory UnmodifiableInt64ListView(Int64List list) =
|
||||
_UnmodifiableInt64ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
@patch
|
||||
factory UnmodifiableInt32x4ListView(Int32x4List list) =
|
||||
_UnmodifiableInt32x4ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32x4ListView(Float32x4List list) =
|
||||
_UnmodifiableFloat32x4ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64x2ListView(Float64x2List list) =
|
||||
_UnmodifiableFloat64x2ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32ListView implements Float32List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32ListView(Float32List list) =
|
||||
_UnmodifiableFloat32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64ListView implements Float64List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64ListView(Float64List list) =
|
||||
_UnmodifiableFloat64ListView;
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@ final class NativeFloat32x4List extends Object
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => _UnmodifiableFloat32x4ListView(this);
|
||||
|
||||
Float32x4List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -236,7 +236,7 @@ final class NativeInt32x4List extends Object
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => _UnmodifiableInt32x4ListView(this);
|
||||
|
||||
Int32x4List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -304,7 +304,7 @@ final class NativeFloat64x2List extends Object
|
|||
_storage[(index * 2) + 1] = value.y;
|
||||
}
|
||||
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => _UnmodifiableFloat64x2ListView(this);
|
||||
|
||||
Float64x2List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -413,7 +413,7 @@ final class NativeByteData extends NativeTypedData implements ByteData {
|
|||
|
||||
int get elementSizeInBytes => 1;
|
||||
|
||||
ByteData asUnmodifiableView() => UnmodifiableByteDataView(this);
|
||||
ByteData asUnmodifiableView() => _UnmodifiableByteDataView(this);
|
||||
|
||||
/// Returns the floating point number represented by the four bytes at
|
||||
/// the specified [byteOffset] in this object, in IEEE 754
|
||||
|
@ -765,7 +765,7 @@ final class NativeFloat32List extends NativeTypedArrayOfDouble
|
|||
|
||||
Type get runtimeType => Float32List;
|
||||
|
||||
Float32List asUnmodifiableView() => UnmodifiableFloat32ListView(this);
|
||||
Float32List asUnmodifiableView() => _UnmodifiableFloat32ListView(this);
|
||||
|
||||
Float32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -799,7 +799,7 @@ final class NativeFloat64List extends NativeTypedArrayOfDouble
|
|||
|
||||
Type get runtimeType => Float64List;
|
||||
|
||||
Float64List asUnmodifiableView() => UnmodifiableFloat64ListView(this);
|
||||
Float64List asUnmodifiableView() => _UnmodifiableFloat64ListView(this);
|
||||
|
||||
Float64List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -836,7 +836,7 @@ final class NativeInt16List extends NativeTypedArrayOfInt implements Int16List {
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int16List asUnmodifiableView() => UnmodifiableInt16ListView(this);
|
||||
Int16List asUnmodifiableView() => _UnmodifiableInt16ListView(this);
|
||||
|
||||
Int16List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -873,7 +873,7 @@ final class NativeInt32List extends NativeTypedArrayOfInt implements Int32List {
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int32List asUnmodifiableView() => UnmodifiableInt32ListView(this);
|
||||
Int32List asUnmodifiableView() => _UnmodifiableInt32ListView(this);
|
||||
|
||||
Int32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -911,7 +911,7 @@ final class NativeInt8List extends NativeTypedArrayOfInt implements Int8List {
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int8List asUnmodifiableView() => UnmodifiableInt8ListView(this);
|
||||
Int8List asUnmodifiableView() => _UnmodifiableInt8ListView(this);
|
||||
|
||||
Int8List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -952,7 +952,7 @@ final class NativeUint16List extends NativeTypedArrayOfInt
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint16List asUnmodifiableView() => UnmodifiableUint16ListView(this);
|
||||
Uint16List asUnmodifiableView() => _UnmodifiableUint16ListView(this);
|
||||
|
||||
Uint16List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -991,7 +991,7 @@ final class NativeUint32List extends NativeTypedArrayOfInt
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint32List asUnmodifiableView() => UnmodifiableUint32ListView(this);
|
||||
Uint32List asUnmodifiableView() => _UnmodifiableUint32ListView(this);
|
||||
|
||||
Uint32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1033,7 +1033,7 @@ final class NativeUint8ClampedList extends NativeTypedArrayOfInt
|
|||
}
|
||||
|
||||
Uint8ClampedList asUnmodifiableView() =>
|
||||
UnmodifiableUint8ClampedListView(this);
|
||||
_UnmodifiableUint8ClampedListView(this);
|
||||
|
||||
Uint8ClampedList sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1085,7 +1085,7 @@ final class NativeUint8List extends NativeTypedArrayOfInt implements Uint8List {
|
|||
return JS<int>('!', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint8List asUnmodifiableView() => UnmodifiableUint8ListView(this);
|
||||
Uint8List asUnmodifiableView() => _UnmodifiableUint8ListView(this);
|
||||
|
||||
Uint8List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1849,3 +1849,309 @@ int _checkValidRange(int start, int? end, int length) {
|
|||
if (end == null) return length;
|
||||
return end;
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
final class _UnmodifiableByteBufferView implements ByteBuffer {
|
||||
final ByteBuffer _data;
|
||||
|
||||
_UnmodifiableByteBufferView(ByteBuffer data) : _data = data;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint8ListView(_data.asUint8List(offsetInBytes, length));
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt8ListView(_data.asInt8List(offsetInBytes, length));
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint8ClampedListView(
|
||||
_data.asUint8ClampedList(offsetInBytes, length));
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint16ListView(_data.asUint16List(offsetInBytes, length));
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt16ListView(_data.asInt16List(offsetInBytes, length));
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint32ListView(_data.asUint32List(offsetInBytes, length));
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt32ListView(_data.asInt32List(offsetInBytes, length));
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint64ListView(_data.asUint64List(offsetInBytes, length));
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt64ListView(_data.asInt64List(offsetInBytes, length));
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt32x4ListView(_data.asInt32x4List(offsetInBytes, length));
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat32ListView(_data.asFloat32List(offsetInBytes, length));
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat64ListView(_data.asFloat64List(offsetInBytes, length));
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat32x4ListView(
|
||||
_data.asFloat32x4List(offsetInBytes, length));
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat64x2ListView(
|
||||
_data.asFloat64x2List(offsetInBytes, length));
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableByteDataView(_data.asByteData(offsetInBytes, length));
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
final class _UnmodifiableByteDataView implements ByteData {
|
||||
final ByteData _data;
|
||||
|
||||
_UnmodifiableByteDataView(ByteData data) : _data = data;
|
||||
|
||||
ByteData asUnmodifiableView() => this;
|
||||
|
||||
int getInt8(int byteOffset) => _data.getInt8(byteOffset);
|
||||
|
||||
void setInt8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getUint8(int byteOffset) => _data.getUint8(byteOffset);
|
||||
|
||||
void setUint8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getInt16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt16(byteOffset, endian);
|
||||
|
||||
void setInt16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint16(byteOffset, endian);
|
||||
|
||||
void setUint16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt32(byteOffset, endian);
|
||||
|
||||
void setInt32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint32(byteOffset, endian);
|
||||
|
||||
void setUint32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt64(byteOffset, endian);
|
||||
|
||||
void setInt64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint64(byteOffset, endian);
|
||||
|
||||
void setUint64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat32(byteOffset, endian);
|
||||
|
||||
void setFloat32(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat64(byteOffset, endian);
|
||||
|
||||
void setFloat64(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
void _unsupported() {
|
||||
throw UnsupportedError("An UnmodifiableByteDataView may not be modified");
|
||||
}
|
||||
}
|
||||
|
||||
mixin _UnmodifiableTypedListMixin<N, L extends List<N>, TD extends TypedData> {
|
||||
L get _list;
|
||||
TD get _data => (_list as TD);
|
||||
|
||||
int get length => _list.length;
|
||||
|
||||
N operator [](int index) => _list[index];
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
TD asUnmodifiableView() => unsafeCast<TD>(this);
|
||||
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
L _createList(int length);
|
||||
|
||||
L sublist(int start, [int? end]) {
|
||||
// NNBD: Spurious error at `end`, `checkValidRange` is legacy.
|
||||
int endIndex = RangeError.checkValidRange(start, end!, length);
|
||||
int sublistLength = endIndex - start;
|
||||
L result = _createList(sublistLength);
|
||||
result.setRange(0, sublistLength, _list, start);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
final class _UnmodifiableUint8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Uint8List, Uint8List>
|
||||
implements Uint8List {
|
||||
final Uint8List _list;
|
||||
_UnmodifiableUint8ListView(Uint8List list) : _list = list;
|
||||
|
||||
Uint8List _createList(int length) => Uint8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
final class _UnmodifiableInt8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Int8List, Int8List>
|
||||
implements Int8List {
|
||||
final Int8List _list;
|
||||
_UnmodifiableInt8ListView(Int8List list) : _list = list;
|
||||
|
||||
Int8List _createList(int length) => Int8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
final class _UnmodifiableUint8ClampedListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Uint8ClampedList, Uint8ClampedList>
|
||||
implements Uint8ClampedList {
|
||||
final Uint8ClampedList _list;
|
||||
_UnmodifiableUint8ClampedListView(Uint8ClampedList list) : _list = list;
|
||||
|
||||
Uint8ClampedList _createList(int length) => Uint8ClampedList(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
final class _UnmodifiableUint16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Uint16List, Uint16List>
|
||||
implements Uint16List {
|
||||
final Uint16List _list;
|
||||
_UnmodifiableUint16ListView(Uint16List list) : _list = list;
|
||||
|
||||
Uint16List _createList(int length) => Uint16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
final class _UnmodifiableInt16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Int16List, Int16List>
|
||||
implements Int16List {
|
||||
final Int16List _list;
|
||||
_UnmodifiableInt16ListView(Int16List list) : _list = list;
|
||||
|
||||
Int16List _createList(int length) => Int16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
final class _UnmodifiableUint32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Uint32List, Uint32List>
|
||||
implements Uint32List {
|
||||
final Uint32List _list;
|
||||
_UnmodifiableUint32ListView(Uint32List list) : _list = list;
|
||||
|
||||
Uint32List _createList(int length) => Uint32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
final class _UnmodifiableInt32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Int32List, Int32List>
|
||||
implements Int32List {
|
||||
final Int32List _list;
|
||||
_UnmodifiableInt32ListView(Int32List list) : _list = list;
|
||||
|
||||
Int32List _createList(int length) => Int32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
final class _UnmodifiableUint64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Uint64List, Uint64List>
|
||||
implements Uint64List {
|
||||
final Uint64List _list;
|
||||
_UnmodifiableUint64ListView(Uint64List list) : _list = list;
|
||||
|
||||
Uint64List _createList(int length) => Uint64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
final class _UnmodifiableInt64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableTypedListMixin<int, Int64List, Int64List>
|
||||
implements Int64List {
|
||||
final Int64List _list;
|
||||
_UnmodifiableInt64ListView(Int64List list) : _list = list;
|
||||
|
||||
Int64List _createList(int length) => Int64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
final class _UnmodifiableInt32x4ListView extends UnmodifiableListBase<Int32x4>
|
||||
with _UnmodifiableTypedListMixin<Int32x4, Int32x4List, Int32x4List>
|
||||
implements Int32x4List {
|
||||
final Int32x4List _list;
|
||||
_UnmodifiableInt32x4ListView(Int32x4List list) : _list = list;
|
||||
|
||||
Int32x4List _createList(int length) => Int32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
final class _UnmodifiableFloat32x4ListView
|
||||
extends UnmodifiableListBase<Float32x4>
|
||||
with _UnmodifiableTypedListMixin<Float32x4, Float32x4List, Float32x4List>
|
||||
implements Float32x4List {
|
||||
final Float32x4List _list;
|
||||
_UnmodifiableFloat32x4ListView(Float32x4List list) : _list = list;
|
||||
|
||||
Float32x4List _createList(int length) => Float32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
final class _UnmodifiableFloat64x2ListView
|
||||
extends UnmodifiableListBase<Float64x2>
|
||||
with _UnmodifiableTypedListMixin<Float64x2, Float64x2List, Float64x2List>
|
||||
implements Float64x2List {
|
||||
final Float64x2List _list;
|
||||
_UnmodifiableFloat64x2ListView(Float64x2List list) : _list = list;
|
||||
|
||||
Float64x2List _createList(int length) => Float64x2List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
final class _UnmodifiableFloat32ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableTypedListMixin<double, Float32List, Float32List>
|
||||
implements Float32List {
|
||||
final Float32List _list;
|
||||
_UnmodifiableFloat32ListView(Float32List list) : _list = list;
|
||||
|
||||
Float32List _createList(int length) => Float32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
final class _UnmodifiableFloat64ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableTypedListMixin<double, Float64List, Float64List>
|
||||
implements Float64List {
|
||||
final Float64List _list;
|
||||
_UnmodifiableFloat64ListView(Float64List list) : _list = list;
|
||||
|
||||
Float64List _createList(int length) => Float64List(length);
|
||||
}
|
||||
|
|
|
@ -168,7 +168,7 @@ final class NativeFloat32x4List extends Object
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => _UnmodifiableFloat32x4ListView(this);
|
||||
|
||||
Float32x4List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -242,7 +242,7 @@ final class NativeInt32x4List extends Object
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => _UnmodifiableInt32x4ListView(this);
|
||||
|
||||
Int32x4List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -310,7 +310,7 @@ final class NativeFloat64x2List extends Object
|
|||
_storage[(index * 2) + 1] = value.y;
|
||||
}
|
||||
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => _UnmodifiableFloat64x2ListView(this);
|
||||
|
||||
Float64x2List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -420,7 +420,7 @@ final class NativeByteData extends NativeTypedData
|
|||
|
||||
int get elementSizeInBytes => 1;
|
||||
|
||||
ByteData asUnmodifiableView() => UnmodifiableByteDataView(this);
|
||||
ByteData asUnmodifiableView() => _UnmodifiableByteDataView(this);
|
||||
|
||||
/// Returns the floating point number represented by the four bytes at
|
||||
/// the specified [byteOffset] in this object, in IEEE 754
|
||||
|
@ -768,7 +768,7 @@ final class NativeFloat32List extends NativeTypedArrayOfDouble
|
|||
|
||||
Type get runtimeType => Float32List;
|
||||
|
||||
Float32List asUnmodifiableView() => UnmodifiableFloat32ListView(this);
|
||||
Float32List asUnmodifiableView() => _UnmodifiableFloat32ListView(this);
|
||||
|
||||
Float32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -806,7 +806,7 @@ final class NativeFloat64List extends NativeTypedArrayOfDouble
|
|||
|
||||
Type get runtimeType => Float64List;
|
||||
|
||||
Float64List asUnmodifiableView() => UnmodifiableFloat64ListView(this);
|
||||
Float64List asUnmodifiableView() => _UnmodifiableFloat64ListView(this);
|
||||
|
||||
Float64List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -849,7 +849,7 @@ final class NativeInt16List extends NativeTypedArrayOfInt
|
|||
return JS('int', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int16List asUnmodifiableView() => UnmodifiableInt16ListView(this);
|
||||
Int16List asUnmodifiableView() => _UnmodifiableInt16ListView(this);
|
||||
|
||||
Int16List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -892,7 +892,7 @@ final class NativeInt32List extends NativeTypedArrayOfInt
|
|||
return JS('int', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int32List asUnmodifiableView() => UnmodifiableInt32ListView(this);
|
||||
Int32List asUnmodifiableView() => _UnmodifiableInt32ListView(this);
|
||||
|
||||
Int32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -935,7 +935,7 @@ final class NativeInt8List extends NativeTypedArrayOfInt
|
|||
return JS('int', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Int8List asUnmodifiableView() => UnmodifiableInt8ListView(this);
|
||||
Int8List asUnmodifiableView() => _UnmodifiableInt8ListView(this);
|
||||
|
||||
Int8List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -981,7 +981,7 @@ final class NativeUint16List extends NativeTypedArrayOfInt
|
|||
return JS('JSUInt31', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint16List asUnmodifiableView() => UnmodifiableUint16ListView(this);
|
||||
Uint16List asUnmodifiableView() => _UnmodifiableUint16ListView(this);
|
||||
|
||||
Uint16List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1024,7 +1024,7 @@ final class NativeUint32List extends NativeTypedArrayOfInt
|
|||
return JS('JSUInt32', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint32List asUnmodifiableView() => UnmodifiableUint32ListView(this);
|
||||
Uint32List asUnmodifiableView() => _UnmodifiableUint32ListView(this);
|
||||
|
||||
Uint32List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1071,7 +1071,7 @@ final class NativeUint8ClampedList extends NativeTypedArrayOfInt
|
|||
}
|
||||
|
||||
Uint8ClampedList asUnmodifiableView() =>
|
||||
UnmodifiableUint8ClampedListView(this);
|
||||
_UnmodifiableUint8ClampedListView(this);
|
||||
|
||||
Uint8ClampedList sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1128,7 +1128,7 @@ final class NativeUint8List extends NativeTypedArrayOfInt
|
|||
return JS('JSUInt31', '#[#]', this, index);
|
||||
}
|
||||
|
||||
Uint8List asUnmodifiableView() => UnmodifiableUint8ListView(this);
|
||||
Uint8List asUnmodifiableView() => _UnmodifiableUint8ListView(this);
|
||||
|
||||
Uint8List sublist(int start, [int? end]) {
|
||||
var stop = _checkValidRange(start, end, this.length);
|
||||
|
@ -1888,3 +1888,335 @@ int _checkValidRange(int start, int? end, int length) {
|
|||
if (end == null) return length;
|
||||
return end;
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
final class _UnmodifiableByteBufferView implements ByteBuffer {
|
||||
final ByteBuffer _data;
|
||||
|
||||
_UnmodifiableByteBufferView(ByteBuffer data) : _data = data;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint8ListView(_data.asUint8List(offsetInBytes, length));
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt8ListView(_data.asInt8List(offsetInBytes, length));
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint8ClampedListView(
|
||||
_data.asUint8ClampedList(offsetInBytes, length));
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint16ListView(_data.asUint16List(offsetInBytes, length));
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt16ListView(_data.asInt16List(offsetInBytes, length));
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint32ListView(_data.asUint32List(offsetInBytes, length));
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt32ListView(_data.asInt32List(offsetInBytes, length));
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableUint64ListView(_data.asUint64List(offsetInBytes, length));
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt64ListView(_data.asInt64List(offsetInBytes, length));
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableInt32x4ListView(_data.asInt32x4List(offsetInBytes, length));
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat32ListView(_data.asFloat32List(offsetInBytes, length));
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat64ListView(_data.asFloat64List(offsetInBytes, length));
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat32x4ListView(
|
||||
_data.asFloat32x4List(offsetInBytes, length));
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableFloat64x2ListView(
|
||||
_data.asFloat64x2List(offsetInBytes, length));
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
_UnmodifiableByteDataView(_data.asByteData(offsetInBytes, length));
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
final class _UnmodifiableByteDataView implements ByteData {
|
||||
final ByteData _data;
|
||||
|
||||
_UnmodifiableByteDataView(ByteData data) : _data = data;
|
||||
|
||||
ByteData asUnmodifiableView() => this;
|
||||
|
||||
int getInt8(int byteOffset) => _data.getInt8(byteOffset);
|
||||
|
||||
void setInt8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getUint8(int byteOffset) => _data.getUint8(byteOffset);
|
||||
|
||||
void setUint8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getInt16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt16(byteOffset, endian);
|
||||
|
||||
void setInt16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint16(byteOffset, endian);
|
||||
|
||||
void setUint16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt32(byteOffset, endian);
|
||||
|
||||
void setInt32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint32(byteOffset, endian);
|
||||
|
||||
void setUint32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt64(byteOffset, endian);
|
||||
|
||||
void setInt64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint64(byteOffset, endian);
|
||||
|
||||
void setUint64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat32(byteOffset, endian);
|
||||
|
||||
void setFloat32(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat64(byteOffset, endian);
|
||||
|
||||
void setFloat64(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
void _unsupported() {
|
||||
throw UnsupportedError("An UnmodifiableByteDataView may not be modified");
|
||||
}
|
||||
}
|
||||
|
||||
mixin _UnmodifiableListMixin<N, L extends List<N>, TD extends TypedData> {
|
||||
L get _list;
|
||||
TD get _data => (_list as TD);
|
||||
|
||||
int get length => _list.length;
|
||||
|
||||
N operator [](int index) => _list[index];
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
L _createList(int length);
|
||||
|
||||
L sublist(int start, [int? end]) {
|
||||
// NNBD: Spurious error at `end`, `checkValidRange` is legacy.
|
||||
int endIndex = RangeError.checkValidRange(start, end!, length);
|
||||
int sublistLength = endIndex - start;
|
||||
L result = _createList(sublistLength);
|
||||
result.setRange(0, sublistLength, _list, start);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
final class _UnmodifiableUint8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8List, Uint8List>
|
||||
implements Uint8List {
|
||||
final Uint8List _list;
|
||||
_UnmodifiableUint8ListView(Uint8List list) : _list = list;
|
||||
|
||||
Uint8List asUnmodifiableView() => this;
|
||||
|
||||
Uint8List _createList(int length) => Uint8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
final class _UnmodifiableInt8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int8List, Int8List>
|
||||
implements Int8List {
|
||||
final Int8List _list;
|
||||
_UnmodifiableInt8ListView(Int8List list) : _list = list;
|
||||
|
||||
Int8List asUnmodifiableView() => this;
|
||||
|
||||
Int8List _createList(int length) => Int8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
final class _UnmodifiableUint8ClampedListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8ClampedList, Uint8ClampedList>
|
||||
implements Uint8ClampedList {
|
||||
final Uint8ClampedList _list;
|
||||
_UnmodifiableUint8ClampedListView(Uint8ClampedList list) : _list = list;
|
||||
|
||||
Uint8ClampedList asUnmodifiableView() => this;
|
||||
|
||||
Uint8ClampedList _createList(int length) => Uint8ClampedList(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
final class _UnmodifiableUint16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint16List, Uint16List>
|
||||
implements Uint16List {
|
||||
final Uint16List _list;
|
||||
_UnmodifiableUint16ListView(Uint16List list) : _list = list;
|
||||
|
||||
Uint16List asUnmodifiableView() => this;
|
||||
|
||||
Uint16List _createList(int length) => Uint16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
final class _UnmodifiableInt16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int16List, Int16List>
|
||||
implements Int16List {
|
||||
final Int16List _list;
|
||||
_UnmodifiableInt16ListView(Int16List list) : _list = list;
|
||||
|
||||
Int16List asUnmodifiableView() => this;
|
||||
|
||||
Int16List _createList(int length) => Int16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
final class _UnmodifiableUint32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint32List, Uint32List>
|
||||
implements Uint32List {
|
||||
final Uint32List _list;
|
||||
_UnmodifiableUint32ListView(Uint32List list) : _list = list;
|
||||
|
||||
Uint32List asUnmodifiableView() => this;
|
||||
|
||||
Uint32List _createList(int length) => Uint32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
final class _UnmodifiableInt32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int32List, Int32List>
|
||||
implements Int32List {
|
||||
final Int32List _list;
|
||||
_UnmodifiableInt32ListView(Int32List list) : _list = list;
|
||||
|
||||
Int32List asUnmodifiableView() => this;
|
||||
|
||||
Int32List _createList(int length) => Int32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
final class _UnmodifiableUint64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint64List, Uint64List>
|
||||
implements Uint64List {
|
||||
final Uint64List _list;
|
||||
_UnmodifiableUint64ListView(Uint64List list) : _list = list;
|
||||
|
||||
Uint64List asUnmodifiableView() => this;
|
||||
|
||||
Uint64List _createList(int length) => Uint64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
final class _UnmodifiableInt64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int64List, Int64List>
|
||||
implements Int64List {
|
||||
final Int64List _list;
|
||||
_UnmodifiableInt64ListView(Int64List list) : _list = list;
|
||||
|
||||
Int64List asUnmodifiableView() => this;
|
||||
|
||||
Int64List _createList(int length) => Int64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
final class _UnmodifiableInt32x4ListView extends UnmodifiableListBase<Int32x4>
|
||||
with _UnmodifiableListMixin<Int32x4, Int32x4List, Int32x4List>
|
||||
implements Int32x4List {
|
||||
final Int32x4List _list;
|
||||
_UnmodifiableInt32x4ListView(Int32x4List list) : _list = list;
|
||||
|
||||
Int32x4List asUnmodifiableView() => this;
|
||||
|
||||
Int32x4List _createList(int length) => Int32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
final class _UnmodifiableFloat32x4ListView
|
||||
extends UnmodifiableListBase<Float32x4>
|
||||
with _UnmodifiableListMixin<Float32x4, Float32x4List, Float32x4List>
|
||||
implements Float32x4List {
|
||||
final Float32x4List _list;
|
||||
_UnmodifiableFloat32x4ListView(Float32x4List list) : _list = list;
|
||||
|
||||
Float32x4List asUnmodifiableView() => this;
|
||||
|
||||
Float32x4List _createList(int length) => Float32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
final class _UnmodifiableFloat64x2ListView
|
||||
extends UnmodifiableListBase<Float64x2>
|
||||
with _UnmodifiableListMixin<Float64x2, Float64x2List, Float64x2List>
|
||||
implements Float64x2List {
|
||||
final Float64x2List _list;
|
||||
_UnmodifiableFloat64x2ListView(Float64x2List list) : _list = list;
|
||||
|
||||
Float64x2List asUnmodifiableView() => this;
|
||||
|
||||
Float64x2List _createList(int length) => Float64x2List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
final class _UnmodifiableFloat32ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float32List, Float32List>
|
||||
implements Float32List {
|
||||
final Float32List _list;
|
||||
_UnmodifiableFloat32ListView(Float32List list) : _list = list;
|
||||
|
||||
Float32List asUnmodifiableView() => this;
|
||||
|
||||
Float32List _createList(int length) => Float32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
final class _UnmodifiableFloat64ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float64List, Float64List>
|
||||
implements Float64List {
|
||||
final Float64List _list;
|
||||
_UnmodifiableFloat64ListView(Float64List list) : _list = list;
|
||||
|
||||
Float64List asUnmodifiableView() => this;
|
||||
|
||||
Float64List _createList(int length) => Float64List(length);
|
||||
}
|
||||
|
|
|
@ -189,495 +189,3 @@ class Float64x2 {
|
|||
@patch
|
||||
factory Float64x2.fromFloat32x4(Float32x4 v) = NativeFloat64x2.fromFloat32x4;
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteBufferView.
|
||||
final class _UnmodifiableByteBufferView
|
||||
implements ByteBuffer, UnmodifiableByteBufferView {
|
||||
final ByteBuffer _data;
|
||||
|
||||
_UnmodifiableByteBufferView(ByteBuffer data) : _data = data;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ListView(_data.asUint8List(offsetInBytes, length));
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt8ListView(_data.asInt8List(offsetInBytes, length));
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ClampedListView(
|
||||
_data.asUint8ClampedList(offsetInBytes, length));
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint16ListView(_data.asUint16List(offsetInBytes, length));
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt16ListView(_data.asInt16List(offsetInBytes, length));
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint32ListView(_data.asUint32List(offsetInBytes, length));
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32ListView(_data.asInt32List(offsetInBytes, length));
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint64ListView(_data.asUint64List(offsetInBytes, length));
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt64ListView(_data.asInt64List(offsetInBytes, length));
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32x4ListView(_data.asInt32x4List(offsetInBytes, length));
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32ListView(_data.asFloat32List(offsetInBytes, length));
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64ListView(_data.asFloat64List(offsetInBytes, length));
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32x4ListView(
|
||||
_data.asFloat32x4List(offsetInBytes, length));
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64x2ListView(
|
||||
_data.asFloat64x2List(offsetInBytes, length));
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableByteDataView(_data.asByteData(offsetInBytes, length));
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteDataView.
|
||||
final class _UnmodifiableByteDataView
|
||||
implements ByteData, UnmodifiableByteDataView {
|
||||
final ByteData _data;
|
||||
|
||||
_UnmodifiableByteDataView(ByteData data) : _data = data;
|
||||
|
||||
ByteData asUnmodifiableView() => this;
|
||||
|
||||
int getInt8(int byteOffset) => _data.getInt8(byteOffset);
|
||||
|
||||
void setInt8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getUint8(int byteOffset) => _data.getUint8(byteOffset);
|
||||
|
||||
void setUint8(int byteOffset, int value) => _unsupported();
|
||||
|
||||
int getInt16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt16(byteOffset, endian);
|
||||
|
||||
void setInt16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint16(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint16(byteOffset, endian);
|
||||
|
||||
void setUint16(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt32(byteOffset, endian);
|
||||
|
||||
void setInt32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint32(byteOffset, endian);
|
||||
|
||||
void setUint32(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getInt64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getInt64(byteOffset, endian);
|
||||
|
||||
void setInt64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int getUint64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getUint64(byteOffset, endian);
|
||||
|
||||
void setUint64(int byteOffset, int value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat32(byteOffset, endian);
|
||||
|
||||
void setFloat32(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
double getFloat64(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
_data.getFloat64(byteOffset, endian);
|
||||
|
||||
void setFloat64(int byteOffset, double value, [Endian endian = Endian.big]) =>
|
||||
_unsupported();
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
void _unsupported() {
|
||||
throw UnsupportedError("An UnmodifiableByteDataView may not be modified");
|
||||
}
|
||||
}
|
||||
|
||||
mixin _UnmodifiableListMixin<N, L extends List<N>, TD extends TypedData> {
|
||||
L get _list;
|
||||
TD get _data => (_list as TD);
|
||||
|
||||
int get length => _list.length;
|
||||
|
||||
N operator [](int index) => _list[index];
|
||||
|
||||
int get elementSizeInBytes => _data.elementSizeInBytes;
|
||||
|
||||
int get offsetInBytes => _data.offsetInBytes;
|
||||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
|
||||
L _createList(int length);
|
||||
|
||||
L sublist(int start, [int? end]) {
|
||||
// NNBD: Spurious error at `end`, `checkValidRange` is legacy.
|
||||
int endIndex = RangeError.checkValidRange(start, end!, length);
|
||||
int sublistLength = endIndex - start;
|
||||
L result = _createList(sublistLength);
|
||||
result.setRange(0, sublistLength, _list, start);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ListView.
|
||||
final class _UnmodifiableUint8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8List, Uint8List>
|
||||
implements UnmodifiableUint8ListView {
|
||||
final Uint8List _list;
|
||||
_UnmodifiableUint8ListView(Uint8List list) : _list = list;
|
||||
|
||||
Uint8List asUnmodifiableView() => this;
|
||||
|
||||
Uint8List _createList(int length) => Uint8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt8ListView.
|
||||
final class _UnmodifiableInt8ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int8List, Int8List>
|
||||
implements UnmodifiableInt8ListView {
|
||||
final Int8List _list;
|
||||
_UnmodifiableInt8ListView(Int8List list) : _list = list;
|
||||
|
||||
Int8List asUnmodifiableView() => this;
|
||||
|
||||
Int8List _createList(int length) => Int8List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ClampedListView.
|
||||
final class _UnmodifiableUint8ClampedListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8ClampedList, Uint8ClampedList>
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
final Uint8ClampedList _list;
|
||||
_UnmodifiableUint8ClampedListView(Uint8ClampedList list) : _list = list;
|
||||
|
||||
Uint8ClampedList asUnmodifiableView() => this;
|
||||
|
||||
Uint8ClampedList _createList(int length) => Uint8ClampedList(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint16ListView.
|
||||
final class _UnmodifiableUint16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint16List, Uint16List>
|
||||
implements UnmodifiableUint16ListView {
|
||||
final Uint16List _list;
|
||||
_UnmodifiableUint16ListView(Uint16List list) : _list = list;
|
||||
|
||||
Uint16List asUnmodifiableView() => this;
|
||||
|
||||
Uint16List _createList(int length) => Uint16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt16ListView.
|
||||
final class _UnmodifiableInt16ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int16List, Int16List>
|
||||
implements UnmodifiableInt16ListView {
|
||||
final Int16List _list;
|
||||
_UnmodifiableInt16ListView(Int16List list) : _list = list;
|
||||
|
||||
Int16List asUnmodifiableView() => this;
|
||||
|
||||
Int16List _createList(int length) => Int16List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint32ListView.
|
||||
final class _UnmodifiableUint32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint32List, Uint32List>
|
||||
implements UnmodifiableUint32ListView {
|
||||
final Uint32List _list;
|
||||
_UnmodifiableUint32ListView(Uint32List list) : _list = list;
|
||||
|
||||
Uint32List asUnmodifiableView() => this;
|
||||
|
||||
Uint32List _createList(int length) => Uint32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32ListView.
|
||||
final class _UnmodifiableInt32ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int32List, Int32List>
|
||||
implements UnmodifiableInt32ListView {
|
||||
final Int32List _list;
|
||||
_UnmodifiableInt32ListView(Int32List list) : _list = list;
|
||||
|
||||
Int32List asUnmodifiableView() => this;
|
||||
|
||||
Int32List _createList(int length) => Int32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint64ListView.
|
||||
final class _UnmodifiableUint64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint64List, Uint64List>
|
||||
implements UnmodifiableUint64ListView {
|
||||
final Uint64List _list;
|
||||
_UnmodifiableUint64ListView(Uint64List list) : _list = list;
|
||||
|
||||
Uint64List asUnmodifiableView() => this;
|
||||
|
||||
Uint64List _createList(int length) => Uint64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt64ListView.
|
||||
final class _UnmodifiableInt64ListView extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int64List, Int64List>
|
||||
implements UnmodifiableInt64ListView {
|
||||
final Int64List _list;
|
||||
_UnmodifiableInt64ListView(Int64List list) : _list = list;
|
||||
|
||||
Int64List asUnmodifiableView() => this;
|
||||
|
||||
Int64List _createList(int length) => Int64List(length);
|
||||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32x4ListView.
|
||||
final class _UnmodifiableInt32x4ListView extends UnmodifiableListBase<Int32x4>
|
||||
with _UnmodifiableListMixin<Int32x4, Int32x4List, Int32x4List>
|
||||
implements UnmodifiableInt32x4ListView {
|
||||
final Int32x4List _list;
|
||||
_UnmodifiableInt32x4ListView(Int32x4List list) : _list = list;
|
||||
|
||||
Int32x4List asUnmodifiableView() => this;
|
||||
|
||||
Int32x4List _createList(int length) => Int32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32x4ListView.
|
||||
final class _UnmodifiableFloat32x4ListView
|
||||
extends UnmodifiableListBase<Float32x4>
|
||||
with _UnmodifiableListMixin<Float32x4, Float32x4List, Float32x4List>
|
||||
implements UnmodifiableFloat32x4ListView {
|
||||
final Float32x4List _list;
|
||||
_UnmodifiableFloat32x4ListView(Float32x4List list) : _list = list;
|
||||
|
||||
Float32x4List asUnmodifiableView() => this;
|
||||
|
||||
Float32x4List _createList(int length) => Float32x4List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64x2ListView.
|
||||
final class _UnmodifiableFloat64x2ListView
|
||||
extends UnmodifiableListBase<Float64x2>
|
||||
with _UnmodifiableListMixin<Float64x2, Float64x2List, Float64x2List>
|
||||
implements UnmodifiableFloat64x2ListView {
|
||||
final Float64x2List _list;
|
||||
_UnmodifiableFloat64x2ListView(Float64x2List list) : _list = list;
|
||||
|
||||
Float64x2List asUnmodifiableView() => this;
|
||||
|
||||
Float64x2List _createList(int length) => Float64x2List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32ListView.
|
||||
final class _UnmodifiableFloat32ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float32List, Float32List>
|
||||
implements UnmodifiableFloat32ListView {
|
||||
final Float32List _list;
|
||||
_UnmodifiableFloat32ListView(Float32List list) : _list = list;
|
||||
|
||||
Float32List asUnmodifiableView() => this;
|
||||
|
||||
Float32List _createList(int length) => Float32List(length);
|
||||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64ListView.
|
||||
final class _UnmodifiableFloat64ListView extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float64List, Float64List>
|
||||
implements UnmodifiableFloat64ListView {
|
||||
final Float64List _list;
|
||||
_UnmodifiableFloat64ListView(Float64List list) : _list = list;
|
||||
|
||||
Float64List asUnmodifiableView() => this;
|
||||
|
||||
Float64List _createList(int length) => Float64List(length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteBufferView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteBufferView(ByteBuffer data) =
|
||||
_UnmodifiableByteBufferView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteDataView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteDataView(ByteData data) = _UnmodifiableByteDataView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ListView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableUint8ListView(Uint8List list) =
|
||||
_UnmodifiableUint8ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt8ListView implements Int8List {
|
||||
@patch
|
||||
factory UnmodifiableInt8ListView(Int8List list) = _UnmodifiableInt8ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ClampedListView implements Uint8ClampedList {
|
||||
@patch
|
||||
factory UnmodifiableUint8ClampedListView(Uint8ClampedList list) =
|
||||
_UnmodifiableUint8ClampedListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint16ListView implements Uint16List {
|
||||
@patch
|
||||
factory UnmodifiableUint16ListView(Uint16List list) =
|
||||
_UnmodifiableUint16ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt16ListView implements Int16List {
|
||||
@patch
|
||||
factory UnmodifiableInt16ListView(Int16List list) =
|
||||
_UnmodifiableInt16ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint32ListView implements Uint32List {
|
||||
@patch
|
||||
factory UnmodifiableUint32ListView(Uint32List list) =
|
||||
_UnmodifiableUint32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32ListView implements Int32List {
|
||||
@patch
|
||||
factory UnmodifiableInt32ListView(Int32List list) =
|
||||
_UnmodifiableInt32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint64ListView implements Uint64List {
|
||||
@patch
|
||||
factory UnmodifiableUint64ListView(Uint64List list) =
|
||||
_UnmodifiableUint64ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt64ListView implements Int64List {
|
||||
@patch
|
||||
factory UnmodifiableInt64ListView(Int64List list) =
|
||||
_UnmodifiableInt64ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
@patch
|
||||
factory UnmodifiableInt32x4ListView(Int32x4List list) =
|
||||
_UnmodifiableInt32x4ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32x4ListView(Float32x4List list) =
|
||||
_UnmodifiableFloat32x4ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64x2ListView(Float64x2List list) =
|
||||
_UnmodifiableFloat64x2ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32ListView implements Float32List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32ListView(Float32List list) =
|
||||
_UnmodifiableFloat32ListView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64ListView implements Float64List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64ListView(Float64List list) =
|
||||
_UnmodifiableFloat64ListView;
|
||||
}
|
||||
|
|
|
@ -2282,7 +2282,7 @@ final class _Int8List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int8List interface.
|
||||
Int8List asUnmodifiableView() => UnmodifiableInt8ListView(this);
|
||||
Int8List asUnmodifiableView() => _UnmodifiableInt8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int8List _createList(int length) {
|
||||
|
@ -2337,7 +2337,7 @@ final class _Uint8List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint8List interface.
|
||||
Uint8List asUnmodifiableView() => UnmodifiableUint8ListView(this);
|
||||
Uint8List asUnmodifiableView() => _UnmodifiableUint8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8List _createList(int length) {
|
||||
|
@ -2396,7 +2396,7 @@ final class _Uint8ClampedList extends _TypedList
|
|||
|
||||
// Method(s) implementing the Uint8ClampedList interface.
|
||||
Uint8ClampedList asUnmodifiableView() =>
|
||||
UnmodifiableUint8ClampedListView(this);
|
||||
_UnmodifiableUint8ClampedArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8ClampedList _createList(int length) {
|
||||
|
@ -2469,7 +2469,7 @@ final class _Int16List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int16List interface.
|
||||
Int16List asUnmodifiableView() => UnmodifiableInt16ListView(this);
|
||||
Int16List asUnmodifiableView() => _UnmodifiableInt16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int16List _createList(int length) {
|
||||
|
@ -2537,7 +2537,7 @@ final class _Uint16List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint16List interface.
|
||||
Uint16List asUnmodifiableView() => UnmodifiableUint16ListView(this);
|
||||
Uint16List asUnmodifiableView() => _UnmodifiableUint16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint16List _createList(int length) {
|
||||
|
@ -2591,7 +2591,7 @@ final class _Int32List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32List interface.
|
||||
Int32List asUnmodifiableView() => UnmodifiableInt32ListView(this);
|
||||
Int32List asUnmodifiableView() => _UnmodifiableInt32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32List _createList(int length) {
|
||||
|
@ -2645,7 +2645,7 @@ final class _Uint32List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint32List interface.
|
||||
Uint32List asUnmodifiableView() => UnmodifiableUint32ListView(this);
|
||||
Uint32List asUnmodifiableView() => _UnmodifiableUint32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint32List _createList(int length) {
|
||||
|
@ -2699,7 +2699,7 @@ final class _Int64List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int64List interface.
|
||||
Int64List asUnmodifiableView() => UnmodifiableInt64ListView(this);
|
||||
Int64List asUnmodifiableView() => _UnmodifiableInt64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int64List _createList(int length) {
|
||||
|
@ -2753,7 +2753,7 @@ final class _Uint64List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint64List interface.
|
||||
Uint64List asUnmodifiableView() => UnmodifiableUint64ListView(this);
|
||||
Uint64List asUnmodifiableView() => _UnmodifiableUint64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint64List _createList(int length) {
|
||||
|
@ -2808,7 +2808,7 @@ final class _Float32List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32List interface.
|
||||
Float32List asUnmodifiableView() => UnmodifiableFloat32ListView(this);
|
||||
Float32List asUnmodifiableView() => _UnmodifiableFloat32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32List _createList(int length) {
|
||||
|
@ -2863,7 +2863,7 @@ final class _Float64List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64List interface.
|
||||
Float64List asUnmodifiableView() => UnmodifiableFloat64ListView(this);
|
||||
Float64List asUnmodifiableView() => _UnmodifiableFloat64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64List _createList(int length) {
|
||||
|
@ -2917,7 +2917,7 @@ final class _Float32x4List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32x4List interface.
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => _UnmodifiableFloat32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32x4List _createList(int length) {
|
||||
|
@ -2971,7 +2971,7 @@ final class _Int32x4List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32x4List interface.
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => _UnmodifiableInt32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32x4List _createList(int length) {
|
||||
|
@ -3025,7 +3025,7 @@ final class _Float64x2List extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64x2List interface.
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => _UnmodifiableFloat64x2ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64x2List _createList(int length) {
|
||||
|
@ -3064,7 +3064,7 @@ final class _ExternalInt8Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int8List interface.
|
||||
Int8List asUnmodifiableView() => UnmodifiableInt8ListView(this);
|
||||
Int8List asUnmodifiableView() => _UnmodifiableInt8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int8List _createList(int length) {
|
||||
|
@ -3104,7 +3104,7 @@ final class _ExternalUint8Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint8ClampedList interface.
|
||||
Uint8List asUnmodifiableView() => UnmodifiableUint8ListView(this);
|
||||
Uint8List asUnmodifiableView() => _UnmodifiableUint8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8List _createList(int length) {
|
||||
|
@ -3148,7 +3148,7 @@ final class _ExternalUint8ClampedArray extends _TypedList
|
|||
|
||||
// Method(s) implementing the Uint8ClampedList interface.
|
||||
Uint8ClampedList asUnmodifiableView() =>
|
||||
UnmodifiableUint8ClampedListView(this);
|
||||
_UnmodifiableUint8ClampedArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8ClampedList _createList(int length) {
|
||||
|
@ -3192,7 +3192,7 @@ final class _ExternalInt16Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int16List interface.
|
||||
Int16List asUnmodifiableView() => UnmodifiableInt16ListView(this);
|
||||
Int16List asUnmodifiableView() => _UnmodifiableInt16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int16List _createList(int length) {
|
||||
|
@ -3231,7 +3231,7 @@ final class _ExternalUint16Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint16List interface.
|
||||
Uint16List asUnmodifiableView() => UnmodifiableUint16ListView(this);
|
||||
Uint16List asUnmodifiableView() => _UnmodifiableUint16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint16List _createList(int length) {
|
||||
|
@ -3269,7 +3269,7 @@ final class _ExternalInt32Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32List interface.
|
||||
Int32List asUnmodifiableView() => UnmodifiableInt32ListView(this);
|
||||
Int32List asUnmodifiableView() => _UnmodifiableInt32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32List _createList(int length) {
|
||||
|
@ -3307,7 +3307,7 @@ final class _ExternalUint32Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint32List interface.
|
||||
Uint32List asUnmodifiableView() => UnmodifiableUint32ListView(this);
|
||||
Uint32List asUnmodifiableView() => _UnmodifiableUint32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint32List _createList(int length) {
|
||||
|
@ -3345,7 +3345,7 @@ final class _ExternalInt64Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int64List interface.
|
||||
Int64List asUnmodifiableView() => UnmodifiableInt64ListView(this);
|
||||
Int64List asUnmodifiableView() => _UnmodifiableInt64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int64List _createList(int length) {
|
||||
|
@ -3383,7 +3383,7 @@ final class _ExternalUint64Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint64List interface.
|
||||
Uint64List asUnmodifiableView() => UnmodifiableUint64ListView(this);
|
||||
Uint64List asUnmodifiableView() => _UnmodifiableUint64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint64List _createList(int length) {
|
||||
|
@ -3422,7 +3422,7 @@ final class _ExternalFloat32Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32List interface.
|
||||
Float32List asUnmodifiableView() => UnmodifiableFloat32ListView(this);
|
||||
Float32List asUnmodifiableView() => _UnmodifiableFloat32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32List _createList(int length) {
|
||||
|
@ -3461,7 +3461,7 @@ final class _ExternalFloat64Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64List interface.
|
||||
Float64List asUnmodifiableView() => UnmodifiableFloat64ListView(this);
|
||||
Float64List asUnmodifiableView() => _UnmodifiableFloat64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64List _createList(int length) {
|
||||
|
@ -3500,7 +3500,7 @@ final class _ExternalFloat32x4Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32x4 interface.
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => _UnmodifiableFloat32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32x4List _createList(int length) {
|
||||
|
@ -3539,7 +3539,7 @@ final class _ExternalInt32x4Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32x4List interface.
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => _UnmodifiableInt32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32x4List _createList(int length) {
|
||||
|
@ -3578,7 +3578,7 @@ final class _ExternalFloat64x2Array extends _TypedList
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64x2List interface.
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => _UnmodifiableFloat64x2ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64x2List _createList(int length) {
|
||||
|
@ -4179,7 +4179,7 @@ final class _Int8ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int8List interface.
|
||||
Int8List asUnmodifiableView() => UnmodifiableInt8ListView(this);
|
||||
Int8List asUnmodifiableView() => _UnmodifiableInt8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int8List _createList(int length) {
|
||||
|
@ -4224,7 +4224,7 @@ final class _Uint8ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint8List interface.
|
||||
Uint8List asUnmodifiableView() => UnmodifiableUint8ListView(this);
|
||||
Uint8List asUnmodifiableView() => _UnmodifiableUint8ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8List _createList(int length) {
|
||||
|
@ -4273,7 +4273,7 @@ final class _Uint8ClampedArrayView extends _TypedListView
|
|||
|
||||
// Method(s) implementing the Uint8ClampedList interface.
|
||||
Uint8ClampedList asUnmodifiableView() =>
|
||||
UnmodifiableUint8ClampedListView(this);
|
||||
_UnmodifiableUint8ClampedArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint8ClampedList _createList(int length) {
|
||||
|
@ -4337,7 +4337,7 @@ final class _Int16ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int16List interface.
|
||||
Int16List asUnmodifiableView() => UnmodifiableInt16ListView(this);
|
||||
Int16List asUnmodifiableView() => _UnmodifiableInt16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int16List _createList(int length) {
|
||||
|
@ -4396,7 +4396,7 @@ final class _Uint16ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint16List interface.
|
||||
Uint16List asUnmodifiableView() => UnmodifiableUint16ListView(this);
|
||||
Uint16List asUnmodifiableView() => _UnmodifiableUint16ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint16List _createList(int length) {
|
||||
|
@ -4440,7 +4440,7 @@ final class _Int32ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32List interface.
|
||||
Int32List asUnmodifiableView() => UnmodifiableInt32ListView(this);
|
||||
Int32List asUnmodifiableView() => _UnmodifiableInt32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32List _createList(int length) {
|
||||
|
@ -4484,7 +4484,7 @@ final class _Uint32ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint32List interface.
|
||||
Uint32List asUnmodifiableView() => UnmodifiableUint32ListView(this);
|
||||
Uint32List asUnmodifiableView() => _UnmodifiableUint32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint32List _createList(int length) {
|
||||
|
@ -4528,7 +4528,7 @@ final class _Int64ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int16List interface.
|
||||
Int64List asUnmodifiableView() => UnmodifiableInt64ListView(this);
|
||||
Int64List asUnmodifiableView() => _UnmodifiableInt64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int64List _createList(int length) {
|
||||
|
@ -4572,7 +4572,7 @@ final class _Uint64ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Uint64List interface.
|
||||
Uint64List asUnmodifiableView() => UnmodifiableUint64ListView(this);
|
||||
Uint64List asUnmodifiableView() => _UnmodifiableUint64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Uint64List _createList(int length) {
|
||||
|
@ -4617,7 +4617,7 @@ final class _Float32ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32List interface.
|
||||
Float32List asUnmodifiableView() => UnmodifiableFloat32ListView(this);
|
||||
Float32List asUnmodifiableView() => _UnmodifiableFloat32ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32List _createList(int length) {
|
||||
|
@ -4662,7 +4662,7 @@ final class _Float64ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64List interface.
|
||||
Float64List asUnmodifiableView() => UnmodifiableFloat64ListView(this);
|
||||
Float64List asUnmodifiableView() => _UnmodifiableFloat64ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64List _createList(int length) {
|
||||
|
@ -4706,7 +4706,7 @@ final class _Float32x4ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float32x4List interface.
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => _UnmodifiableFloat32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float32x4List _createList(int length) {
|
||||
|
@ -4750,7 +4750,7 @@ final class _Int32x4ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Int32x4List interface.
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => _UnmodifiableInt32x4ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Int32x4List _createList(int length) {
|
||||
|
@ -4794,7 +4794,7 @@ final class _Float64x2ArrayView extends _TypedListView
|
|||
}
|
||||
|
||||
// Method(s) implementing the Float64x2List interface.
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => _UnmodifiableFloat64x2ArrayView(this);
|
||||
|
||||
// Internal utility methods.
|
||||
Float64x2List _createList(int length) {
|
||||
|
@ -4830,7 +4830,7 @@ final class _ByteDataView implements ByteData {
|
|||
}
|
||||
|
||||
// Method(s) implementing the ByteData interface.
|
||||
ByteData asUnmodifiableView() => UnmodifiableByteDataView(this);
|
||||
ByteData asUnmodifiableView() => _UnmodifiableByteDataView(this);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
int getInt8(int byteOffset) {
|
||||
|
@ -5126,181 +5126,8 @@ void _offsetAlignmentCheck(int offset, int alignment) {
|
|||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteBufferView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteBufferView(ByteBuffer data) =
|
||||
_UnmodifiableByteBufferView;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteDataView implements ByteData {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableByteDataView(ByteData data) =>
|
||||
new _UnmodifiableByteDataView._(
|
||||
unsafeCast<_ByteDataView>(data).buffer._data,
|
||||
data.offsetInBytes,
|
||||
data.lengthInBytes);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ListView implements Uint8List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableUint8ListView(Uint8List list) =>
|
||||
new _UnmodifiableUint8ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt8ListView implements Int8List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableInt8ListView(Int8List list) =>
|
||||
new _UnmodifiableInt8ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ClampedListView implements Uint8ClampedList {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableUint8ClampedListView(Uint8ClampedList list) =>
|
||||
new _UnmodifiableUint8ClampedArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint16ListView implements Uint16List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableUint16ListView(Uint16List list) =>
|
||||
new _UnmodifiableUint16ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt16ListView implements Int16List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableInt16ListView(Int16List list) =>
|
||||
new _UnmodifiableInt16ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint32ListView implements Uint32List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableUint32ListView(Uint32List list) =>
|
||||
new _UnmodifiableUint32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32ListView implements Int32List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableInt32ListView(Int32List list) =>
|
||||
new _UnmodifiableInt32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint64ListView implements Uint64List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableUint64ListView(Uint64List list) =>
|
||||
new _UnmodifiableUint64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt64ListView implements Int64List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableInt64ListView(Int64List list) =>
|
||||
new _UnmodifiableInt64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableInt32x4ListView(Int32x4List list) =>
|
||||
new _UnmodifiableInt32x4ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableFloat32x4ListView(Float32x4List list) =>
|
||||
new _UnmodifiableFloat32x4ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableFloat64x2ListView(Float64x2List list) =>
|
||||
new _UnmodifiableFloat64x2ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32ListView implements Float32List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableFloat32ListView(Float32List list) =>
|
||||
new _UnmodifiableFloat32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64ListView implements Float64List {
|
||||
@patch
|
||||
@pragma("vm:prefer-inline")
|
||||
factory UnmodifiableFloat64ListView(Float64List list) =>
|
||||
new _UnmodifiableFloat64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableInt8ArrayView extends _Int8ArrayView
|
||||
implements UnmodifiableInt8ListView {
|
||||
final class _UnmodifiableInt8ArrayView extends _Int8ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableInt8ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5308,6 +5135,13 @@ final class _UnmodifiableInt8ArrayView extends _Int8ArrayView
|
|||
external factory _UnmodifiableInt8ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableInt8ArrayView(Int8List list) =>
|
||||
new _UnmodifiableInt8ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5318,8 +5152,7 @@ final class _UnmodifiableInt8ArrayView extends _Int8ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableUint8ArrayView extends _Uint8ArrayView
|
||||
implements UnmodifiableUint8ListView {
|
||||
final class _UnmodifiableUint8ArrayView extends _Uint8ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableUint8ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5327,6 +5160,13 @@ final class _UnmodifiableUint8ArrayView extends _Uint8ArrayView
|
|||
external factory _UnmodifiableUint8ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableUint8ArrayView(Uint8List list) =>
|
||||
new _UnmodifiableUint8ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5337,8 +5177,7 @@ final class _UnmodifiableUint8ArrayView extends _Uint8ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableUint8ClampedArrayView extends _Uint8ClampedArrayView
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
final class _UnmodifiableUint8ClampedArrayView extends _Uint8ClampedArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableUint8ClampedArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5346,6 +5185,13 @@ final class _UnmodifiableUint8ClampedArrayView extends _Uint8ClampedArrayView
|
|||
external factory _UnmodifiableUint8ClampedArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableUint8ClampedArrayView(Uint8ClampedList list) =>
|
||||
new _UnmodifiableUint8ClampedArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5356,8 +5202,7 @@ final class _UnmodifiableUint8ClampedArrayView extends _Uint8ClampedArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableInt16ArrayView extends _Int16ArrayView
|
||||
implements UnmodifiableInt16ListView {
|
||||
final class _UnmodifiableInt16ArrayView extends _Int16ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableInt16ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5365,6 +5210,13 @@ final class _UnmodifiableInt16ArrayView extends _Int16ArrayView
|
|||
external factory _UnmodifiableInt16ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableInt16ArrayView(Int16List list) =>
|
||||
new _UnmodifiableInt16ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5375,8 +5227,7 @@ final class _UnmodifiableInt16ArrayView extends _Int16ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableUint16ArrayView extends _Uint16ArrayView
|
||||
implements UnmodifiableUint16ListView {
|
||||
final class _UnmodifiableUint16ArrayView extends _Uint16ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableUint16ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5384,6 +5235,13 @@ final class _UnmodifiableUint16ArrayView extends _Uint16ArrayView
|
|||
external factory _UnmodifiableUint16ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableUint16ArrayView(Uint16List list) =>
|
||||
new _UnmodifiableUint16ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5394,8 +5252,7 @@ final class _UnmodifiableUint16ArrayView extends _Uint16ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableInt32ArrayView extends _Int32ArrayView
|
||||
implements UnmodifiableInt32ListView {
|
||||
final class _UnmodifiableInt32ArrayView extends _Int32ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableInt32ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5403,6 +5260,13 @@ final class _UnmodifiableInt32ArrayView extends _Int32ArrayView
|
|||
external factory _UnmodifiableInt32ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableInt32ArrayView(Int32List list) =>
|
||||
new _UnmodifiableInt32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5413,8 +5277,7 @@ final class _UnmodifiableInt32ArrayView extends _Int32ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableUint32ArrayView extends _Uint32ArrayView
|
||||
implements UnmodifiableUint32ListView {
|
||||
final class _UnmodifiableUint32ArrayView extends _Uint32ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableUint32ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5422,6 +5285,13 @@ final class _UnmodifiableUint32ArrayView extends _Uint32ArrayView
|
|||
external factory _UnmodifiableUint32ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableUint32ArrayView(Uint32List list) =>
|
||||
new _UnmodifiableUint32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5432,8 +5302,7 @@ final class _UnmodifiableUint32ArrayView extends _Uint32ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableInt64ArrayView extends _Int64ArrayView
|
||||
implements UnmodifiableInt64ListView {
|
||||
final class _UnmodifiableInt64ArrayView extends _Int64ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableInt64ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5441,6 +5310,13 @@ final class _UnmodifiableInt64ArrayView extends _Int64ArrayView
|
|||
external factory _UnmodifiableInt64ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableInt64ArrayView(Int64List list) =>
|
||||
new _UnmodifiableInt64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5451,8 +5327,7 @@ final class _UnmodifiableInt64ArrayView extends _Int64ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableUint64ArrayView extends _Uint64ArrayView
|
||||
implements UnmodifiableUint64ListView {
|
||||
final class _UnmodifiableUint64ArrayView extends _Uint64ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableUint64ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5460,6 +5335,13 @@ final class _UnmodifiableUint64ArrayView extends _Uint64ArrayView
|
|||
external factory _UnmodifiableUint64ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableUint64ArrayView(Uint64List list) =>
|
||||
new _UnmodifiableUint64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5470,8 +5352,7 @@ final class _UnmodifiableUint64ArrayView extends _Uint64ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableFloat32ArrayView extends _Float32ArrayView
|
||||
implements UnmodifiableFloat32ListView {
|
||||
final class _UnmodifiableFloat32ArrayView extends _Float32ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableFloat32ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5479,6 +5360,13 @@ final class _UnmodifiableFloat32ArrayView extends _Float32ArrayView
|
|||
external factory _UnmodifiableFloat32ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableFloat32ArrayView(Float32List list) =>
|
||||
new _UnmodifiableFloat32ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, double value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5489,8 +5377,7 @@ final class _UnmodifiableFloat32ArrayView extends _Float32ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableFloat64ArrayView extends _Float64ArrayView
|
||||
implements UnmodifiableFloat64ListView {
|
||||
final class _UnmodifiableFloat64ArrayView extends _Float64ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableFloat64ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5498,6 +5385,13 @@ final class _UnmodifiableFloat64ArrayView extends _Float64ArrayView
|
|||
external factory _UnmodifiableFloat64ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableFloat64ArrayView(Float64List list) =>
|
||||
new _UnmodifiableFloat64ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, double value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5508,8 +5402,7 @@ final class _UnmodifiableFloat64ArrayView extends _Float64ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableFloat32x4ArrayView extends _Float32x4ArrayView
|
||||
implements UnmodifiableFloat32x4ListView {
|
||||
final class _UnmodifiableFloat32x4ArrayView extends _Float32x4ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableFloat32x4ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5517,6 +5410,13 @@ final class _UnmodifiableFloat32x4ArrayView extends _Float32x4ArrayView
|
|||
external factory _UnmodifiableFloat32x4ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableFloat32x4ArrayView(Float32x4List list) =>
|
||||
new _UnmodifiableFloat32x4ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, Float32x4 value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5527,8 +5427,7 @@ final class _UnmodifiableFloat32x4ArrayView extends _Float32x4ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableInt32x4ArrayView extends _Int32x4ArrayView
|
||||
implements UnmodifiableInt32x4ListView {
|
||||
final class _UnmodifiableInt32x4ArrayView extends _Int32x4ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableInt32x4ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5536,6 +5435,13 @@ final class _UnmodifiableInt32x4ArrayView extends _Int32x4ArrayView
|
|||
external factory _UnmodifiableInt32x4ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableInt32x4ArrayView(Int32x4List list) =>
|
||||
new _UnmodifiableInt32x4ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, Int32x4 value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5546,8 +5452,7 @@ final class _UnmodifiableInt32x4ArrayView extends _Int32x4ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableFloat64x2ArrayView extends _Float64x2ArrayView
|
||||
implements UnmodifiableFloat64x2ListView {
|
||||
final class _UnmodifiableFloat64x2ArrayView extends _Float64x2ArrayView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableFloat64x2ArrayView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5555,6 +5460,13 @@ final class _UnmodifiableFloat64x2ArrayView extends _Float64x2ArrayView
|
|||
external factory _UnmodifiableFloat64x2ArrayView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableFloat64x2ArrayView(Float64x2List list) =>
|
||||
new _UnmodifiableFloat64x2ArrayView._(
|
||||
unsafeCast<_TypedListBase>(list)._typedData,
|
||||
list.offsetInBytes,
|
||||
list.length);
|
||||
|
||||
void operator []=(int index, Float64x2 value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5565,8 +5477,7 @@ final class _UnmodifiableFloat64x2ArrayView extends _Float64x2ArrayView
|
|||
}
|
||||
|
||||
@pragma("vm:entry-point")
|
||||
final class _UnmodifiableByteDataView extends _ByteDataView
|
||||
implements UnmodifiableByteDataView {
|
||||
final class _UnmodifiableByteDataView extends _ByteDataView {
|
||||
@pragma("vm:recognized", "other")
|
||||
@pragma("vm:exact-result-type", _UnmodifiableByteDataView)
|
||||
@pragma("vm:prefer-inline")
|
||||
|
@ -5574,6 +5485,13 @@ final class _UnmodifiableByteDataView extends _ByteDataView
|
|||
external factory _UnmodifiableByteDataView._(
|
||||
_TypedList buffer, int offsetInBytes, int length);
|
||||
|
||||
@pragma("vm:prefer-inline")
|
||||
factory _UnmodifiableByteDataView(ByteData data) =>
|
||||
new _UnmodifiableByteDataView._(
|
||||
unsafeCast<_ByteDataView>(data).buffer._data,
|
||||
data.offsetInBytes,
|
||||
data.lengthInBytes);
|
||||
|
||||
void setInt8(int byteOffset, int value) {
|
||||
throw new UnsupportedError("Cannot modify an unmodifiable list");
|
||||
}
|
||||
|
@ -5624,59 +5542,61 @@ final class _UnmodifiableByteDataView extends _ByteDataView
|
|||
ByteData asUnmodifiableView() => this;
|
||||
}
|
||||
|
||||
final class _UnmodifiableByteBufferView extends _ByteBuffer
|
||||
implements UnmodifiableByteBufferView {
|
||||
final class _UnmodifiableByteBufferView extends _ByteBuffer {
|
||||
_UnmodifiableByteBufferView(ByteBuffer data)
|
||||
: super(unsafeCast<_ByteBuffer>(data)._data);
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableUint8ListView(super.asUint8List(offsetInBytes, length));
|
||||
new _UnmodifiableUint8ArrayView(super.asUint8List(offsetInBytes, length));
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableInt8ListView(super.asInt8List(offsetInBytes, length));
|
||||
new _UnmodifiableInt8ArrayView(super.asInt8List(offsetInBytes, length));
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableUint8ClampedListView(
|
||||
new _UnmodifiableUint8ClampedArrayView(
|
||||
super.asUint8ClampedList(offsetInBytes, length));
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableUint16ListView(super.asUint16List(offsetInBytes, length));
|
||||
new _UnmodifiableUint16ArrayView(
|
||||
super.asUint16List(offsetInBytes, length));
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableInt16ListView(super.asInt16List(offsetInBytes, length));
|
||||
new _UnmodifiableInt16ArrayView(super.asInt16List(offsetInBytes, length));
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableUint32ListView(super.asUint32List(offsetInBytes, length));
|
||||
new _UnmodifiableUint32ArrayView(
|
||||
super.asUint32List(offsetInBytes, length));
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableInt32ListView(super.asInt32List(offsetInBytes, length));
|
||||
new _UnmodifiableInt32ArrayView(super.asInt32List(offsetInBytes, length));
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableUint64ListView(super.asUint64List(offsetInBytes, length));
|
||||
new _UnmodifiableUint64ArrayView(
|
||||
super.asUint64List(offsetInBytes, length));
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableInt64ListView(super.asInt64List(offsetInBytes, length));
|
||||
new _UnmodifiableInt64ArrayView(super.asInt64List(offsetInBytes, length));
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableInt32x4ListView(
|
||||
new _UnmodifiableInt32x4ArrayView(
|
||||
super.asInt32x4List(offsetInBytes, length));
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableFloat32ListView(
|
||||
new _UnmodifiableFloat32ArrayView(
|
||||
super.asFloat32List(offsetInBytes, length));
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableFloat64ListView(
|
||||
new _UnmodifiableFloat64ArrayView(
|
||||
super.asFloat64List(offsetInBytes, length));
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableFloat32x4ListView(
|
||||
new _UnmodifiableFloat32x4ArrayView(
|
||||
super.asFloat32x4List(offsetInBytes, length));
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableFloat64x2ListView(
|
||||
new _UnmodifiableFloat64x2ArrayView(
|
||||
super.asFloat64x2List(offsetInBytes, length));
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
new UnmodifiableByteDataView(super.asByteData(offsetInBytes, length));
|
||||
new _UnmodifiableByteDataView(super.asByteData(offsetInBytes, length));
|
||||
}
|
||||
|
|
|
@ -240,8 +240,7 @@ final class JSDataViewImpl implements ByteData {
|
|||
int get elementSizeInBytes => 1;
|
||||
|
||||
@override
|
||||
UnmodifiableByteDataView asUnmodifiableView() =>
|
||||
UnmodifiableByteDataView(this);
|
||||
ByteData asUnmodifiableView() => throw UnimplementedError();
|
||||
|
||||
@override
|
||||
double getFloat32(int byteOffset, [Endian endian = Endian.big]) =>
|
||||
|
@ -752,8 +751,7 @@ final class _JSUint8ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSUint8Array extends JSUint8ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint8ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSUint8Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -836,8 +834,7 @@ final class _JSInt8ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSInt8Array extends JSInt8ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt8ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSInt8Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -907,8 +904,7 @@ final class JSUint8ClampedArrayImpl extends JSArrayBase
|
|||
}
|
||||
|
||||
final class UnmodifiableJSUint8ClampedArray extends JSUint8ClampedArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSUint8ClampedArray._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -998,8 +994,7 @@ final class _JSUint16ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSUint16Array extends JSUint16ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint16ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSUint16Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1089,8 +1084,7 @@ final class _JSInt16ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSInt16Array extends JSInt16ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt16ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSInt16Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1180,8 +1174,7 @@ final class _JSUint32ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSUint32Array extends JSUint32ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint32ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSUint32Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1271,8 +1264,7 @@ final class _JSInt32ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSInt32Array extends JSInt32ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt32ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSInt32Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1323,8 +1315,7 @@ final class JSInt32x4ArrayImpl
|
|||
}
|
||||
|
||||
@override
|
||||
UnmodifiableInt32x4ListView asUnmodifiableView() =>
|
||||
UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => NaiveUnmodifiableInt32x4List(this);
|
||||
|
||||
@override
|
||||
JSInt32x4ArrayImpl sublist(int start, [int? end]) {
|
||||
|
@ -1448,8 +1439,7 @@ final class _JSUint64ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSBigUint64Array extends JSBigUint64ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint64ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSBigUint64Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1539,8 +1529,7 @@ final class _JSInt64ArrayIterator extends _IntArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSBigInt64Array extends JSBigInt64ArrayImpl
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt64ListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableJSBigInt64Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -1972,8 +1961,7 @@ final class _JSFloat32ArrayIterator extends _DoubleArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSFloat32Array extends JSFloat32ArrayImpl
|
||||
with _UnmodifiableDoubleListMixin
|
||||
implements UnmodifiableFloat32ListView {
|
||||
with _UnmodifiableDoubleListMixin {
|
||||
UnmodifiableJSFloat32Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -2063,8 +2051,7 @@ final class _JSFloat64ArrayIterator extends _DoubleArrayIteratorBase {
|
|||
}
|
||||
|
||||
final class UnmodifiableJSFloat64Array extends JSFloat64ArrayImpl
|
||||
with _UnmodifiableDoubleListMixin
|
||||
implements UnmodifiableFloat64ListView {
|
||||
with _UnmodifiableDoubleListMixin {
|
||||
UnmodifiableJSFloat64Array._(WasmExternRef? ref) : super._(ref);
|
||||
}
|
||||
|
||||
|
@ -2115,8 +2102,7 @@ final class JSFloat32x4ArrayImpl
|
|||
}
|
||||
|
||||
@override
|
||||
UnmodifiableFloat32x4ListView asUnmodifiableView() =>
|
||||
UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => NaiveUnmodifiableFloat32x4List(this);
|
||||
|
||||
@override
|
||||
JSFloat32x4ArrayImpl sublist(int start, [int? end]) {
|
||||
|
@ -2198,8 +2184,7 @@ final class JSFloat64x2ArrayImpl
|
|||
}
|
||||
|
||||
@override
|
||||
UnmodifiableFloat64x2ListView asUnmodifiableView() =>
|
||||
UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => NaiveUnmodifiableFloat64x2List(this);
|
||||
|
||||
@override
|
||||
JSFloat64x2ArrayImpl sublist(int start, [int? end]) {
|
||||
|
|
|
@ -17,6 +17,11 @@ import 'dart:_error_utils';
|
|||
import 'dart:_internal';
|
||||
import 'dart:_js_helper' as js;
|
||||
import 'dart:_object_helper';
|
||||
import 'dart:_simd'
|
||||
show
|
||||
NaiveUnmodifiableInt32x4List,
|
||||
NaiveUnmodifiableFloat32x4List,
|
||||
NaiveUnmodifiableFloat64x2List;
|
||||
import 'dart:_string_helper';
|
||||
import 'dart:_wasm';
|
||||
import 'dart:collection';
|
||||
|
|
|
@ -68,7 +68,7 @@ final class NaiveInt32x4List extends WasmTypedDataBase
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Int32x4List asUnmodifiableView() => UnmodifiableInt32x4ListView(this);
|
||||
Int32x4List asUnmodifiableView() => NaiveUnmodifiableInt32x4List(this);
|
||||
|
||||
Int32x4List sublist(int start, [int? end]) {
|
||||
int stop = RangeError.checkValidRange(start, end, length);
|
||||
|
@ -100,8 +100,7 @@ final class NaiveInt32x4List extends WasmTypedDataBase
|
|||
}
|
||||
}
|
||||
|
||||
final class NaiveUnmodifiableInt32x4List extends NaiveInt32x4List
|
||||
implements UnmodifiableInt32x4ListView {
|
||||
final class NaiveUnmodifiableInt32x4List extends NaiveInt32x4List {
|
||||
NaiveUnmodifiableInt32x4List(Int32x4List list)
|
||||
: super.externalStorage(unsafeCast<NaiveInt32x4List>(list)._storage);
|
||||
|
||||
|
@ -114,7 +113,7 @@ final class NaiveUnmodifiableInt32x4List extends NaiveInt32x4List
|
|||
}
|
||||
|
||||
@override
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(super.buffer);
|
||||
ByteBuffer get buffer => _storage.asUnmodifiableView().buffer;
|
||||
}
|
||||
|
||||
final class NaiveFloat32x4List extends WasmTypedDataBase
|
||||
|
@ -173,7 +172,7 @@ final class NaiveFloat32x4List extends WasmTypedDataBase
|
|||
_storage[(index * 4) + 3] = value.w;
|
||||
}
|
||||
|
||||
Float32x4List asUnmodifiableView() => UnmodifiableFloat32x4ListView(this);
|
||||
Float32x4List asUnmodifiableView() => NaiveUnmodifiableFloat32x4List(this);
|
||||
|
||||
Float32x4List sublist(int start, [int? end]) {
|
||||
int stop = RangeError.checkValidRange(start, end, length);
|
||||
|
@ -206,8 +205,7 @@ final class NaiveFloat32x4List extends WasmTypedDataBase
|
|||
}
|
||||
}
|
||||
|
||||
final class NaiveUnmodifiableFloat32x4List extends NaiveFloat32x4List
|
||||
implements UnmodifiableFloat32x4ListView {
|
||||
final class NaiveUnmodifiableFloat32x4List extends NaiveFloat32x4List {
|
||||
NaiveUnmodifiableFloat32x4List(Float32x4List list)
|
||||
: super.externalStorage(unsafeCast<NaiveFloat32x4List>(list)._storage);
|
||||
|
||||
|
@ -220,7 +218,7 @@ final class NaiveUnmodifiableFloat32x4List extends NaiveFloat32x4List
|
|||
}
|
||||
|
||||
@override
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(super.buffer);
|
||||
ByteBuffer get buffer => _storage.asUnmodifiableView().buffer;
|
||||
}
|
||||
|
||||
final class NaiveFloat64x2List extends WasmTypedDataBase
|
||||
|
@ -273,7 +271,7 @@ final class NaiveFloat64x2List extends WasmTypedDataBase
|
|||
_storage[(index * 2) + 1] = value.y;
|
||||
}
|
||||
|
||||
Float64x2List asUnmodifiableView() => UnmodifiableFloat64x2ListView(this);
|
||||
Float64x2List asUnmodifiableView() => NaiveUnmodifiableFloat64x2List(this);
|
||||
|
||||
Float64x2List sublist(int start, [int? end]) {
|
||||
int stop = RangeError.checkValidRange(start, end, length);
|
||||
|
@ -306,8 +304,7 @@ final class NaiveFloat64x2List extends WasmTypedDataBase
|
|||
}
|
||||
}
|
||||
|
||||
final class NaiveUnmodifiableFloat64x2List extends NaiveFloat64x2List
|
||||
implements UnmodifiableFloat64x2ListView {
|
||||
final class NaiveUnmodifiableFloat64x2List extends NaiveFloat64x2List {
|
||||
NaiveUnmodifiableFloat64x2List(Float64x2List list)
|
||||
: super.externalStorage(unsafeCast<NaiveFloat64x2List>(list)._storage);
|
||||
|
||||
|
@ -320,7 +317,7 @@ final class NaiveUnmodifiableFloat64x2List extends NaiveFloat64x2List
|
|||
}
|
||||
|
||||
@override
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(super.buffer);
|
||||
ByteBuffer get buffer => _storage.asUnmodifiableView().buffer;
|
||||
}
|
||||
|
||||
final class NaiveFloat32x4 extends WasmTypedDataBase implements Float32x4 {
|
||||
|
|
|
@ -103,7 +103,7 @@ abstract class ByteDataBase extends WasmTypedDataBase implements ByteData {
|
|||
ByteDataBase(this.offsetInBytes, this.lengthInBytes);
|
||||
|
||||
@override
|
||||
UnmodifiableByteDataView asUnmodifiableView();
|
||||
ByteData asUnmodifiableView();
|
||||
|
||||
void _offsetRangeCheck(int byteOffset, int size) {
|
||||
if (byteOffset < 0 || byteOffset + size > lengthInBytes) {
|
||||
|
@ -887,8 +887,7 @@ class _F64ByteData extends ByteDataBase {
|
|||
}
|
||||
|
||||
class _UnmodifiableI8ByteData extends I8ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableI8ByteData._(
|
||||
WasmArray<WasmI8> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, offsetInBytes, lengthInBytes);
|
||||
|
@ -898,8 +897,7 @@ class _UnmodifiableI8ByteData extends I8ByteData
|
|||
}
|
||||
|
||||
class _UnmodifiableI16ByteData extends _I16ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableI16ByteData._(
|
||||
WasmArray<WasmI16> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, offsetInBytes, lengthInBytes);
|
||||
|
@ -909,8 +907,7 @@ class _UnmodifiableI16ByteData extends _I16ByteData
|
|||
}
|
||||
|
||||
class _UnmodifiableI32ByteData extends _I32ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableI32ByteData._(
|
||||
WasmArray<WasmI32> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, offsetInBytes, lengthInBytes);
|
||||
|
@ -920,8 +917,7 @@ class _UnmodifiableI32ByteData extends _I32ByteData
|
|||
}
|
||||
|
||||
class _UnmodifiableI64ByteData extends _I64ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableI64ByteData._(
|
||||
WasmArray<WasmI64> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, 0, _data.length * 8);
|
||||
|
@ -931,8 +927,7 @@ class _UnmodifiableI64ByteData extends _I64ByteData
|
|||
}
|
||||
|
||||
class _UnmodifiableF32ByteData extends _F32ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableF32ByteData._(
|
||||
WasmArray<WasmF32> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, offsetInBytes, lengthInBytes);
|
||||
|
@ -942,8 +937,7 @@ class _UnmodifiableF32ByteData extends _F32ByteData
|
|||
}
|
||||
|
||||
class _UnmodifiableF64ByteData extends _F64ByteData
|
||||
with _UnmodifiableByteDataMixin
|
||||
implements UnmodifiableByteDataView {
|
||||
with _UnmodifiableByteDataMixin {
|
||||
_UnmodifiableF64ByteData._(
|
||||
WasmArray<WasmF64> _data, int offsetInBytes, int lengthInBytes)
|
||||
: super._(_data, offsetInBytes, lengthInBytes);
|
||||
|
@ -1327,8 +1321,7 @@ class _F64ByteBuffer extends ByteBufferBase {
|
|||
}
|
||||
}
|
||||
|
||||
class UnmodifiableByteBuffer extends WasmTypedDataBase
|
||||
implements UnmodifiableByteBufferView {
|
||||
class UnmodifiableByteBuffer extends WasmTypedDataBase implements ByteBuffer {
|
||||
final ByteBufferBase _buffer;
|
||||
|
||||
UnmodifiableByteBuffer(ByteBufferBase buffer) : _buffer = buffer._immutable();
|
||||
|
@ -2771,9 +2764,7 @@ class F64List extends _WasmF64ArrayBase
|
|||
// Unmodifiable fast lists
|
||||
//
|
||||
|
||||
class UnmodifiableI8List extends I8List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt8ListView {
|
||||
class UnmodifiableI8List extends I8List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableI8List(I8List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2784,9 +2775,7 @@ class UnmodifiableI8List extends I8List
|
|||
_I8ByteBuffer get buffer => _I8ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableU8List extends U8List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint8ListView {
|
||||
class UnmodifiableU8List extends U8List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableU8List(U8List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2798,8 +2787,7 @@ class UnmodifiableU8List extends U8List
|
|||
}
|
||||
|
||||
class UnmodifiableU8ClampedList extends U8ClampedList
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
with _UnmodifiableIntListMixin {
|
||||
UnmodifiableU8ClampedList(U8ClampedList list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2811,9 +2799,7 @@ class UnmodifiableU8ClampedList extends U8ClampedList
|
|||
_I8ByteBuffer get buffer => _I8ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableI16List extends I16List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt16ListView {
|
||||
class UnmodifiableI16List extends I16List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableI16List(I16List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2825,9 +2811,7 @@ class UnmodifiableI16List extends I16List
|
|||
_I16ByteBuffer get buffer => _I16ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableU16List extends U16List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint16ListView {
|
||||
class UnmodifiableU16List extends U16List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableU16List(U16List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2839,9 +2823,7 @@ class UnmodifiableU16List extends U16List
|
|||
_I16ByteBuffer get buffer => _I16ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableI32List extends I32List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt32ListView {
|
||||
class UnmodifiableI32List extends I32List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableI32List(I32List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2853,9 +2835,7 @@ class UnmodifiableI32List extends I32List
|
|||
_I32ByteBuffer get buffer => _I32ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableU32List extends U32List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint32ListView {
|
||||
class UnmodifiableU32List extends U32List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableU32List(U32List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2867,9 +2847,7 @@ class UnmodifiableU32List extends U32List
|
|||
_I32ByteBuffer get buffer => _I32ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableI64List extends I64List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableInt64ListView {
|
||||
class UnmodifiableI64List extends I64List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableI64List(I64List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2881,9 +2859,7 @@ class UnmodifiableI64List extends I64List
|
|||
_I64ByteBuffer get buffer => _I64ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableU64List extends U64List
|
||||
with _UnmodifiableIntListMixin
|
||||
implements UnmodifiableUint64ListView {
|
||||
class UnmodifiableU64List extends U64List with _UnmodifiableIntListMixin {
|
||||
UnmodifiableU64List(U64List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2895,9 +2871,7 @@ class UnmodifiableU64List extends U64List
|
|||
_I64ByteBuffer get buffer => _I64ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableF32List extends F32List
|
||||
with _UnmodifiableDoubleListMixin
|
||||
implements UnmodifiableFloat32ListView {
|
||||
class UnmodifiableF32List extends F32List with _UnmodifiableDoubleListMixin {
|
||||
UnmodifiableF32List(F32List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -2909,9 +2883,7 @@ class UnmodifiableF32List extends F32List
|
|||
_F32ByteBuffer get buffer => _F32ByteBuffer._(_data, false);
|
||||
}
|
||||
|
||||
class UnmodifiableF64List extends F64List
|
||||
with _UnmodifiableDoubleListMixin
|
||||
implements UnmodifiableFloat64ListView {
|
||||
class UnmodifiableF64List extends F64List with _UnmodifiableDoubleListMixin {
|
||||
UnmodifiableF64List(F64List list)
|
||||
: super._(list._data, list._offsetInElements, list.length);
|
||||
|
||||
|
@ -3373,8 +3345,7 @@ mixin _UnmodifiableSlowListMixin on _SlowListBase {
|
|||
}
|
||||
|
||||
class UnmodifiableSlowI8List extends _SlowI8List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableInt8ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowI8List(Int8List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3383,8 +3354,7 @@ class UnmodifiableSlowI8List extends _SlowI8List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowU8List extends _SlowU8List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableUint8ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowU8List(Uint8List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3393,8 +3363,7 @@ class UnmodifiableSlowU8List extends _SlowU8List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowU8ClampedList extends _SlowU8ClampedList
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowU8ClampedList(Uint8ClampedList list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3404,8 +3373,7 @@ class UnmodifiableSlowU8ClampedList extends _SlowU8ClampedList
|
|||
}
|
||||
|
||||
class UnmodifiableSlowI16List extends _SlowI16List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableInt16ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowI16List(Int16List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3414,8 +3382,7 @@ class UnmodifiableSlowI16List extends _SlowI16List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowU16List extends _SlowU16List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableUint16ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowU16List(Uint16List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3424,8 +3391,7 @@ class UnmodifiableSlowU16List extends _SlowU16List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowI32List extends _SlowI32List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableInt32ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowI32List(Int32List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3434,8 +3400,7 @@ class UnmodifiableSlowI32List extends _SlowI32List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowU32List extends _SlowU32List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableUint32ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowU32List(Uint32List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3444,8 +3409,7 @@ class UnmodifiableSlowU32List extends _SlowU32List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowI64List extends _SlowI64List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableInt64ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowI64List(Int64List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3454,8 +3418,7 @@ class UnmodifiableSlowI64List extends _SlowI64List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowU64List extends _SlowU64List
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableUint64ListView {
|
||||
with _UnmodifiableIntListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowU64List(Uint64List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3464,8 +3427,7 @@ class UnmodifiableSlowU64List extends _SlowU64List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowF32List extends _SlowF32List
|
||||
with _UnmodifiableDoubleListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableFloat32ListView {
|
||||
with _UnmodifiableDoubleListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowF32List(Float32List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
@ -3474,8 +3436,7 @@ class UnmodifiableSlowF32List extends _SlowF32List
|
|||
}
|
||||
|
||||
class UnmodifiableSlowF64List extends SlowF64List
|
||||
with _UnmodifiableDoubleListMixin, _UnmodifiableSlowListMixin
|
||||
implements UnmodifiableFloat64ListView {
|
||||
with _UnmodifiableDoubleListMixin, _UnmodifiableSlowListMixin {
|
||||
UnmodifiableSlowF64List(Float64List list)
|
||||
: super._(list.buffer, list.offsetInBytes, list.length);
|
||||
|
||||
|
|
|
@ -123,158 +123,6 @@ class Float64List {
|
|||
F64List(elements.length)..setRange(0, elements.length, elements);
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableUint8ListView {
|
||||
@patch
|
||||
factory UnmodifiableUint8ListView(Uint8List list) {
|
||||
if (list is U8List) {
|
||||
return UnmodifiableU8List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowU8List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableInt8ListView {
|
||||
@patch
|
||||
factory UnmodifiableInt8ListView(Int8List list) {
|
||||
if (list is I8List) {
|
||||
return UnmodifiableI8List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowI8List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableUint8ClampedListView {
|
||||
@patch
|
||||
factory UnmodifiableUint8ClampedListView(Uint8ClampedList list) {
|
||||
if (list is U8ClampedList) {
|
||||
return UnmodifiableU8ClampedList(list);
|
||||
} else {
|
||||
return UnmodifiableSlowU8ClampedList(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableUint16ListView {
|
||||
@patch
|
||||
factory UnmodifiableUint16ListView(Uint16List list) {
|
||||
if (list is U16List) {
|
||||
return UnmodifiableU16List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowU16List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableInt16ListView {
|
||||
@patch
|
||||
factory UnmodifiableInt16ListView(Int16List list) {
|
||||
if (list is I16List) {
|
||||
return UnmodifiableI16List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowI16List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableUint32ListView {
|
||||
@patch
|
||||
factory UnmodifiableUint32ListView(Uint32List list) {
|
||||
if (list is U32List) {
|
||||
return UnmodifiableU32List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowU32List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableInt32ListView {
|
||||
@patch
|
||||
factory UnmodifiableInt32ListView(Int32List list) {
|
||||
if (list is I32List) {
|
||||
return UnmodifiableI32List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowI32List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableUint64ListView {
|
||||
@patch
|
||||
factory UnmodifiableUint64ListView(Uint64List list) {
|
||||
if (list is U64List) {
|
||||
return UnmodifiableU64List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowU64List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableInt64ListView {
|
||||
@patch
|
||||
factory UnmodifiableInt64ListView(Int64List list) {
|
||||
if (list is I64List) {
|
||||
return UnmodifiableI64List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowI64List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableFloat32ListView {
|
||||
@patch
|
||||
factory UnmodifiableFloat32ListView(Float32List list) {
|
||||
if (list is F32List) {
|
||||
return UnmodifiableF32List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowF32List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableFloat64ListView {
|
||||
@patch
|
||||
factory UnmodifiableFloat64ListView(Float64List list) {
|
||||
if (list is F64List) {
|
||||
return UnmodifiableF64List(list);
|
||||
} else {
|
||||
return UnmodifiableSlowF64List(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableByteBufferView implements ByteBuffer {
|
||||
@patch
|
||||
factory UnmodifiableByteBufferView(ByteBuffer data) =>
|
||||
// TODO(omersa): This will break when `data` is `JSArrayBufferImpl`.
|
||||
// Implement an interface for byte buffer that can be made unmodifiable
|
||||
// and implement it in all byte buffers, use that type here.
|
||||
UnmodifiableByteBuffer(unsafeCast<ByteBufferBase>(data));
|
||||
}
|
||||
|
||||
@patch
|
||||
class UnmodifiableByteDataView implements ByteData {
|
||||
@patch
|
||||
factory UnmodifiableByteDataView(ByteData data) =>
|
||||
// TODO(omersa): Same as above, this will break when `data` is
|
||||
// `JSDataViewImpl`. Add an interface for `ByteData` that can be made
|
||||
// immutable, implement it in all `ByteData` subtypes.
|
||||
unsafeCast<ByteDataBase>(data).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
class Int32x4List {
|
||||
@patch
|
||||
|
@ -304,24 +152,3 @@ class Float64x2List {
|
|||
factory Float64x2List.fromList(List<Float64x2> elements) =
|
||||
NaiveFloat64x2List.fromList;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
@patch
|
||||
factory UnmodifiableInt32x4ListView(Int32x4List list) =>
|
||||
NaiveUnmodifiableInt32x4List(list);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32x4ListView(Float32x4List list) =>
|
||||
NaiveUnmodifiableFloat32x4List(list);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64x2ListView(Float64x2List list) =>
|
||||
NaiveUnmodifiableFloat64x2List(list);
|
||||
}
|
||||
|
|
|
@ -10,11 +10,7 @@ import 'dart:_wasm';
|
|||
import 'dart:typed_data';
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteBufferView.
|
||||
final class _UnmodifiableByteBufferViewImpl
|
||||
implements ByteBuffer, UnmodifiableByteBufferView {
|
||||
final class _UnmodifiableByteBufferViewImpl implements ByteBuffer {
|
||||
final ByteBuffer _data;
|
||||
|
||||
_UnmodifiableByteBufferViewImpl(ByteBuffer data) : _data = data;
|
||||
|
@ -22,60 +18,53 @@ final class _UnmodifiableByteBufferViewImpl
|
|||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
Uint8List asUint8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ListView(_data.asUint8List(offsetInBytes, length));
|
||||
_data.asUint8List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Int8List asInt8List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt8ListView(_data.asInt8List(offsetInBytes, length));
|
||||
_data.asInt8List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Uint8ClampedList asUint8ClampedList([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint8ClampedListView(
|
||||
_data.asUint8ClampedList(offsetInBytes, length));
|
||||
_data.asUint8ClampedList(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Uint16List asUint16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint16ListView(_data.asUint16List(offsetInBytes, length));
|
||||
_data.asUint16List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Int16List asInt16List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt16ListView(_data.asInt16List(offsetInBytes, length));
|
||||
_data.asInt16List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Uint32List asUint32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint32ListView(_data.asUint32List(offsetInBytes, length));
|
||||
_data.asUint32List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Int32List asInt32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32ListView(_data.asInt32List(offsetInBytes, length));
|
||||
_data.asInt32List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Uint64List asUint64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableUint64ListView(_data.asUint64List(offsetInBytes, length));
|
||||
_data.asUint64List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Int64List asInt64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt64ListView(_data.asInt64List(offsetInBytes, length));
|
||||
_data.asInt64List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Int32x4List asInt32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableInt32x4ListView(_data.asInt32x4List(offsetInBytes, length));
|
||||
_data.asInt32x4List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Float32List asFloat32List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32ListView(_data.asFloat32List(offsetInBytes, length));
|
||||
_data.asFloat32List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Float64List asFloat64List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64ListView(_data.asFloat64List(offsetInBytes, length));
|
||||
_data.asFloat64List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Float32x4List asFloat32x4List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat32x4ListView(
|
||||
_data.asFloat32x4List(offsetInBytes, length));
|
||||
_data.asFloat32x4List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
Float64x2List asFloat64x2List([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableFloat64x2ListView(
|
||||
_data.asFloat64x2List(offsetInBytes, length));
|
||||
_data.asFloat64x2List(offsetInBytes, length).asUnmodifiableView();
|
||||
|
||||
ByteData asByteData([int offsetInBytes = 0, int? length]) =>
|
||||
UnmodifiableByteDataView(_data.asByteData(offsetInBytes, length));
|
||||
_data.asByteData(offsetInBytes, length).asUnmodifiableView();
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteDataView.
|
||||
final class _UnmodifiableByteDataViewImpl
|
||||
implements ByteData, UnmodifiableByteDataView {
|
||||
final class _UnmodifiableByteDataViewImpl implements ByteData {
|
||||
final ByteData _data;
|
||||
|
||||
_UnmodifiableByteDataViewImpl(ByteData data) : _data = data;
|
||||
|
@ -145,7 +134,7 @@ final class _UnmodifiableByteDataViewImpl
|
|||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferViewImpl(_data.buffer);
|
||||
|
||||
void _unsupported() =>
|
||||
throw UnsupportedError("An UnmodifiableByteDataView may not be modified");
|
||||
|
@ -165,7 +154,7 @@ mixin _UnmodifiableListMixin<N, L extends List<N>, TD extends TypedData> {
|
|||
|
||||
int get lengthInBytes => _data.lengthInBytes;
|
||||
|
||||
ByteBuffer get buffer => UnmodifiableByteBufferView(_data.buffer);
|
||||
ByteBuffer get buffer => _UnmodifiableByteBufferViewImpl(_data.buffer);
|
||||
|
||||
L createList(int length);
|
||||
|
||||
|
@ -179,12 +168,9 @@ mixin _UnmodifiableListMixin<N, L extends List<N>, TD extends TypedData> {
|
|||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ListView.
|
||||
final class _UnmodifiableUint8ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8List, Uint8List>
|
||||
implements UnmodifiableUint8ListView {
|
||||
implements Uint8List {
|
||||
final Uint8List _list;
|
||||
_UnmodifiableUint8ListViewImpl(Uint8List list) : _list = list;
|
||||
|
||||
|
@ -196,12 +182,9 @@ final class _UnmodifiableUint8ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt8ListView.
|
||||
final class _UnmodifiableInt8ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int8List, Int8List>
|
||||
implements UnmodifiableInt8ListView {
|
||||
implements Int8List {
|
||||
final Int8List _list;
|
||||
_UnmodifiableInt8ListViewImpl(Int8List list) : _list = list;
|
||||
|
||||
|
@ -213,13 +196,10 @@ final class _UnmodifiableInt8ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ClampedListView.
|
||||
final class _UnmodifiableUint8ClampedListViewImpl
|
||||
extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint8ClampedList, Uint8ClampedList>
|
||||
implements UnmodifiableUint8ClampedListView {
|
||||
implements Uint8ClampedList {
|
||||
final Uint8ClampedList _list;
|
||||
_UnmodifiableUint8ClampedListViewImpl(Uint8ClampedList list) : _list = list;
|
||||
|
||||
|
@ -231,12 +211,9 @@ final class _UnmodifiableUint8ClampedListViewImpl
|
|||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint16ListView.
|
||||
final class _UnmodifiableUint16ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint16List, Uint16List>
|
||||
implements UnmodifiableUint16ListView {
|
||||
implements Uint16List {
|
||||
final Uint16List _list;
|
||||
_UnmodifiableUint16ListViewImpl(Uint16List list) : _list = list;
|
||||
|
||||
|
@ -248,12 +225,9 @@ final class _UnmodifiableUint16ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt16ListView.
|
||||
final class _UnmodifiableInt16ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int16List, Int16List>
|
||||
implements UnmodifiableInt16ListView {
|
||||
implements Int16List {
|
||||
final Int16List _list;
|
||||
_UnmodifiableInt16ListViewImpl(Int16List list) : _list = list;
|
||||
|
||||
|
@ -265,12 +239,9 @@ final class _UnmodifiableInt16ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint32ListView.
|
||||
final class _UnmodifiableUint32ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint32List, Uint32List>
|
||||
implements UnmodifiableUint32ListView {
|
||||
implements Uint32List {
|
||||
final Uint32List _list;
|
||||
_UnmodifiableUint32ListViewImpl(Uint32List list) : _list = list;
|
||||
|
||||
|
@ -282,12 +253,9 @@ final class _UnmodifiableUint32ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32ListView.
|
||||
final class _UnmodifiableInt32ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int32List, Int32List>
|
||||
implements UnmodifiableInt32ListView {
|
||||
implements Int32List {
|
||||
final Int32List _list;
|
||||
_UnmodifiableInt32ListViewImpl(Int32List list) : _list = list;
|
||||
|
||||
|
@ -299,12 +267,9 @@ final class _UnmodifiableInt32ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint64ListView.
|
||||
final class _UnmodifiableUint64ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Uint64List, Uint64List>
|
||||
implements UnmodifiableUint64ListView {
|
||||
implements Uint64List {
|
||||
final Uint64List _list;
|
||||
_UnmodifiableUint64ListViewImpl(Uint64List list) : _list = list;
|
||||
|
||||
|
@ -316,12 +281,9 @@ final class _UnmodifiableUint64ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt64ListView.
|
||||
final class _UnmodifiableInt64ListViewImpl extends UnmodifiableListBase<int>
|
||||
with _UnmodifiableListMixin<int, Int64List, Int64List>
|
||||
implements UnmodifiableInt64ListView {
|
||||
implements Int64List {
|
||||
final Int64List _list;
|
||||
_UnmodifiableInt64ListViewImpl(Int64List list) : _list = list;
|
||||
|
||||
|
@ -333,13 +295,10 @@ final class _UnmodifiableInt64ListViewImpl extends UnmodifiableListBase<int>
|
|||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32x4ListView.
|
||||
final class _UnmodifiableInt32x4ListViewImpl
|
||||
extends UnmodifiableListBase<Int32x4>
|
||||
with _UnmodifiableListMixin<Int32x4, Int32x4List, Int32x4List>
|
||||
implements UnmodifiableInt32x4ListView {
|
||||
implements Int32x4List {
|
||||
final Int32x4List _list;
|
||||
_UnmodifiableInt32x4ListViewImpl(Int32x4List list) : _list = list;
|
||||
|
||||
|
@ -351,13 +310,10 @@ final class _UnmodifiableInt32x4ListViewImpl
|
|||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32x4ListView.
|
||||
final class _UnmodifiableFloat32x4ListViewImpl
|
||||
extends UnmodifiableListBase<Float32x4>
|
||||
with _UnmodifiableListMixin<Float32x4, Float32x4List, Float32x4List>
|
||||
implements UnmodifiableFloat32x4ListView {
|
||||
implements Float32x4List {
|
||||
final Float32x4List _list;
|
||||
_UnmodifiableFloat32x4ListViewImpl(Float32x4List list) : _list = list;
|
||||
|
||||
|
@ -369,13 +325,10 @@ final class _UnmodifiableFloat32x4ListViewImpl
|
|||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64x2ListView.
|
||||
final class _UnmodifiableFloat64x2ListViewImpl
|
||||
extends UnmodifiableListBase<Float64x2>
|
||||
with _UnmodifiableListMixin<Float64x2, Float64x2List, Float64x2List>
|
||||
implements UnmodifiableFloat64x2ListView {
|
||||
implements Float64x2List {
|
||||
final Float64x2List _list;
|
||||
_UnmodifiableFloat64x2ListViewImpl(Float64x2List list) : _list = list;
|
||||
|
||||
|
@ -387,13 +340,10 @@ final class _UnmodifiableFloat64x2ListViewImpl
|
|||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32ListView.
|
||||
final class _UnmodifiableFloat32ListViewImpl
|
||||
extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float32List, Float32List>
|
||||
implements UnmodifiableFloat32ListView {
|
||||
implements Float32List {
|
||||
final Float32List _list;
|
||||
_UnmodifiableFloat32ListViewImpl(Float32List list) : _list = list;
|
||||
|
||||
|
@ -405,13 +355,10 @@ final class _UnmodifiableFloat32ListViewImpl
|
|||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64ListView.
|
||||
final class _UnmodifiableFloat64ListViewImpl
|
||||
extends UnmodifiableListBase<double>
|
||||
with _UnmodifiableListMixin<double, Float64List, Float64List>
|
||||
implements UnmodifiableFloat64ListView {
|
||||
implements Float64List {
|
||||
final Float64List _list;
|
||||
_UnmodifiableFloat64ListViewImpl(Float64List list) : _list = list;
|
||||
|
||||
|
|
|
@ -161,115 +161,3 @@ class Float64x2List {
|
|||
factory Float64x2List.fromList(List<Float64x2> elements) =>
|
||||
Float64x2List(elements.length)..setRange(0, elements.length, elements);
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteBufferView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteBufferView(ByteBuffer data) =
|
||||
_UnmodifiableByteBufferViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableByteDataView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableByteDataView(ByteData data) =
|
||||
_UnmodifiableByteDataViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ListView implements Uint8List {
|
||||
@patch
|
||||
factory UnmodifiableUint8ListView(Uint8List list) =>
|
||||
unsafeCast<JSUint8ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt8ListView implements Int8List {
|
||||
@patch
|
||||
factory UnmodifiableInt8ListView(Int8List list) =>
|
||||
unsafeCast<JSInt8ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint8ClampedListView implements Uint8ClampedList {
|
||||
@patch
|
||||
factory UnmodifiableUint8ClampedListView(Uint8ClampedList list) =>
|
||||
unsafeCast<JSUint8ClampedArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint16ListView implements Uint16List {
|
||||
@patch
|
||||
factory UnmodifiableUint16ListView(Uint16List list) =>
|
||||
unsafeCast<JSUint16ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt16ListView implements Int16List {
|
||||
@patch
|
||||
factory UnmodifiableInt16ListView(Int16List list) =>
|
||||
unsafeCast<JSInt16ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint32ListView implements Uint32List {
|
||||
@patch
|
||||
factory UnmodifiableUint32ListView(Uint32List list) =>
|
||||
unsafeCast<JSUint32ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32ListView implements Int32List {
|
||||
@patch
|
||||
factory UnmodifiableInt32ListView(Int32List list) =>
|
||||
unsafeCast<JSInt32ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableUint64ListView implements Uint64List {
|
||||
@patch
|
||||
factory UnmodifiableUint64ListView(Uint64List list) =>
|
||||
unsafeCast<JSBigUint64ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt64ListView implements Int64List {
|
||||
@patch
|
||||
factory UnmodifiableInt64ListView(Int64List list) =>
|
||||
unsafeCast<JSBigInt64ArrayImpl>(list).asUnmodifiableView();
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
@patch
|
||||
factory UnmodifiableInt32x4ListView(Int32x4List list) =
|
||||
_UnmodifiableInt32x4ListViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32x4ListView(Float32x4List list) =
|
||||
_UnmodifiableFloat32x4ListViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64x2ListView(Float64x2List list) =
|
||||
_UnmodifiableFloat64x2ListViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat32ListView implements Float32List {
|
||||
@patch
|
||||
factory UnmodifiableFloat32ListView(Float32List list) =
|
||||
_UnmodifiableFloat32ListViewImpl;
|
||||
}
|
||||
|
||||
@patch
|
||||
abstract class UnmodifiableFloat64ListView implements Float64List {
|
||||
@patch
|
||||
factory UnmodifiableFloat64ListView(Float64List list) =
|
||||
_UnmodifiableFloat64ListViewImpl;
|
||||
}
|
||||
|
|
|
@ -18,8 +18,6 @@ import "dart:_internal" show Since, UnmodifiableListBase;
|
|||
@Since("2.10")
|
||||
export "dart:_internal" show BytesBuilder;
|
||||
|
||||
part "unmodifiable_typed_data.dart";
|
||||
|
||||
/// A sequence of bytes underlying a typed data object.
|
||||
///
|
||||
/// Used to process large quantities of binary or numerical data
|
||||
|
|
|
@ -4,7 +4,5 @@
|
|||
|
||||
typed_data_sdk_sources = [
|
||||
"typed_data.dart",
|
||||
|
||||
# The above file needs to be first if additional parts are added to the lib.
|
||||
"unmodifiable_typed_data.dart",
|
||||
]
|
||||
|
|
|
@ -1,150 +0,0 @@
|
|||
// Copyright (c) 2018, 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 dart.typed_data;
|
||||
|
||||
/// A read-only view of a [ByteBuffer].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteBufferView.
|
||||
@Deprecated('No replacement')
|
||||
abstract final class UnmodifiableByteBufferView implements ByteBuffer {
|
||||
external factory UnmodifiableByteBufferView(ByteBuffer data);
|
||||
}
|
||||
|
||||
/// A read-only view of a [ByteData].
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableByteDataView.
|
||||
@Deprecated('Use ByteData.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableByteDataView implements ByteData {
|
||||
external factory UnmodifiableByteDataView(ByteData data);
|
||||
}
|
||||
|
||||
/// View of a [Uint8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ListView.
|
||||
@Deprecated('Use Uint8List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableUint8ListView implements Uint8List {
|
||||
external factory UnmodifiableUint8ListView(Uint8List list);
|
||||
}
|
||||
|
||||
/// View of a [Int8List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt8ListView.
|
||||
@Deprecated('Use Int8List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableInt8ListView implements Int8List {
|
||||
external factory UnmodifiableInt8ListView(Int8List list);
|
||||
}
|
||||
|
||||
/// View of a [Uint8ClampedList] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint8ClampedListView.
|
||||
@Deprecated('Use Uint8ClampedList.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableUint8ClampedListView
|
||||
implements Uint8ClampedList {
|
||||
external factory UnmodifiableUint8ClampedListView(Uint8ClampedList list);
|
||||
}
|
||||
|
||||
/// View of a [Uint16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint16ListView.
|
||||
@Deprecated('Use Uint16List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableUint16ListView implements Uint16List {
|
||||
external factory UnmodifiableUint16ListView(Uint16List list);
|
||||
}
|
||||
|
||||
/// View of a [Int16List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt16ListView.
|
||||
@Deprecated('Use Int16List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableInt16ListView implements Int16List {
|
||||
external factory UnmodifiableInt16ListView(Int16List list);
|
||||
}
|
||||
|
||||
/// View of a [Uint32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint32ListView.
|
||||
@Deprecated('Use Uint32List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableUint32ListView implements Uint32List {
|
||||
external factory UnmodifiableUint32ListView(Uint32List list);
|
||||
}
|
||||
|
||||
/// View of a [Int32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32ListView.
|
||||
@Deprecated('Use Int32List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableInt32ListView implements Int32List {
|
||||
external factory UnmodifiableInt32ListView(Int32List list);
|
||||
}
|
||||
|
||||
/// View of a [Uint64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableUint64ListView.
|
||||
@Deprecated('Use Uint64List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableUint64ListView implements Uint64List {
|
||||
external factory UnmodifiableUint64ListView(Uint64List list);
|
||||
}
|
||||
|
||||
/// View of a [Int64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt64ListView.
|
||||
@Deprecated('Use Int64List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableInt64ListView implements Int64List {
|
||||
external factory UnmodifiableInt64ListView(Int64List list);
|
||||
}
|
||||
|
||||
/// View of a [Int32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableInt32x4ListView.
|
||||
@Deprecated('Use Int32x4List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableInt32x4ListView implements Int32x4List {
|
||||
external factory UnmodifiableInt32x4ListView(Int32x4List list);
|
||||
}
|
||||
|
||||
/// View of a [Float32x4List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32x4ListView.
|
||||
@Deprecated('Use Float32x4List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableFloat32x4ListView implements Float32x4List {
|
||||
external factory UnmodifiableFloat32x4ListView(Float32x4List list);
|
||||
}
|
||||
|
||||
/// View of a [Float64x2List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64x2ListView.
|
||||
@Deprecated('Use Float64x2List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableFloat64x2ListView implements Float64x2List {
|
||||
external factory UnmodifiableFloat64x2ListView(Float64x2List list);
|
||||
}
|
||||
|
||||
/// View of a [Float32List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat32ListView.
|
||||
@Deprecated('Use Float32List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableFloat32ListView implements Float32List {
|
||||
external factory UnmodifiableFloat32ListView(Float32List list);
|
||||
}
|
||||
|
||||
/// View of a [Float64List] that disallows modification.
|
||||
///
|
||||
/// It is a compile-time error for a class to attempt to extend or implement
|
||||
/// UnmodifiableFloat64ListView.
|
||||
@Deprecated('Use Float64List.asUnmodifiableView() instead')
|
||||
abstract final class UnmodifiableFloat64ListView implements Float64List {
|
||||
external factory UnmodifiableFloat64ListView(Float64List list);
|
||||
}
|
|
@ -43,7 +43,7 @@ testUint8() {
|
|||
writeUint8(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableUint8ListView(new Uint8List(kListSize));
|
||||
var unmodifiable = new Uint8List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUint8(unmodifiable);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ testInt8() {
|
|||
writeInt8(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableInt8ListView(new Int8List(kListSize));
|
||||
var unmodifiable = new Int8List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readInt8(unmodifiable);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ testUint16() {
|
|||
writeUint16(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableUint16ListView(new Uint16List(kListSize));
|
||||
var unmodifiable = new Uint16List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUint16(unmodifiable);
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ testInt16() {
|
|||
writeInt16(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableInt16ListView(new Int16List(kListSize));
|
||||
var unmodifiable = new Int16List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readInt16(unmodifiable);
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ testUint32() {
|
|||
writeUint32(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableUint32ListView(new Uint32List(kListSize));
|
||||
var unmodifiable = new Uint32List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUint32(unmodifiable);
|
||||
}
|
||||
|
@ -245,7 +245,7 @@ testInt32() {
|
|||
writeInt32(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableInt32ListView(new Int32List(kListSize));
|
||||
var unmodifiable = new Int32List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readInt32(unmodifiable);
|
||||
}
|
||||
|
@ -286,7 +286,7 @@ testUint64() {
|
|||
writeUint64(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableUint64ListView(new Uint64List(kListSize));
|
||||
var unmodifiable = new Uint64List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUint64(unmodifiable);
|
||||
}
|
||||
|
@ -326,7 +326,7 @@ testInt64() {
|
|||
writeInt64(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableInt64ListView(new Int64List(kListSize));
|
||||
var unmodifiable = new Int64List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readInt64(unmodifiable);
|
||||
}
|
||||
|
@ -367,8 +367,7 @@ testFloat32() {
|
|||
writeFloat32(view);
|
||||
}
|
||||
|
||||
var unmodifiable =
|
||||
new UnmodifiableFloat32ListView(new Float32List(kListSize));
|
||||
var unmodifiable = new Float32List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readFloat32(unmodifiable);
|
||||
}
|
||||
|
@ -409,8 +408,7 @@ testFloat64() {
|
|||
writeFloat64(view);
|
||||
}
|
||||
|
||||
var unmodifiable =
|
||||
new UnmodifiableFloat64ListView(new Float64List(kListSize));
|
||||
var unmodifiable = new Float64List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readFloat64(unmodifiable);
|
||||
}
|
||||
|
@ -454,8 +452,7 @@ testInt32x4() {
|
|||
writeInt32x4(view);
|
||||
}
|
||||
|
||||
var unmodifiable =
|
||||
new UnmodifiableInt32x4ListView(new Int32x4List(kListSize));
|
||||
var unmodifiable = new Int32x4List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readInt32x4(unmodifiable);
|
||||
}
|
||||
|
@ -499,8 +496,7 @@ testFloat32x4() {
|
|||
writeFloat32x4(view);
|
||||
}
|
||||
|
||||
var unmodifiable =
|
||||
new UnmodifiableFloat32x4ListView(new Float32x4List(kListSize));
|
||||
var unmodifiable = new Float32x4List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readFloat32x4(unmodifiable);
|
||||
}
|
||||
|
@ -542,8 +538,7 @@ testFloat64x2() {
|
|||
writeFloat64x2(view);
|
||||
}
|
||||
|
||||
var unmodifiable =
|
||||
new UnmodifiableFloat64x2ListView(new Float64x2List(kListSize));
|
||||
var unmodifiable = new Float64x2List(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readFloat64x2(unmodifiable);
|
||||
}
|
||||
|
@ -583,7 +578,7 @@ testByteData() {
|
|||
writeByteData(view);
|
||||
}
|
||||
|
||||
var unmodifiable = new UnmodifiableByteDataView(new ByteData(kListSize));
|
||||
var unmodifiable = new ByteData(kListSize).asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readByteData(unmodifiable);
|
||||
}
|
||||
|
|
|
@ -274,99 +274,3 @@ abstract class CIEndian implements Endian {}
|
|||
// [cfe] 'Endian' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnByteBufferView implements UnmodifiableByteBufferView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableByteBufferView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnByteDataView implements UnmodifiableByteDataView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableByteDataView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnInt8LV implements UnmodifiableInt8ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableInt8ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnUint8LV implements UnmodifiableUint8ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableUint8ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnUint8ClampedLV implements UnmodifiableUint8ClampedListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableUint8ClampedListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnInt16LV implements UnmodifiableInt16ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableInt16ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnUint16LV implements UnmodifiableUint16ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableUint16ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnInt32LV implements UnmodifiableInt32ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableInt32ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnUint32LV implements UnmodifiableUint32ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableUint32ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnInt64LV implements UnmodifiableInt64ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableInt64ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnUint64LV implements UnmodifiableUint64ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableUint64ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnFloat32LV implements UnmodifiableFloat32ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableFloat32ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnFloat64LV implements UnmodifiableFloat64ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableFloat64ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnInt32x4LV implements UnmodifiableInt32x4ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableInt32x4ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnFloat32x4LV implements UnmodifiableFloat32x4ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableFloat32x4ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
||||
abstract class CIUnFloat64x2LV implements UnmodifiableFloat64x2ListView {}
|
||||
// ^
|
||||
// [cfe] 'UnmodifiableFloat64x2ListView' is restricted and can't be extended or implemented.
|
||||
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
// [analyzer] COMPILE_TIME_ERROR.SUBTYPE_OF_DISALLOWED_TYPE
|
||||
|
|
|
@ -7,8 +7,7 @@
|
|||
|
||||
import 'dart:typed_data';
|
||||
import 'package:expect/expect.dart';
|
||||
|
||||
const bool supportsInt64 = bool.fromEnvironment('dart.isVM');
|
||||
import 'package:expect/variations.dart';
|
||||
|
||||
List<int> intList = <int>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
||||
|
||||
|
@ -48,129 +47,74 @@ checkIndirectUnmodifiable(TypedData data) {
|
|||
|
||||
int8ListTest() {
|
||||
Int8List i8l = new Int8List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableInt8ListView list = new UnmodifiableInt8ListView(i8l);
|
||||
Int8List list = i8l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Int8List list2 = i8l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
uint8ListTest() {
|
||||
Uint8List u8l = new Uint8List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableUint8ListView list = new UnmodifiableUint8ListView(u8l);
|
||||
Uint8List list = u8l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Uint8List list2 = u8l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
uint8ClampedListTest() {
|
||||
Uint8ClampedList u8l = new Uint8ClampedList.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableUint8ClampedListView list =
|
||||
new UnmodifiableUint8ClampedListView(u8l);
|
||||
Uint8ClampedList list = u8l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Uint8ClampedList list2 = u8l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
int16ListTest() {
|
||||
Int16List i16l = new Int16List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableInt16ListView list = new UnmodifiableInt16ListView(i16l);
|
||||
Int16List list = i16l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Int16List list2 = i16l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
uint16ListTest() {
|
||||
Uint16List u16l = new Uint16List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableUint16ListView list = new UnmodifiableUint16ListView(u16l);
|
||||
Uint16List list = u16l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Uint16List list2 = u16l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
int32ListTest() {
|
||||
Int32List i32l = new Int32List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableInt32ListView list = new UnmodifiableInt32ListView(i32l);
|
||||
Int32List list = i32l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Int32List list2 = i32l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
uint32ListTest() {
|
||||
Uint32List u32l = new Uint32List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableUint32ListView list = new UnmodifiableUint32ListView(u32l);
|
||||
Uint32List list = u32l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Uint32List list2 = u32l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
int64ListTest() {
|
||||
Int64List i64l = new Int64List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableInt64ListView list = new UnmodifiableInt64ListView(i64l);
|
||||
Int64List list = i64l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Int64List list2 = i64l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
uint64ListTest() {
|
||||
Uint64List u64l = new Uint64List.fromList(intList);
|
||||
// Deprecated:
|
||||
UnmodifiableUint64ListView list = new UnmodifiableUint64ListView(u64l);
|
||||
Uint64List list = u64l.asUnmodifiableView();
|
||||
checkReadable(list);
|
||||
checkUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Uint64List list2 = u64l.asUnmodifiableView();
|
||||
checkReadable(list2);
|
||||
checkUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
List<double> doubleList = <double>[1.0, 2.0, 3.0, 4.0, 5.0];
|
||||
|
@ -204,55 +148,23 @@ checkDoubleUnmodifiable(List<double> list) {
|
|||
|
||||
float32ListTest() {
|
||||
Float32List f32l = new Float32List.fromList(doubleList);
|
||||
// Deprecated:
|
||||
UnmodifiableFloat32ListView list = new UnmodifiableFloat32ListView(f32l);
|
||||
Float32List list = f32l.asUnmodifiableView();
|
||||
checkDoubleReadable(list);
|
||||
checkDoubleUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Float32List list2 = f32l.asUnmodifiableView();
|
||||
checkDoubleReadable(list2);
|
||||
checkDoubleUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
float64ListTest() {
|
||||
Float64List f64l = new Float64List.fromList(doubleList);
|
||||
// Deprecated:
|
||||
UnmodifiableFloat64ListView list = new UnmodifiableFloat64ListView(f64l);
|
||||
Float64List list = f64l.asUnmodifiableView();
|
||||
checkDoubleReadable(list);
|
||||
checkDoubleUnmodifiable(list);
|
||||
checkIndirectUnmodifiable(list);
|
||||
// Replacement:
|
||||
Float64List list2 = f64l.asUnmodifiableView();
|
||||
checkDoubleReadable(list2);
|
||||
checkDoubleUnmodifiable(list2);
|
||||
checkIndirectUnmodifiable(list2);
|
||||
}
|
||||
|
||||
byteDataTest() {
|
||||
ByteBuffer buffer = new Uint8List.fromList(intList).buffer;
|
||||
ByteData bd = new ByteData.view(buffer);
|
||||
// Deprecated:
|
||||
{
|
||||
UnmodifiableByteDataView ubdv = new UnmodifiableByteDataView(bd);
|
||||
|
||||
Expect.throwsUnsupportedError(() => ubdv.setInt8(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setUint8(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setInt16(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setUint16(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setInt32(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setUint32(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setInt64(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setUint64(0, 0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setFloat32(0, 0.0));
|
||||
Expect.throwsUnsupportedError(() => ubdv.setFloat64(0, 0.0));
|
||||
|
||||
checkIndirectUnmodifiable(ubdv);
|
||||
}
|
||||
|
||||
// Replacement:
|
||||
{
|
||||
ByteData ubdv = bd.asUnmodifiableView();
|
||||
|
||||
Expect.throwsUnsupportedError(() => ubdv.setInt8(0, 0));
|
||||
|
@ -267,7 +179,6 @@ byteDataTest() {
|
|||
Expect.throwsUnsupportedError(() => ubdv.setFloat64(0, 0.0));
|
||||
|
||||
checkIndirectUnmodifiable(ubdv);
|
||||
}
|
||||
}
|
||||
|
||||
main() {
|
||||
|
@ -278,7 +189,7 @@ main() {
|
|||
uint16ListTest();
|
||||
int32ListTest();
|
||||
uint32ListTest();
|
||||
if (supportsInt64) {
|
||||
if (!jsNumbers) {
|
||||
int64ListTest();
|
||||
uint64ListTest();
|
||||
}
|
||||
|
|
|
@ -60,14 +60,14 @@ void main() {
|
|||
readDynamic(view);
|
||||
}
|
||||
|
||||
var unmodifiableView1 = new UnmodifiableUint8ListView(array);
|
||||
var unmodifiableView1 = array.asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUnmodifiableView(unmodifiableView1);
|
||||
readPolymorphic(unmodifiableView1);
|
||||
readDynamic(unmodifiableView1);
|
||||
}
|
||||
|
||||
var unmodifiableView2 = new UnmodifiableUint8ListView(view);
|
||||
var unmodifiableView2 = view.asUnmodifiableView();
|
||||
for (var i = 0; i < kLoopSize; i++) {
|
||||
readUnmodifiableView(unmodifiableView2);
|
||||
readPolymorphic(unmodifiableView2);
|
||||
|
|
|
@ -16,8 +16,8 @@ void main() {
|
|||
}
|
||||
|
||||
class A {
|
||||
final UnmodifiableByteDataView bytes;
|
||||
A(ByteData bytes) : bytes = UnmodifiableByteDataView(bytes);
|
||||
final ByteData bytes;
|
||||
A(ByteData bytes) : bytes = bytes.asUnmodifiableView();
|
||||
|
||||
int getUint16() {
|
||||
return bytes.getUint16(0);
|
||||
|
|
Loading…
Reference in a new issue