mirror of
https://github.com/servo/servo.git
synced 2025-06-08 08:33:26 +00:00
Use helper is_typed_array
function
This commit is contained in:
parent
6beb32e28e
commit
c29fcb80f3
1 changed files with 11 additions and 5 deletions
|
@ -870,7 +870,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
||||||
|
|
||||||
return handleOptional(templateBody, declType, handleDefaultNull("None"))
|
return handleOptional(templateBody, declType, handleDefaultNull("None"))
|
||||||
|
|
||||||
if type.isTypedArray() or type.isArrayBuffer() or type.isArrayBufferView() or type.isSharedArrayBuffer():
|
if is_typed_array(type):
|
||||||
if failureCode is None:
|
if failureCode is None:
|
||||||
substitutions = {
|
substitutions = {
|
||||||
"sourceDescription": sourceDescription,
|
"sourceDescription": sourceDescription,
|
||||||
|
@ -4182,7 +4182,7 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
|
||||||
elif type.isObject():
|
elif type.isObject():
|
||||||
name = type.name
|
name = type.name
|
||||||
typeName = "Heap<*mut JSObject>"
|
typeName = "Heap<*mut JSObject>"
|
||||||
elif type.isTypedArray() or type.isArrayBuffer() or type.isArrayBufferView() or type.isSharedArrayBuffer():
|
elif is_typed_array(type):
|
||||||
name = type.name
|
name = type.name
|
||||||
typeName = "typedarray::Heap" + name
|
typeName = "typedarray::Heap" + name
|
||||||
else:
|
else:
|
||||||
|
@ -6468,7 +6468,7 @@ def type_needs_tracing(t):
|
||||||
if t.isUnion():
|
if t.isUnion():
|
||||||
return any(type_needs_tracing(member) for member in t.flatMemberTypes)
|
return any(type_needs_tracing(member) for member in t.flatMemberTypes)
|
||||||
|
|
||||||
if t.isTypedArray() or t.isArrayBuffer() or t.isArrayBufferView() or t.isSharedArrayBuffer():
|
if is_typed_array(t):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
@ -6491,6 +6491,12 @@ def type_needs_tracing(t):
|
||||||
assert False, (t, type(t))
|
assert False, (t, type(t))
|
||||||
|
|
||||||
|
|
||||||
|
def is_typed_array(t):
|
||||||
|
assert isinstance(t, IDLObject), (t, type(t))
|
||||||
|
|
||||||
|
return t.isTypedArray() or t.isArrayBuffer() or t.isArrayBufferView() or t.isSharedArrayBuffer()
|
||||||
|
|
||||||
|
|
||||||
def type_needs_auto_root(t):
|
def type_needs_auto_root(t):
|
||||||
"""
|
"""
|
||||||
Certain IDL types, such as `sequence<any>` or `sequence<object>` need to be
|
Certain IDL types, such as `sequence<any>` or `sequence<object>` need to be
|
||||||
|
@ -6501,8 +6507,8 @@ def type_needs_auto_root(t):
|
||||||
if t.isType():
|
if t.isType():
|
||||||
if t.isSequence() and (t.inner.isAny() or t.inner.isObject()):
|
if t.isSequence() and (t.inner.isAny() or t.inner.isObject()):
|
||||||
return True
|
return True
|
||||||
# SpiderMonkey interfaces
|
# SpiderMonkey interfaces, we currently don't support any other except typed arrays
|
||||||
if t.isTypedArray() or t.isArrayBuffer() or t.isArrayBufferView() or t.isSharedArrayBuffer():
|
if is_typed_array(t):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue