Use Int8array, int16array, uint16array, int32array & uint32array in WebIDL (#31164)

<!-- Please describe your changes on the following line: -->

part #31064

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because there is no behavior
changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->

<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->

There types are not used we can migrate them, in next PR I will make
`HeapFloat32Array` generic and convert ArrayBufferView, ArrayBuffer,
Uint8ClampedArray and Float64Array.

Signed-off-by: Bentaimia Haddadi <haddadi.taym@gmail.com>
This commit is contained in:
Taym Haddadi 2024-01-25 15:28:43 +01:00 committed by GitHub
parent 50f56affe3
commit bb04c97f15
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 23 additions and 8 deletions

View file

@ -120,8 +120,13 @@ builtinNames = {
IDLType.Tags.float: 'Finite<f32>',
IDLType.Tags.unrestricted_double: 'f64',
IDLType.Tags.double: 'Finite<f64>',
IDLType.Tags.int8array: 'Int8Array',
IDLType.Tags.uint8array: 'Uint8Array',
IDLType.Tags.int16array: 'Int16Array',
IDLType.Tags.uint16array: 'Uint16Array',
IDLType.Tags.int32array: 'Int32Array',
IDLType.Tags.uint32array: 'Uint32Array',
IDLType.Tags.float32array: 'Float32Array',
IDLType.Tags.uint8array: 'Uint8Array'
}
numericTags = [
@ -6502,8 +6507,13 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
'js::rust::define_properties',
'js::rust::get_object_class',
'js::typedarray',
'js::typedarray::Float32Array',
'js::typedarray::Int8Array',
'js::typedarray::Uint8Array',
'js::typedarray::Int16Array',
'js::typedarray::Uint16Array',
'js::typedarray::Int32Array',
'js::typedarray::Uint32Array',
'js::typedarray::Float32Array',
'crate::dom',
'crate::dom::bindings',
'crate::dom::bindings::codegen::InterfaceObjectMap',

View file

@ -2401,8 +2401,13 @@ class IDLType(IDLObject):
"object",
# Funny stuff
"interface",
"float32array",
"int8array",
"uint8array",
"int16array",
"uint16array",
"int32array",
"uint32array",
"float32array",
"dictionary",
"enum",
"callback",
@ -3635,13 +3640,13 @@ class IDLBuiltinType(IDLType):
Types.object: IDLType.Tags.object,
Types.ArrayBuffer: IDLType.Tags.interface,
Types.ArrayBufferView: IDLType.Tags.interface,
Types.Int8Array: IDLType.Tags.interface,
Types.Int8Array: IDLType.Tags.int8array,
Types.Uint8Array: IDLType.Tags.uint8array,
Types.Uint8ClampedArray: IDLType.Tags.interface,
Types.Int16Array: IDLType.Tags.interface,
Types.Uint16Array: IDLType.Tags.interface,
Types.Int32Array: IDLType.Tags.interface,
Types.Uint32Array: IDLType.Tags.interface,
Types.Int16Array: IDLType.Tags.int16array,
Types.Uint16Array: IDLType.Tags.uint16array,
Types.Int32Array: IDLType.Tags.int32array,
Types.Uint32Array: IDLType.Tags.uint32array,
Types.Float32Array: IDLType.Tags.float32array,
Types.Float64Array: IDLType.Tags.interface,
Types.ReadableStream: IDLType.Tags.interface,