1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:27:44 +00:00

IPCCompiler: Avoid copies for IPC method return values

Fixes #8017.
This commit is contained in:
Gunnar Beutner 2021-06-13 08:20:27 +02:00 committed by Andreas Kling
parent 33eea1f722
commit 1fd547bf0b

View file

@ -446,6 +446,7 @@ public:
parameter_generator.set("parameter.name", parameter.name); parameter_generator.set("parameter.name", parameter.name);
parameter_generator.append(R"~~~( parameter_generator.append(R"~~~(
const @parameter.type@& @parameter.name@() const { return m_@parameter.name@; } const @parameter.type@& @parameter.name@() const { return m_@parameter.name@; }
@parameter.type@ take_@parameter.name@() { return move(m_@parameter.name@); }
)~~~"); )~~~");
} }
@ -571,7 +572,7 @@ public:
} }
if (message.outputs.size() == 1) { if (message.outputs.size() == 1) {
message_generator.append("->"); message_generator.append("->take_");
message_generator.append(message.outputs[0].name); message_generator.append(message.outputs[0].name);
message_generator.append("()"); message_generator.append("()");
} else } else