From f4cbafe9513018f58e0a0a783dd40550ef148cd7 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Mon, 11 Jul 2022 22:28:09 +0200 Subject: [PATCH] LibWeb/IDL: Add support for optional long long --- .../LibWeb/WrapperGenerator/IDLGenerators.cpp | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp index c45ff7a548..92a4fa0d31 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/WrapperGenerator/IDLGenerators.cpp @@ -518,6 +518,30 @@ 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 == "long long") { + if (!optional || optional_default_value.has_value()) { + scoped_generator.append(R"~~~( + i64 @cpp_name@; +)~~~"); + } else { + scoped_generator.append(R"~~~( + Optional @cpp_name@; +)~~~"); + } + if (optional) { + scoped_generator.append(R"~~~( + if (!@js_name@@js_suffix@.is_undefined()) +)~~~"); + } + scoped_generator.append(R"~~~( + @cpp_name@ = TRY(@js_name@@js_suffix@.to_bigint_int64(global_object)); +)~~~"); + if (optional_default_value.has_value()) { + scoped_generator.append(R"~~~( + else + @cpp_name@ = @parameter.optional_default_value@L; )~~~"); } } else if (parameter.type->name == "Promise") {