1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 02:17:34 +00:00

LibWeb: Use Optional<String> more in WrapperGenerator

This commit is contained in:
Andreas Kling 2021-06-15 13:37:49 +02:00
parent 2052796947
commit bbf653c425

View file

@ -90,7 +90,7 @@ struct Parameter {
Type type; Type type;
String name; String name;
bool optional { false }; bool optional { false };
String optional_default_value {}; Optional<String> optional_default_value;
HashMap<String, String> extended_attributes; HashMap<String, String> extended_attributes;
}; };
@ -508,7 +508,7 @@ static bool is_wrappable_type(const IDL::Type& type)
} }
template<typename ParameterType> template<typename ParameterType>
static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter, const String& js_name, const String& js_suffix, const String& cpp_name, bool return_void = false, bool legacy_null_to_empty_string = false, bool optional = false, String optional_default_value = {}) static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter, const String& js_name, const String& js_suffix, const String& cpp_name, bool return_void = false, bool legacy_null_to_empty_string = false, bool optional = false, Optional<String> optional_default_value = {})
{ {
auto scoped_generator = generator.fork(); auto scoped_generator = generator.fork();
scoped_generator.set("cpp_name", make_input_acceptable_cpp(cpp_name)); scoped_generator.set("cpp_name", make_input_acceptable_cpp(cpp_name));
@ -517,8 +517,8 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
scoped_generator.set("legacy_null_to_empty_string", legacy_null_to_empty_string ? "true" : "false"); scoped_generator.set("legacy_null_to_empty_string", legacy_null_to_empty_string ? "true" : "false");
scoped_generator.set("parameter.type.name", parameter.type.name); scoped_generator.set("parameter.type.name", parameter.type.name);
if (!optional_default_value.is_null()) if (optional_default_value.has_value())
scoped_generator.set("parameter.optional_default_value", optional_default_value); scoped_generator.set("parameter.optional_default_value", *optional_default_value);
if (return_void) if (return_void)
scoped_generator.set("return_statement", "return;"); scoped_generator.set("return_statement", "return;");
@ -541,7 +541,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
if (vm.exception()) if (vm.exception())
@return_statement@ @return_statement@
})~~~"); })~~~");
if (!optional_default_value.is_null()) { if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~( else { scoped_generator.append(R"~~~( else {
@cpp_name@ = @parameter.optional_default_value@; @cpp_name@ = @parameter.optional_default_value@;
} }
@ -593,7 +593,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
@return_statement@ @return_statement@
)~~~"); )~~~");
} else { } else {
if (!optional_default_value.is_null()) { if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~( scoped_generator.append(R"~~~(
double @cpp_name@; double @cpp_name@;
)~~~"); )~~~");
@ -609,7 +609,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
@return_statement@ @return_statement@
} }
)~~~"); )~~~");
if (!optional_default_value.is_null()) { if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~( scoped_generator.append(R"~~~(
else else
@cpp_name@ = @parameter.optional_default_value@; @cpp_name@ = @parameter.optional_default_value@;
@ -625,7 +625,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
bool @cpp_name@ = @js_name@@js_suffix@.to_boolean(); bool @cpp_name@ = @js_name@@js_suffix@.to_boolean();
)~~~"); )~~~");
} else { } else {
if (!optional_default_value.is_null()) { if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~( scoped_generator.append(R"~~~(
bool @cpp_name@; bool @cpp_name@;
)~~~"); )~~~");
@ -637,7 +637,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
scoped_generator.append(R"~~~( scoped_generator.append(R"~~~(
if (!@js_name@@js_suffix@.is_undefined()) if (!@js_name@@js_suffix@.is_undefined())
@cpp_name@ = @js_name@@js_suffix@.to_boolean();)~~~"); @cpp_name@ = @js_name@@js_suffix@.to_boolean();)~~~");
if (!optional_default_value.is_null()) { if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~( scoped_generator.append(R"~~~(
else else
@cpp_name@ = @parameter.optional_default_value@; @cpp_name@ = @parameter.optional_default_value@;