| Index: Source/bindings/scripts/v8_types.py
|
| diff --git a/Source/bindings/scripts/v8_types.py b/Source/bindings/scripts/v8_types.py
|
| index b3de551a046925d0934b46b7fc82b22bae4b2bcc..46b005222f31cbda0999e237c8251aaa55bd2d2f 100644
|
| --- a/Source/bindings/scripts/v8_types.py
|
| +++ b/Source/bindings/scripts/v8_types.py
|
| @@ -723,7 +723,12 @@ def literal_cpp_value(idl_type, idl_literal):
|
| IdlType.literal_cpp_value = literal_cpp_value
|
|
|
|
|
| -def is_nullable_simple(idl_type):
|
| +################################################################################
|
| +# Utility properties for nullable types
|
| +################################################################################
|
| +
|
| +
|
| +def is_implicit_nullable(idl_type):
|
| # Nullable type where the corresponding C++ type supports a null value.
|
| # - String types (String/AtomicString) represent null as a null string,
|
| # i.e. one for which String::isNull() returns true.
|
| @@ -733,5 +738,13 @@ def is_nullable_simple(idl_type):
|
| (idl_type.is_string_type or idl_type.is_wrapper_type) and
|
| not idl_type.native_array_element_type)
|
|
|
| -IdlType.is_nullable_simple = property(is_nullable_simple)
|
| -IdlUnionType.is_nullable_simple = False
|
| +
|
| +def is_explicit_nullable(idl_type):
|
| + # Nullable type that isn't implicit nullable (see above.) For such types,
|
| + # we use Nullable<T> or similar explicit ways to represent a null value.
|
| + return idl_type.is_nullable and not idl_type.is_implicit_nullable
|
| +
|
| +IdlType.is_implicit_nullable = property(is_implicit_nullable)
|
| +IdlType.is_explicit_nullable = property(is_explicit_nullable)
|
| +IdlUnionType.is_implicit_nullable = False
|
| +IdlUnionType.is_explicit_nullable = property(is_explicit_nullable)
|
|
|