Index: Source/bindings/scripts/v8_interface.py |
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py |
index 4259ea804744c302754181cbb455893fe603a9ad..76dd4b3bd0e130f545cbc7e7851f0aa1bf9194c3 100644 |
--- a/Source/bindings/scripts/v8_interface.py |
+++ b/Source/bindings/scripts/v8_interface.py |
@@ -999,6 +999,14 @@ def resolution_tests_methods(effective_overloads): |
except StopIteration: |
pass |
+ # Special case SmallTypedArray, as this is a ArrayBufferView with special |
+ # properties that would otherwise be covered by 4. |
+ for idl_type, method in ((idl_type, method) |
+ for idl_type, method in idl_types_methods |
+ if idl_type.name == 'SmallTypedArray'): |
+ test = 'V8ArrayBufferView::hasInstance({cpp_value}, info.GetIsolate()) && !v8::ArrayBufferView::Cast(*{cpp_value})->HasBuffer()'.format(idl_type=idl_type.base_type, cpp_value=cpp_value) |
+ yield test, method |
+ |
# 4. Otherwise: if V is a platform object – but not a platform array |
# object – and there is an entry in S that has one of the following |
# types at position i of its type list, |