From a7f2d46b4926987effbdb9a067b13a1ff476c37f Mon Sep 17 00:00:00 2001 From: Idan Horowitz Date: Sat, 2 Apr 2022 00:42:15 +0300 Subject: [PATCH] LibWeb: Support integral default values for IDL unions --- .../CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp index 4c5c8d4989..9de6d960ac 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp @@ -1145,6 +1145,10 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter VERIFY(dictionary_type); union_generator.append(R"~~~( @union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? TRY(@js_name@@js_suffix@_to_dictionary(@js_name@@js_suffix@)) : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@)); +)~~~"); + } else if (optional_default_value->to_int().has_value() || optional_default_value->to_uint().has_value()) { + union_generator.append(R"~~~( + @union_type@ @cpp_name@ = @js_name@@js_suffix@.is_undefined() ? @parameter.optional_default_value@ : TRY(@js_name@@js_suffix@_to_variant(@js_name@@js_suffix@)); )~~~"); } else { TODO();