1
0
mirror of https://github.com/fluencelabs/assemblyscript synced 2025-07-24 18:52:10 +00:00

Add a TODO on Array#copyWithin

This commit is contained in:
dcode
2019-06-05 04:22:40 +02:00
parent 93c9a4afd9
commit b7ca4baf42
17 changed files with 93 additions and 86 deletions

@@ -35,6 +35,8 @@ export class Array<T> extends ArrayBufferView {
// length is modified in a way that a null value would exist. Otherwise, the compiler wouldn't be
// able to guarantee type-safety anymore. For lack of a better word, such an array is "holey".
// Also note that capacity, not length, indicates the actual retained contents.
private length_: i32;
static isArray<U>(value: U): bool {
@@ -244,6 +246,10 @@ export class Array<T> extends ArrayBufferView {
var last = end < 0 ? max(len + end, 0) : min(end, len);
var count = min(last - from, len - to);
if (isManaged<T>()) {
// TODO: retain/release + consider intersection, only releasing what's removed
ERROR("not implemented");
} else {
if (from < to && to < (from + count)) {
from += count - 1;
to += count - 1;
@@ -258,6 +264,7 @@ export class Array<T> extends ArrayBufferView {
<usize>count << alignof<T>()
);
}
}
return this;
}

@@ -64,7 +64,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -78,7 +78,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -105,7 +105,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -106,7 +106,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -120,7 +120,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -168,7 +168,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -2015,7 +2015,7 @@
if
i32.const 424
i32.const 376
i32.const 266
i32.const 273
i32.const 20
call $~lib/builtins/abort
unreachable

@@ -3782,7 +3782,7 @@
if
i32.const 424
i32.const 376
i32.const 266
i32.const 273
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -3824,7 +3824,7 @@
if
i32.const 472
i32.const 376
i32.const 56
i32.const 58
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -3855,7 +3855,7 @@
if
i32.const 472
i32.const 376
i32.const 56
i32.const 58
i32.const 20
call $~lib/builtins/abort
unreachable

@@ -26,7 +26,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -40,7 +40,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -63,7 +63,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -43,7 +43,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -57,7 +57,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -85,7 +85,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -134,7 +134,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -148,7 +148,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -374,7 +374,7 @@
if
i32.const 24
i32.const 136
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -388,7 +388,7 @@
if
i32.const 184
i32.const 136
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -47,7 +47,7 @@
if
i32.const 136
i32.const 192
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -68,7 +68,7 @@
if
i32.const 136
i32.const 192
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -70,7 +70,7 @@
if
i32.const 136
i32.const 192
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -102,7 +102,7 @@
if
i32.const 136
i32.const 192
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -2367,7 +2367,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -2521,7 +2521,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -2858,7 +2858,7 @@
if
i32.const 872
i32.const 488
i32.const 266
i32.const 273
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -2905,7 +2905,7 @@
call $~lib/rt/pure/__release
i32.const 272
i32.const 488
i32.const 213
i32.const 215
i32.const 59
call $~lib/builtins/abort
unreachable
@@ -3144,7 +3144,7 @@
if
i32.const 872
i32.const 488
i32.const 327
i32.const 334
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -3985,7 +3985,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -5397,7 +5397,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -5911,7 +5911,7 @@
if
i32.const 272
i32.const 488
i32.const 45
i32.const 47
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -6187,7 +6187,7 @@
call $~lib/rt/pure/__release
i32.const 4040
i32.const 488
i32.const 112
i32.const 114
i32.const 38
call $~lib/builtins/abort
unreachable
@@ -6443,7 +6443,7 @@
if
i32.const 4040
i32.const 488
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -6457,7 +6457,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -6636,7 +6636,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -4243,7 +4243,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -4448,7 +4448,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -4856,7 +4856,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -4877,7 +4877,7 @@
if
i32.const 872
i32.const 488
i32.const 266
i32.const 273
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -4933,7 +4933,7 @@
block
i32.const 272
i32.const 488
i32.const 213
i32.const 215
i32.const 59
call $~lib/builtins/abort
unreachable
@@ -5296,7 +5296,7 @@
if
i32.const 872
i32.const 488
i32.const 327
i32.const 334
i32.const 20
call $~lib/builtins/abort
unreachable
@@ -6337,7 +6337,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -8288,7 +8288,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -9390,7 +9390,7 @@
if
i32.const 272
i32.const 488
i32.const 45
i32.const 47
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -9669,7 +9669,7 @@
if
i32.const 272
i32.const 488
i32.const 45
i32.const 47
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -9739,7 +9739,7 @@
block
i32.const 4040
i32.const 488
i32.const 112
i32.const 114
i32.const 38
call $~lib/builtins/abort
unreachable
@@ -10033,7 +10033,7 @@
if
i32.const 4040
i32.const 488
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -10047,7 +10047,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -10161,7 +10161,7 @@
if
i32.const 272
i32.const 488
i32.const 45
i32.const 47
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -10246,7 +10246,7 @@
block
i32.const 4040
i32.const 488
i32.const 112
i32.const 114
i32.const 38
call $~lib/builtins/abort
unreachable
@@ -10534,7 +10534,7 @@
if
i32.const 4040
i32.const 488
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -10548,7 +10548,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -10853,7 +10853,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -11356,7 +11356,7 @@
if
i32.const 272
i32.const 488
i32.const 45
i32.const 47
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -11632,7 +11632,7 @@
block
i32.const 4040
i32.const 488
i32.const 112
i32.const 114
i32.const 38
call $~lib/builtins/abort
unreachable
@@ -11898,7 +11898,7 @@
if
i32.const 4040
i32.const 488
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -11912,7 +11912,7 @@
if
i32.const 176
i32.const 488
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -37,7 +37,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -624,7 +624,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -668,7 +668,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -712,7 +712,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -59,7 +59,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -1999,7 +1999,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -2067,7 +2067,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -2135,7 +2135,7 @@
if
i32.const 320
i32.const 376
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -4018,7 +4018,7 @@
if
i32.const 2296
i32.const 2248
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -4032,7 +4032,7 @@
if
i32.const 232
i32.const 2248
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -6331,7 +6331,7 @@
if
i32.const 2296
i32.const 2248
i32.const 97
i32.const 99
i32.const 45
call $~lib/builtins/abort
unreachable
@@ -6345,7 +6345,7 @@
if
i32.const 232
i32.const 2248
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -3354,7 +3354,7 @@
if
i32.const 336
i32.const 512
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -3605,7 +3605,7 @@
if
i32.const 336
i32.const 512
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable

@@ -5439,7 +5439,7 @@
if
i32.const 336
i32.const 512
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable
@@ -5766,7 +5766,7 @@
if
i32.const 336
i32.const 512
i32.const 100
i32.const 102
i32.const 61
call $~lib/builtins/abort
unreachable