1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:37:45 +00:00

LibWeb: Support integral default values for IDL unions

This commit is contained in:
Idan Horowitz 2022-04-02 00:42:15 +03:00
parent 32d142b06c
commit a7f2d46b49

View file

@ -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();