Use 'super' in Uint8ClampedArray#__set

This commit is contained in:
dcodeIO
2018-04-24 00:42:17 +02:00
parent ddde13a648
commit 8465776a1d
5 changed files with 77 additions and 70 deletions

View File

@ -9,7 +9,7 @@ import {
export class Int8Array extends TypedArray<i8> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i8>();
subarray(begin: i32 = 0, end: i32 = this.length): Int8Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int8Array {
return changetype<Int8Array>(super.subarray(begin, end));
}
}
@ -17,7 +17,7 @@ export class Int8Array extends TypedArray<i8> {
export class Uint8Array extends TypedArray<u8> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u8>();
subarray(begin: i32 = 0, end: i32 = this.length): Uint8Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint8Array {
return changetype<Uint8Array>(super.subarray(begin, end));
}
}
@ -27,14 +27,10 @@ export class Uint8ClampedArray extends TypedArray<u8> {
@operator("[]=")
protected __set(index: i32, value: i32): void {
var byteOffset = this.byteOffset;
var elementLength = (this.byteLength - byteOffset) >>> alignof<u8>();
if (<u32>index >= <u32>elementLength) throw new Error("Index out of bounds");
var clampedValue = <u8>max(0, min(0xFF, value));
storeUnsafeWithOffset<u8>(this.buffer, index, clampedValue, byteOffset);
super.__set(index, <u8>max(0, min(0xFF, value)));
}
subarray(begin: i32 = 0, end: i32 = this.length): Uint8ClampedArray {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint8ClampedArray {
return changetype<Uint8ClampedArray>(super.subarray(begin, end));
}
}
@ -42,7 +38,7 @@ export class Uint8ClampedArray extends TypedArray<u8> {
export class Int16Array extends TypedArray<i16> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i16>();
subarray(begin: i32 = 0, end: i32 = this.length): Int16Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int16Array {
return changetype<Int16Array>(super.subarray(begin, end));
}
}
@ -50,7 +46,7 @@ export class Int16Array extends TypedArray<i16> {
export class Uint16Array extends TypedArray<u16> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u16>();
subarray(begin: i32 = 0, end: i32 = this.length): Uint16Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint16Array {
return changetype<Uint16Array>(super.subarray(begin, end));
}
}
@ -58,7 +54,7 @@ export class Uint16Array extends TypedArray<u16> {
export class Int32Array extends TypedArray<i32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i32>();
subarray(begin: i32 = 0, end: i32 = this.length): Int32Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int32Array {
return changetype<Int32Array>(super.subarray(begin, end));
}
}
@ -66,7 +62,7 @@ export class Int32Array extends TypedArray<i32> {
export class Uint32Array extends TypedArray<u32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u32>();
subarray(begin: i32 = 0, end: i32 = this.length): Uint32Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint32Array {
return changetype<Uint32Array>(super.subarray(begin, end));
}
}
@ -74,7 +70,7 @@ export class Uint32Array extends TypedArray<u32> {
export class Int64Array extends TypedArray<i64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<i64>();
subarray(begin: i32 = 0, end: i32 = this.length): Int64Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Int64Array {
return changetype<Int64Array>(super.subarray(begin, end));
}
}
@ -82,7 +78,7 @@ export class Int64Array extends TypedArray<i64> {
export class Uint64Array extends TypedArray<u64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<u64>();
subarray(begin: i32 = 0, end: i32 = this.length): Uint64Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Uint64Array {
return changetype<Uint64Array>(super.subarray(begin, end));
}
}
@ -90,7 +86,7 @@ export class Uint64Array extends TypedArray<u64> {
export class Float32Array extends TypedArray<f32> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<f32>();
subarray(begin: i32 = 0, end: i32 = this.length): Float32Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Float32Array {
return changetype<Float32Array>(super.subarray(begin, end));
}
}
@ -98,7 +94,7 @@ export class Float32Array extends TypedArray<f32> {
export class Float64Array extends TypedArray<f64> {
static readonly BYTES_PER_ELEMENT: usize = sizeof<f64>();
subarray(begin: i32 = 0, end: i32 = this.length): Float64Array {
subarray(begin: i32 = 0, end: i32 = 0x7fffffff): Float64Array {
return changetype<Float64Array>(super.subarray(begin, end));
}
}