Skip to content

Commit e54f272

Browse files
shannonboothawesomekling
authored andcommitted
LibWeb: Add support for unsigned long long parameters
1 parent 9f5323e commit e54f272

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,31 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
589589
scoped_generator.append(R"~~~(
590590
else
591591
@cpp_name@ = @parameter.optional_default_value@L;
592+
)~~~");
593+
}
594+
} else if (parameter.type->name() == "unsigned long long") {
595+
if (!optional || optional_default_value.has_value()) {
596+
scoped_generator.append(R"~~~(
597+
WebIDL::UnsignedLongLong @cpp_name@;
598+
)~~~");
599+
} else {
600+
scoped_generator.append(R"~~~(
601+
Optional<WebIDL::UnsignedLongLong> @cpp_name@;
602+
)~~~");
603+
}
604+
if (optional) {
605+
scoped_generator.append(R"~~~(
606+
if (!@js_name@@js_suffix@.is_undefined())
607+
)~~~");
608+
}
609+
// FIXME: pass through [EnforceRange] and [Clamp] extended attributes
610+
scoped_generator.append(R"~~~(
611+
@cpp_name@ = TRY(convert_to_int<WebIDL::UnsignedLongLong>(vm, @js_name@@js_suffix@));
612+
)~~~");
613+
if (optional_default_value.has_value()) {
614+
scoped_generator.append(R"~~~(
615+
else
616+
@cpp_name@ = @parameter.optional_default_value@ULL;
592617
)~~~");
593618
}
594619
} else if (parameter.type->name() == "Promise") {

0 commit comments

Comments
 (0)