1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 14:47:46 +00:00

LibWeb: Add support for unsigned long long parameters

This commit is contained in:
Shannon Booth 2023-12-27 21:10:12 +13:00 committed by Andreas Kling
parent 9f5323e173
commit e54f272024

View file

@ -589,6 +589,31 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
scoped_generator.append(R"~~~(
else
@cpp_name@ = @parameter.optional_default_value@L;
)~~~");
}
} else if (parameter.type->name() == "unsigned long long") {
if (!optional || optional_default_value.has_value()) {
scoped_generator.append(R"~~~(
WebIDL::UnsignedLongLong @cpp_name@;
)~~~");
} else {
scoped_generator.append(R"~~~(
Optional<WebIDL::UnsignedLongLong> @cpp_name@;
)~~~");
}
if (optional) {
scoped_generator.append(R"~~~(
if (!@js_name@@js_suffix@.is_undefined())
)~~~");
}
// FIXME: pass through [EnforceRange] and [Clamp] extended attributes
scoped_generator.append(R"~~~(
@cpp_name@ = TRY(convert_to_int<WebIDL::UnsignedLongLong>(vm, @js_name@@js_suffix@));
)~~~");
if (optional_default_value.has_value()) {
scoped_generator.append(R"~~~(
else
@cpp_name@ = @parameter.optional_default_value@ULL;
)~~~");
}
} else if (parameter.type->name() == "Promise") {