mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 03:55:24 +00:00
LibWeb: Escape reserved names of generated wrapper functions
This also adds 'delete' to the list of reserved cpp names.
This commit is contained in:
parent
e946316618
commit
47e261c691
Notes:
sideshowbarker
2024-07-18 04:04:11 +09:00
Author: https://github.com/IdanHo Commit: https://github.com/SerenityOS/serenity/commit/47e261c691a Pull-request: https://github.com/SerenityOS/serenity/pull/10010
1 changed files with 7 additions and 7 deletions
|
@ -20,7 +20,7 @@
|
|||
|
||||
static String make_input_acceptable_cpp(String const& input)
|
||||
{
|
||||
if (input.is_one_of("class", "template", "for", "default", "char", "namespace")) {
|
||||
if (input.is_one_of("class", "template", "for", "default", "char", "namespace", "delete")) {
|
||||
StringBuilder builder;
|
||||
builder.append(input);
|
||||
builder.append('_');
|
||||
|
@ -866,13 +866,13 @@ static void generate_function(SourceGenerator& generator, IDL::Function const& f
|
|||
function_generator.set("class_name", class_name);
|
||||
function_generator.set("interface_fully_qualified_name", interface_fully_qualified_name);
|
||||
function_generator.set("function.name", function.name);
|
||||
function_generator.set("function.name:snakecase", function.name.to_snakecase());
|
||||
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
|
||||
if (function.extended_attributes.contains("ImplementedAs")) {
|
||||
auto implemented_as = function.extended_attributes.get("ImplementedAs").value();
|
||||
function_generator.set("function.cpp_name", implemented_as);
|
||||
} else {
|
||||
function_generator.set("function.cpp_name", function.name.to_snakecase());
|
||||
function_generator.set("function.cpp_name", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
}
|
||||
|
||||
function_generator.append(R"~~~(
|
||||
|
@ -1167,7 +1167,7 @@ private:
|
|||
|
||||
for (auto& function : interface.static_functions) {
|
||||
auto function_generator = generator.fork();
|
||||
function_generator.set("function.name:snakecase", function.name.to_snakecase());
|
||||
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
function_generator.append(R"~~~(
|
||||
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@);
|
||||
)~~~");
|
||||
|
@ -1320,7 +1320,7 @@ define_direct_property("@constant.name@", JS::Value((i32)@constant.value@), JS::
|
|||
for (auto& function : interface.static_functions) {
|
||||
auto function_generator = generator.fork();
|
||||
function_generator.set("function.name", function.name);
|
||||
function_generator.set("function.name:snakecase", function.name.to_snakecase());
|
||||
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
function_generator.set("function.length", String::number(function.length()));
|
||||
|
||||
function_generator.append(R"~~~(
|
||||
|
@ -1372,7 +1372,7 @@ private:
|
|||
|
||||
for (auto& function : interface.functions) {
|
||||
auto function_generator = generator.fork();
|
||||
function_generator.set("function.name:snakecase", function.name.to_snakecase());
|
||||
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
function_generator.append(R"~~~(
|
||||
JS_DECLARE_NATIVE_FUNCTION(@function.name:snakecase@);
|
||||
)~~~");
|
||||
|
@ -1557,7 +1557,7 @@ void @prototype_class@::initialize(JS::GlobalObject& global_object)
|
|||
for (auto& function : interface.functions) {
|
||||
auto function_generator = generator.fork();
|
||||
function_generator.set("function.name", function.name);
|
||||
function_generator.set("function.name:snakecase", function.name.to_snakecase());
|
||||
function_generator.set("function.name:snakecase", make_input_acceptable_cpp(function.name.to_snakecase()));
|
||||
function_generator.set("function.length", String::number(function.length()));
|
||||
|
||||
function_generator.append(R"~~~(
|
||||
|
|
Loading…
Add table
Reference in a new issue