@@ -22,18 +22,28 @@ export class Int8Array extends ArrayBufferView {
22
22
return this . byteLength ;
23
23
}
24
24
25
- @operator ( "[]" ) // unchecked is built-in
25
+ @operator ( "[]" )
26
26
private __get ( index : i32 ) : i8 {
27
27
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
28
28
return load < i8 > ( this . dataStart + < usize > index ) ;
29
29
}
30
30
31
- @operator ( "[]=" ) // unchecked is built-in
31
+ @unsafe @operator ( "{}" )
32
+ private __uget ( index : i32 ) : i8 {
33
+ return load < i8 > ( this . dataStart + < usize > index ) ;
34
+ }
35
+
36
+ @operator ( "[]=" )
32
37
private __set ( index : i32 , value : native < i8 > ) : void {
33
38
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
34
39
store < i8 > ( this . dataStart + < usize > index , value ) ;
35
40
}
36
41
42
+ @unsafe @operator ( "{}=" )
43
+ private __uset ( index : i32 , value : native < i8 > ) : void {
44
+ store < i8 > ( this . dataStart + < usize > index , value ) ;
45
+ }
46
+
37
47
includes ( searchElement : i8 , fromIndex : i32 = 0 ) : bool {
38
48
return INCLUDES < Int8Array , i8 > ( this , searchElement , fromIndex ) ;
39
49
}
@@ -120,18 +130,28 @@ export class Uint8Array extends ArrayBufferView {
120
130
return this . byteLength ;
121
131
}
122
132
123
- @operator ( "[]" ) // unchecked is built-in
133
+ @operator ( "[]" )
124
134
private __get ( index : i32 ) : u8 {
125
135
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
126
136
return load < u8 > ( this . dataStart + < usize > index ) ;
127
137
}
128
138
129
- @operator ( "[]=" ) // unchecked is built-in
139
+ @unsafe @operator ( "{}" )
140
+ private __uget ( index : i32 ) : u8 {
141
+ return load < u8 > ( this . dataStart + < usize > index ) ;
142
+ }
143
+
144
+ @operator ( "[]=" )
130
145
private __set ( index : i32 , value : native < u8 > ) : void {
131
146
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
132
147
store < u8 > ( this . dataStart + < usize > index , value ) ;
133
148
}
134
149
150
+ @unsafe @operator ( "{}=" )
151
+ private __uset ( index : i32 , value : native < u8 > ) : void {
152
+ store < u8 > ( this . dataStart + < usize > index , value ) ;
153
+ }
154
+
135
155
includes ( searchElement : u8 , fromIndex : i32 = 0 ) : bool {
136
156
return INCLUDES < Uint8Array , u8 > ( this , searchElement , fromIndex ) ;
137
157
}
@@ -218,18 +238,28 @@ export class Uint8ClampedArray extends ArrayBufferView {
218
238
return this . byteLength ;
219
239
}
220
240
221
- @operator ( "[]" ) // unchecked is built-in
241
+ @operator ( "[]" )
222
242
private __get ( index : i32 ) : u8 {
223
243
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
224
244
return load < u8 > ( this . dataStart + < usize > index ) ;
225
245
}
226
246
227
- @operator ( "[]=" ) // unchecked is built-in
247
+ @unsafe @operator ( "{}" )
248
+ private __uget ( index : i32 ) : u8 {
249
+ return load < u8 > ( this . dataStart + < usize > index ) ;
250
+ }
251
+
252
+ @operator ( "[]=" )
228
253
private __set ( index : i32 , value : native < u8 > ) : void {
229
254
if ( < u32 > index >= < u32 > this . dataLength ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
230
255
store < u8 > ( this . dataStart + < usize > index , ~ ( < i32 > value >> 31 ) & ( ( ( 255 - value ) >> 31 ) | value ) ) ;
231
256
}
232
257
258
+ @unsafe @operator ( "{}=" )
259
+ private __uset ( index : i32 , value : native < u8 > ) : void {
260
+ store < u8 > ( this . dataStart + < usize > index , ~ ( < i32 > value >> 31 ) & ( ( ( 255 - value ) >> 31 ) | value ) ) ;
261
+ }
262
+
233
263
includes ( searchElement : u8 , fromIndex : i32 = 0 ) : bool {
234
264
return INCLUDES < Uint8ClampedArray , u8 > ( this , searchElement , fromIndex ) ;
235
265
}
@@ -316,18 +346,28 @@ export class Int16Array extends ArrayBufferView {
316
346
return this . byteLength >>> alignof < i16 > ( ) ;
317
347
}
318
348
319
- @operator ( "[]" ) // unchecked is built-in
349
+ @operator ( "[]" )
320
350
private __get ( index : i32 ) : i16 {
321
351
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i16 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
322
352
return load < i16 > ( this . dataStart + ( < usize > index << alignof < i16 > ( ) ) ) ;
323
353
}
324
354
325
- @operator ( "[]=" ) // unchecked is built-in
355
+ @unsafe @operator ( "{}" )
356
+ private __uget ( index : i32 ) : i16 {
357
+ return load < i16 > ( this . dataStart + ( < usize > index << alignof < i16 > ( ) ) ) ;
358
+ }
359
+
360
+ @operator ( "[]=" )
326
361
private __set ( index : i32 , value : native < i16 > ) : void {
327
362
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i16 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
328
363
store < i16 > ( this . dataStart + ( < usize > index << alignof < i16 > ( ) ) , value ) ;
329
364
}
330
365
366
+ @unsafe @operator ( "{}=" )
367
+ private __uset ( index : i32 , value : native < i16 > ) : void {
368
+ store < i16 > ( this . dataStart + ( < usize > index << alignof < i16 > ( ) ) , value ) ;
369
+ }
370
+
331
371
includes ( searchElement : i16 , fromIndex : i32 = 0 ) : bool {
332
372
return INCLUDES < Int16Array , i16 > ( this , searchElement , fromIndex ) ;
333
373
}
@@ -414,18 +454,28 @@ export class Uint16Array extends ArrayBufferView {
414
454
return this . byteLength >>> alignof < u16 > ( ) ;
415
455
}
416
456
417
- @operator ( "[]" ) // unchecked is built-in
457
+ @operator ( "[]" )
418
458
private __get ( index : i32 ) : u16 {
419
459
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u16 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
420
460
return load < u16 > ( this . dataStart + ( < usize > index << alignof < u16 > ( ) ) ) ;
421
461
}
422
462
423
- @operator ( "[]=" ) // unchecked is built-in
463
+ @unsafe @operator ( "{}" )
464
+ private __uget ( index : i32 ) : u16 {
465
+ return load < u16 > ( this . dataStart + ( < usize > index << alignof < u16 > ( ) ) ) ;
466
+ }
467
+
468
+ @operator ( "[]=" )
424
469
private __set ( index : i32 , value : native < u16 > ) : void {
425
470
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u16 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
426
471
store < u16 > ( this . dataStart + ( < usize > index << alignof < u16 > ( ) ) , value ) ;
427
472
}
428
473
474
+ @unsafe @operator ( "{}=" )
475
+ private __uset ( index : i32 , value : native < u16 > ) : void {
476
+ store < u16 > ( this . dataStart + ( < usize > index << alignof < u16 > ( ) ) , value ) ;
477
+ }
478
+
429
479
includes ( searchElement : u16 , fromIndex : i32 = 0 ) : bool {
430
480
return INCLUDES < Uint16Array , u16 > ( this , searchElement , fromIndex ) ;
431
481
}
@@ -512,18 +562,28 @@ export class Int32Array extends ArrayBufferView {
512
562
return this . byteLength >>> alignof < i32 > ( ) ;
513
563
}
514
564
515
- @operator ( "[]" ) // unchecked is built-in
565
+ @operator ( "[]" )
516
566
private __get ( index : i32 ) : i32 {
517
567
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
518
568
return load < i32 > ( this . dataStart + ( < usize > index << alignof < i32 > ( ) ) ) ;
519
569
}
520
570
521
- @operator ( "[]=" ) // unchecked is built-in
571
+ @unsafe @operator ( "{}" )
572
+ private __uget ( index : i32 ) : i32 {
573
+ return load < i32 > ( this . dataStart + ( < usize > index << alignof < i32 > ( ) ) ) ;
574
+ }
575
+
576
+ @operator ( "[]=" )
522
577
private __set ( index : i32 , value : i32 ) : void {
523
578
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
524
579
store < i32 > ( this . dataStart + ( < usize > index << alignof < i32 > ( ) ) , value ) ;
525
580
}
526
581
582
+ @unsafe @operator ( "{}=" )
583
+ private __uset ( index : i32 , value : i32 ) : void {
584
+ store < i32 > ( this . dataStart + ( < usize > index << alignof < i32 > ( ) ) , value ) ;
585
+ }
586
+
527
587
includes ( searchElement : i32 , fromIndex : i32 = 0 ) : bool {
528
588
return INCLUDES < Int32Array , i32 > ( this , searchElement , fromIndex ) ;
529
589
}
@@ -610,18 +670,28 @@ export class Uint32Array extends ArrayBufferView {
610
670
return this . byteLength >>> alignof < u32 > ( ) ;
611
671
}
612
672
613
- @operator ( "[]" ) // unchecked is built-in
673
+ @operator ( "[]" )
614
674
private __get ( index : i32 ) : u32 {
615
675
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
616
676
return load < u32 > ( this . dataStart + ( < usize > index << alignof < u32 > ( ) ) ) ;
617
677
}
618
678
619
- @operator ( "[]=" ) // unchecked is built-in
679
+ @unsafe @operator ( "{}" )
680
+ private __uget ( index : i32 ) : u32 {
681
+ return load < u32 > ( this . dataStart + ( < usize > index << alignof < u32 > ( ) ) ) ;
682
+ }
683
+
684
+ @operator ( "[]=" )
620
685
private __set ( index : i32 , value : u32 ) : void {
621
686
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
622
687
store < u32 > ( this . dataStart + ( < usize > index << alignof < u32 > ( ) ) , value ) ;
623
688
}
624
689
690
+ @unsafe @operator ( "{}=" )
691
+ private __uset ( index : i32 , value : u32 ) : void {
692
+ store < u32 > ( this . dataStart + ( < usize > index << alignof < u32 > ( ) ) , value ) ;
693
+ }
694
+
625
695
includes ( searchElement : u32 , fromIndex : i32 = 0 ) : bool {
626
696
return INCLUDES < Uint32Array , u32 > ( this , searchElement , fromIndex ) ;
627
697
}
@@ -708,18 +778,28 @@ export class Int64Array extends ArrayBufferView {
708
778
return this . byteLength >>> alignof < i64 > ( ) ;
709
779
}
710
780
711
- @operator ( "[]" ) // unchecked is built-in
781
+ @operator ( "[]" )
712
782
private __get ( index : i32 ) : i64 {
713
783
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
714
784
return load < i64 > ( this . dataStart + ( < usize > index << alignof < i64 > ( ) ) ) ;
715
785
}
716
786
717
- @operator ( "[]=" ) // unchecked is built-in
787
+ @unsafe @operator ( "{}" )
788
+ private __uget ( index : i32 ) : i64 {
789
+ return load < i64 > ( this . dataStart + ( < usize > index << alignof < i64 > ( ) ) ) ;
790
+ }
791
+
792
+ @operator ( "[]=" )
718
793
private __set ( index : i32 , value : i64 ) : void {
719
794
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < i64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
720
795
store < i64 > ( this . dataStart + ( < usize > index << alignof < i64 > ( ) ) , value ) ;
721
796
}
722
797
798
+ @unsafe @operator ( "{}=" )
799
+ private __uset ( index : i32 , value : i64 ) : void {
800
+ store < i64 > ( this . dataStart + ( < usize > index << alignof < i64 > ( ) ) , value ) ;
801
+ }
802
+
723
803
includes ( searchElement : i64 , fromIndex : i32 = 0 ) : bool {
724
804
return INCLUDES < Int64Array , i64 > ( this , searchElement , fromIndex ) ;
725
805
}
@@ -806,18 +886,28 @@ export class Uint64Array extends ArrayBufferView {
806
886
return this . byteLength >>> alignof < u64 > ( ) ;
807
887
}
808
888
809
- @operator ( "[]" ) // unchecked is built-in
889
+ @operator ( "[]" )
810
890
private __get ( index : i32 ) : u64 {
811
891
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
812
892
return load < u64 > ( this . dataStart + ( < usize > index << alignof < u64 > ( ) ) ) ;
813
893
}
814
894
815
- @operator ( "[]=" ) // unchecked is built-in
895
+ @unsafe @operator ( "{}" )
896
+ private __uget ( index : i32 ) : u64 {
897
+ return load < u64 > ( this . dataStart + ( < usize > index << alignof < u64 > ( ) ) ) ;
898
+ }
899
+
900
+ @operator ( "[]=" )
816
901
private __set ( index : i32 , value : u64 ) : void {
817
902
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < u64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
818
903
store < u64 > ( this . dataStart + ( < usize > index << alignof < u64 > ( ) ) , value ) ;
819
904
}
820
905
906
+ @unsafe @operator ( "{}=" )
907
+ private __uset ( index : i32 , value : u64 ) : void {
908
+ store < u64 > ( this . dataStart + ( < usize > index << alignof < u64 > ( ) ) , value ) ;
909
+ }
910
+
821
911
includes ( searchElement : u64 , fromIndex : i32 = 0 ) : bool {
822
912
return INCLUDES < Uint64Array , u64 > ( this , searchElement , fromIndex ) ;
823
913
}
@@ -904,18 +994,28 @@ export class Float32Array extends ArrayBufferView {
904
994
return this . byteLength >>> alignof < f32 > ( ) ;
905
995
}
906
996
907
- @operator ( "[]" ) // unchecked is built-in
997
+ @operator ( "[]" )
908
998
private __get ( index : i32 ) : f32 {
909
999
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < f32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
910
1000
return load < f32 > ( this . dataStart + ( < usize > index << alignof < f32 > ( ) ) ) ;
911
1001
}
912
1002
913
- @operator ( "[]=" ) // unchecked is built-in
1003
+ @unsafe @operator ( "{}" )
1004
+ private __uget ( index : i32 ) : f32 {
1005
+ return load < f32 > ( this . dataStart + ( < usize > index << alignof < f32 > ( ) ) ) ;
1006
+ }
1007
+
1008
+ @operator ( "[]=" )
914
1009
private __set ( index : i32 , value : f32 ) : void {
915
1010
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < f32 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
916
1011
store < f32 > ( this . dataStart + ( < usize > index << alignof < f32 > ( ) ) , value ) ;
917
1012
}
918
1013
1014
+ @unsafe @operator ( "{}=" )
1015
+ private __uset ( index : i32 , value : f32 ) : void {
1016
+ store < f32 > ( this . dataStart + ( < usize > index << alignof < f32 > ( ) ) , value ) ;
1017
+ }
1018
+
919
1019
includes ( searchElement : f32 , fromIndex : i32 = 0 ) : bool {
920
1020
return INCLUDES < Float32Array , f32 > ( this , searchElement , fromIndex ) ;
921
1021
}
@@ -1002,18 +1102,28 @@ export class Float64Array extends ArrayBufferView {
1002
1102
return this . byteLength >>> alignof < f64 > ( ) ;
1003
1103
}
1004
1104
1005
- @operator ( "[]" ) // unchecked is built-in
1105
+ @operator ( "[]" )
1006
1106
private __get ( index : i32 ) : f64 {
1007
1107
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < f64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
1008
1108
return load < f64 > ( this . dataStart + ( < usize > index << alignof < f64 > ( ) ) ) ;
1009
1109
}
1010
1110
1011
- @operator ( "[]=" ) // unchecked is built-in
1111
+ @unsafe @operator ( "{}" )
1112
+ private __uget ( index : i32 ) : f64 {
1113
+ return load < f64 > ( this . dataStart + ( < usize > index << alignof < f64 > ( ) ) ) ;
1114
+ }
1115
+
1116
+ @operator ( "[]=" )
1012
1117
private __set ( index : i32 , value : f64 ) : void {
1013
1118
if ( < u32 > index >= < u32 > this . dataLength >>> alignof < f64 > ( ) ) throw new RangeError ( E_INDEXOUTOFRANGE ) ;
1014
1119
store < f64 > ( this . dataStart + ( < usize > index << alignof < f64 > ( ) ) , value ) ;
1015
1120
}
1016
1121
1122
+ @unsafe @operator ( "{}=" )
1123
+ private __uset ( index : i32 , value : f64 ) : void {
1124
+ store < f64 > ( this . dataStart + ( < usize > index << alignof < f64 > ( ) ) , value ) ;
1125
+ }
1126
+
1017
1127
includes ( searchElement : f64 , fromIndex : i32 = 0 ) : bool {
1018
1128
return INCLUDES < Float64Array , f64 > ( this , searchElement , fromIndex ) ;
1019
1129
}
0 commit comments