|
@@ -230,7 +230,7 @@ static DeprecatedString make_input_acceptable_cpp(DeprecatedString const& input)
|
|
|
|
|
|
static void generate_include_for_iterator(auto& generator, auto& iterator_path)
|
|
|
{
|
|
|
- auto iterator_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto iterator_generator = generator.fork();
|
|
|
iterator_generator.set("iterator_class.path", iterator_path);
|
|
|
// FIXME: These may or may not exist, because REASONS.
|
|
|
iterator_generator.append(R"~~~(
|
|
@@ -242,7 +242,7 @@ static void generate_include_for_iterator(auto& generator, auto& iterator_path)
|
|
|
|
|
|
static void generate_include_for(auto& generator, auto& path)
|
|
|
{
|
|
|
- auto forked_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto forked_generator = generator.fork();
|
|
|
auto path_string = path;
|
|
|
for (auto& search_path : s_header_search_paths) {
|
|
|
if (!path.starts_with(search_path))
|
|
@@ -396,7 +396,7 @@ static void generate_to_new_string(SourceGenerator& scoped_generator, ParameterT
|
|
|
template<typename ParameterType>
|
|
|
static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter, DeprecatedString const& js_name, DeprecatedString const& js_suffix, DeprecatedString const& cpp_name, IDL::Interface const& interface, bool legacy_null_to_empty_string = false, bool optional = false, Optional<DeprecatedString> optional_default_value = {}, bool variadic = false, size_t recursion_depth = 0)
|
|
|
{
|
|
|
- auto scoped_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto scoped_generator = generator.fork();
|
|
|
auto acceptable_cpp_name = make_input_acceptable_cpp(cpp_name);
|
|
|
scoped_generator.set("cpp_name", acceptable_cpp_name);
|
|
|
scoped_generator.set("js_name", js_name);
|
|
@@ -708,7 +708,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
}
|
|
|
}
|
|
|
} else if (interface.enumerations.contains(parameter.type->name())) {
|
|
|
- auto enum_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto enum_generator = scoped_generator.fork();
|
|
|
auto& enumeration = interface.enumerations.find(parameter.type->name())->value;
|
|
|
StringView enum_member_name;
|
|
|
if (optional_default_value.has_value()) {
|
|
@@ -769,7 +769,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
} else if (interface.dictionaries.contains(parameter.type->name())) {
|
|
|
if (optional_default_value.has_value() && optional_default_value != "{}")
|
|
|
TODO();
|
|
|
- auto dictionary_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto dictionary_generator = scoped_generator.fork();
|
|
|
dictionary_generator.append(R"~~~(
|
|
|
if (!@js_name@@js_suffix@.is_nullish() && !@js_name@@js_suffix@.is_object())
|
|
|
return vm.throw_completion<JS::TypeError>(JS::ErrorType::NotAnObjectOfType, "@parameter.type.name@");
|
|
@@ -834,7 +834,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
} else if (interface.callback_functions.contains(parameter.type->name())) {
|
|
|
// https://webidl.spec.whatwg.org/#es-callback-function
|
|
|
|
|
|
- auto callback_function_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto callback_function_generator = scoped_generator.fork();
|
|
|
auto& callback_function = interface.callback_functions.find(parameter.type->name())->value;
|
|
|
|
|
|
if (callback_function.return_type->is_object() && callback_function.return_type->name() == "Promise")
|
|
@@ -865,7 +865,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
} else if (parameter.type->name() == "sequence") {
|
|
|
// https://webidl.spec.whatwg.org/#es-sequence
|
|
|
|
|
|
- auto sequence_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto sequence_generator = scoped_generator.fork();
|
|
|
auto& parameterized_type = verify_cast<IDL::ParameterizedType>(*parameter.type);
|
|
|
sequence_generator.set("recursion_depth", DeprecatedString::number(recursion_depth));
|
|
|
|
|
@@ -930,7 +930,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
} else if (parameter.type->name() == "record") {
|
|
|
// https://webidl.spec.whatwg.org/#es-record
|
|
|
|
|
|
- auto record_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto record_generator = scoped_generator.fork();
|
|
|
auto& parameterized_type = verify_cast<IDL::ParameterizedType>(*parameter.type);
|
|
|
record_generator.set("recursion_depth", DeprecatedString::number(recursion_depth));
|
|
|
|
|
@@ -999,7 +999,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
} else if (is<IDL::UnionType>(*parameter.type)) {
|
|
|
// https://webidl.spec.whatwg.org/#es-union
|
|
|
|
|
|
- auto union_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto union_generator = scoped_generator.fork();
|
|
|
|
|
|
auto& union_type = verify_cast<IDL::UnionType>(*parameter.type);
|
|
|
union_generator.set("union_type", union_type_to_variant(union_type, interface));
|
|
@@ -1023,7 +1023,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
}
|
|
|
|
|
|
if (dictionary_type) {
|
|
|
- auto dictionary_generator = union_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto dictionary_generator = union_generator.fork();
|
|
|
dictionary_generator.set("dictionary.type", dictionary_type->name());
|
|
|
|
|
|
// The lambda must take the JS::Value to convert as a parameter instead of capturing it in order to support union types being variadic.
|
|
@@ -1121,7 +1121,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
if (!IDL::is_platform_object(type))
|
|
|
continue;
|
|
|
|
|
|
- auto union_platform_object_type_generator = union_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto union_platform_object_type_generator = union_generator.fork();
|
|
|
union_platform_object_type_generator.set("platform_object_type", type->name());
|
|
|
|
|
|
union_platform_object_type_generator.append(R"~~~(
|
|
@@ -1349,7 +1349,7 @@ static void generate_to_cpp(SourceGenerator& generator, ParameterType& parameter
|
|
|
// 3. Assert: Type(x) is Number.
|
|
|
// 4. Return the result of converting x to T.
|
|
|
|
|
|
- auto union_numeric_type_generator = union_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto union_numeric_type_generator = union_generator.fork();
|
|
|
auto cpp_type = IDL::idl_type_name_to_cpp_type(*numeric_type, interface);
|
|
|
union_numeric_type_generator.set("numeric_type", cpp_type.name);
|
|
|
|
|
@@ -1464,7 +1464,7 @@ static void generate_argument_count_check(SourceGenerator& generator, Deprecated
|
|
|
if (argument_count == 0)
|
|
|
return;
|
|
|
|
|
|
- auto argument_count_check_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto argument_count_check_generator = generator.fork();
|
|
|
argument_count_check_generator.set("function.name", function_name);
|
|
|
argument_count_check_generator.set("function.nargs", DeprecatedString::number(argument_count));
|
|
|
|
|
@@ -1484,7 +1484,7 @@ static void generate_argument_count_check(SourceGenerator& generator, Deprecated
|
|
|
|
|
|
static void generate_arguments(SourceGenerator& generator, Vector<IDL::Parameter> const& parameters, StringBuilder& arguments_builder, IDL::Interface const& interface)
|
|
|
{
|
|
|
- auto arguments_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto arguments_generator = generator.fork();
|
|
|
|
|
|
Vector<DeprecatedString> parameter_names;
|
|
|
size_t argument_index = 0;
|
|
@@ -1515,7 +1515,7 @@ static void generate_arguments(SourceGenerator& generator, Vector<IDL::Parameter
|
|
|
// https://webidl.spec.whatwg.org/#create-sequence-from-iterable
|
|
|
void IDL::ParameterizedType::generate_sequence_from_iterable(SourceGenerator& generator, DeprecatedString const& cpp_name, DeprecatedString const& iterable_cpp_name, DeprecatedString const& iterator_method_cpp_name, IDL::Interface const& interface, size_t recursion_depth) const
|
|
|
{
|
|
|
- auto sequence_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto sequence_generator = generator.fork();
|
|
|
sequence_generator.set("cpp_name", cpp_name);
|
|
|
sequence_generator.set("iterable_cpp_name", iterable_cpp_name);
|
|
|
sequence_generator.set("iterator_method_cpp_name", iterator_method_cpp_name);
|
|
@@ -1575,7 +1575,7 @@ enum class WrappingReference {
|
|
|
|
|
|
static void generate_wrap_statement(SourceGenerator& generator, DeprecatedString const& value, IDL::Type const& type, IDL::Interface const& interface, StringView result_expression, WrappingReference wrapping_reference = WrappingReference::No, size_t recursion_depth = 0)
|
|
|
{
|
|
|
- auto scoped_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto scoped_generator = generator.fork();
|
|
|
scoped_generator.set("value", value);
|
|
|
if (!libweb_interface_namespaces.span().contains_slow(type.name())) {
|
|
|
if (is_javascript_builtin(type))
|
|
@@ -1718,7 +1718,7 @@ static void generate_wrap_statement(SourceGenerator& generator, DeprecatedString
|
|
|
} else if (is<IDL::UnionType>(type)) {
|
|
|
auto& union_type = verify_cast<IDL::UnionType>(type);
|
|
|
auto union_types = union_type.flattened_member_types();
|
|
|
- auto union_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto union_generator = scoped_generator.fork();
|
|
|
|
|
|
union_generator.append(R"~~~(
|
|
|
@result_expression@ @value@.visit(
|
|
@@ -1795,7 +1795,7 @@ static void generate_wrap_statement(SourceGenerator& generator, DeprecatedString
|
|
|
}
|
|
|
} else if (interface.dictionaries.contains(type.name())) {
|
|
|
// https://webidl.spec.whatwg.org/#es-dictionary
|
|
|
- auto dictionary_generator = scoped_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto dictionary_generator = scoped_generator.fork();
|
|
|
|
|
|
dictionary_generator.append(R"~~~(
|
|
|
auto dictionary_object@recursion_depth@ = JS::Object::create(realm, realm.intrinsics().object_prototype());
|
|
@@ -1863,7 +1863,7 @@ static void generate_return_statement(SourceGenerator& generator, IDL::Type cons
|
|
|
|
|
|
static void generate_variable_statement(SourceGenerator& generator, DeprecatedString const& variable_name, IDL::Type const& value_type, DeprecatedString const& value_name, IDL::Interface const& interface)
|
|
|
{
|
|
|
- auto variable_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto variable_generator = generator.fork();
|
|
|
variable_generator.set("variable_name", variable_name);
|
|
|
variable_generator.append(R"~~~(
|
|
|
JS::Value @variable_name@;
|
|
@@ -1873,7 +1873,7 @@ static void generate_variable_statement(SourceGenerator& generator, DeprecatedSt
|
|
|
|
|
|
static void generate_function(SourceGenerator& generator, IDL::Function const& function, StaticFunction is_static_function, DeprecatedString const& class_name, DeprecatedString const& interface_fully_qualified_name, IDL::Interface const& interface)
|
|
|
{
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("class_name", class_name);
|
|
|
function_generator.set("interface_fully_qualified_name", interface_fully_qualified_name);
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
|
@@ -2128,7 +2128,7 @@ static DeprecatedString generate_constructor_for_idl_type(Type const& type)
|
|
|
|
|
|
static void generate_overload_arbiter(SourceGenerator& generator, auto const& overload_set, DeprecatedString const& class_name)
|
|
|
{
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("class_name", class_name);
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
|
|
@@ -2249,7 +2249,7 @@ static void generate_prototype_or_global_mixin_declarations(IDL::Interface const
|
|
|
SourceGenerator generator { builder };
|
|
|
|
|
|
for (auto const& overload_set : interface.overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@);
|
|
@@ -2265,14 +2265,14 @@ static void generate_prototype_or_global_mixin_declarations(IDL::Interface const
|
|
|
}
|
|
|
|
|
|
if (interface.has_stringifier) {
|
|
|
- auto stringifier_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto stringifier_generator = generator.fork();
|
|
|
stringifier_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(to_string);
|
|
|
)~~~");
|
|
|
}
|
|
|
|
|
|
if (interface.pair_iterator_types.has_value()) {
|
|
|
- auto iterator_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto iterator_generator = generator.fork();
|
|
|
iterator_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(entries);
|
|
|
JS_DECLARE_NATIVE_FUNCTION(for_each);
|
|
@@ -2282,7 +2282,7 @@ static void generate_prototype_or_global_mixin_declarations(IDL::Interface const
|
|
|
}
|
|
|
|
|
|
for (auto& attribute : interface.attributes) {
|
|
|
- auto attribute_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto attribute_generator = generator.fork();
|
|
|
attribute_generator.set("attribute.name:snakecase", attribute.name.to_snakecase());
|
|
|
attribute_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(@attribute.name:snakecase@_getter);
|
|
@@ -2304,7 +2304,7 @@ static void generate_prototype_or_global_mixin_declarations(IDL::Interface const
|
|
|
for (auto& it : interface.enumerations) {
|
|
|
if (!it.value.is_original_definition)
|
|
|
continue;
|
|
|
- auto enum_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto enum_generator = generator.fork();
|
|
|
enum_generator.set("enum.type.name", it.key);
|
|
|
enum_generator.append(R"~~~(
|
|
|
enum class @enum.type.name@ {
|
|
@@ -2420,7 +2420,7 @@ static void collect_attribute_values_of_an_inheritance_stack(SourceGenerator& fu
|
|
|
if (!attribute.type->is_json(interface_in_chain))
|
|
|
continue;
|
|
|
|
|
|
- auto attribute_generator = function_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto attribute_generator = function_generator.fork();
|
|
|
auto return_value_name = DeprecatedString::formatted("{}_retval", attribute.name.to_snakecase());
|
|
|
|
|
|
attribute_generator.set("attribute.name", attribute.name);
|
|
@@ -2468,7 +2468,7 @@ static void collect_attribute_values_of_an_inheritance_stack(SourceGenerator& fu
|
|
|
}
|
|
|
|
|
|
for (auto& constant : interface_in_chain.constants) {
|
|
|
- auto constant_generator = function_generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto constant_generator = function_generator.fork();
|
|
|
constant_generator.set("constant.name", constant.name);
|
|
|
|
|
|
generate_wrap_statement(constant_generator, constant.value, constant.type, interface_in_chain, DeprecatedString::formatted("auto constant_{}_value =", constant.name));
|
|
@@ -2485,7 +2485,7 @@ static void generate_default_to_json_function(SourceGenerator& generator, Deprec
|
|
|
{
|
|
|
// NOTE: This is done heavily out of order since the spec mixes parse time and run time type information together.
|
|
|
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("class_name", class_name);
|
|
|
|
|
|
// 4. Let result be OrdinaryObjectCreate(%Object.prototype%).
|
|
@@ -2582,7 +2582,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
|
|
|
// https://webidl.spec.whatwg.org/#es-attributes
|
|
|
for (auto& attribute : interface.attributes) {
|
|
|
- auto attribute_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto attribute_generator = generator.fork();
|
|
|
attribute_generator.set("attribute.name", attribute.name);
|
|
|
attribute_generator.set("attribute.getter_callback", attribute.getter_callback_name);
|
|
|
|
|
@@ -2606,7 +2606,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
for (auto& constant : interface.constants) {
|
|
|
// FIXME: Do constants need to be added to the unscopable list?
|
|
|
|
|
|
- auto constant_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto constant_generator = generator.fork();
|
|
|
constant_generator.set("constant.name", constant.name);
|
|
|
|
|
|
generate_wrap_statement(constant_generator, constant.value, constant.type, interface, DeprecatedString::formatted("auto constant_{}_value =", constant.name));
|
|
@@ -2618,7 +2618,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
|
|
|
// https://webidl.spec.whatwg.org/#es-operations
|
|
|
for (auto const& overload_set : interface.overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name", overload_set.key);
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.set("function.length", DeprecatedString::number(get_shortest_function_length(overload_set.value)));
|
|
@@ -2638,7 +2638,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
if (interface.has_stringifier) {
|
|
|
// FIXME: Do stringifiers need to be added to the unscopable list?
|
|
|
|
|
|
- auto stringifier_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto stringifier_generator = generator.fork();
|
|
|
stringifier_generator.append(R"~~~(
|
|
|
define_native_function(realm, "toString", to_string, 0, default_attributes);
|
|
|
)~~~");
|
|
@@ -2647,7 +2647,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
// https://webidl.spec.whatwg.org/#define-the-iteration-methods
|
|
|
// This applies to this if block and the following if block.
|
|
|
if (interface.indexed_property_getter.has_value()) {
|
|
|
- auto iterator_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto iterator_generator = generator.fork();
|
|
|
iterator_generator.append(R"~~~(
|
|
|
define_direct_property(vm.well_known_symbol_iterator(), realm.intrinsics().array_prototype()->get_without_side_effects(vm.names.values), JS::Attribute::Configurable | JS::Attribute::Writable);
|
|
|
)~~~");
|
|
@@ -2665,7 +2665,7 @@ void @class_name@::initialize(JS::Realm& realm)
|
|
|
if (interface.pair_iterator_types.has_value()) {
|
|
|
// FIXME: Do pair iterators need to be added to the unscopable list?
|
|
|
|
|
|
- auto iterator_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto iterator_generator = generator.fork();
|
|
|
iterator_generator.append(R"~~~(
|
|
|
define_native_function(realm, vm.names.entries, entries, 0, default_attributes);
|
|
|
define_native_function(realm, vm.names.forEach, for_each, 1, default_attributes);
|
|
@@ -2728,7 +2728,7 @@ static JS::ThrowCompletionOr<@fully_qualified_name@*> impl_from(JS::VM& vm)
|
|
|
}
|
|
|
|
|
|
for (auto& attribute : interface.attributes) {
|
|
|
- auto attribute_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto attribute_generator = generator.fork();
|
|
|
attribute_generator.set("attribute.name", attribute.name);
|
|
|
attribute_generator.set("attribute.getter_callback", attribute.getter_callback_name);
|
|
|
attribute_generator.set("attribute.setter_callback", attribute.setter_callback_name);
|
|
@@ -2950,7 +2950,7 @@ JS_DEFINE_NATIVE_FUNCTION(@class_name@::@attribute.setter_callback@)
|
|
|
}
|
|
|
|
|
|
if (interface.has_stringifier) {
|
|
|
- auto stringifier_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto stringifier_generator = generator.fork();
|
|
|
stringifier_generator.set("class_name", class_name);
|
|
|
if (interface.stringifier_attribute.has_value())
|
|
|
stringifier_generator.set("attribute.cpp_getter_name", interface.stringifier_attribute->to_snakecase());
|
|
@@ -2985,7 +2985,7 @@ JS_DEFINE_NATIVE_FUNCTION(@class_name@::to_string)
|
|
|
}
|
|
|
|
|
|
if (interface.pair_iterator_types.has_value()) {
|
|
|
- auto iterator_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto iterator_generator = generator.fork();
|
|
|
iterator_generator.append(R"~~~(
|
|
|
JS_DEFINE_NATIVE_FUNCTION(@class_name@::entries)
|
|
|
{
|
|
@@ -3064,7 +3064,7 @@ private:
|
|
|
}
|
|
|
|
|
|
for (auto const& overload_set : interface.overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@);
|
|
@@ -3162,7 +3162,7 @@ void @namespace_class@::initialize(JS::Realm& realm)
|
|
|
|
|
|
// https://webidl.spec.whatwg.org/#es-operations
|
|
|
for (auto const& overload_set : interface.overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name", overload_set.key);
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.set("function.length", DeprecatedString::number(get_shortest_function_length(overload_set.value)));
|
|
@@ -3227,7 +3227,7 @@ private:
|
|
|
)~~~");
|
|
|
|
|
|
for (auto const& overload_set : interface.static_overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.append(R"~~~(
|
|
|
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@);
|
|
@@ -3557,7 +3557,7 @@ void @constructor_class@::initialize(JS::Realm& realm)
|
|
|
)~~~");
|
|
|
|
|
|
for (auto& constant : interface.constants) {
|
|
|
- auto constant_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto constant_generator = generator.fork();
|
|
|
constant_generator.set("constant.name", constant.name);
|
|
|
|
|
|
generate_wrap_statement(constant_generator, constant.value, constant.type, interface, DeprecatedString::formatted("auto constant_{}_value =", constant.name));
|
|
@@ -3569,7 +3569,7 @@ void @constructor_class@::initialize(JS::Realm& realm)
|
|
|
|
|
|
// https://webidl.spec.whatwg.org/#es-operations
|
|
|
for (auto const& overload_set : interface.static_overload_sets) {
|
|
|
- auto function_generator = generator.fork().release_value_but_fixme_should_propagate_errors();
|
|
|
+ auto function_generator = generator.fork();
|
|
|
function_generator.set("function.name", overload_set.key);
|
|
|
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(overload_set.key.to_snakecase()));
|
|
|
function_generator.set("function.length", DeprecatedString::number(get_shortest_function_length(overload_set.value)));
|