1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-01 10:52:19 +01:00

[api] Mark protobuf message classes as final to enable compiler optimizations

This commit is contained in:
J. Nick Koston
2025-08-17 20:53:40 -05:00
parent daf8ec36ab
commit 37e36a3d1d
2 changed files with 141 additions and 141 deletions

View File

@@ -1952,7 +1952,7 @@ def build_message_type(
dump_impl += "}\n"
if base_class:
out = f"class {desc.name} : public {base_class} {{\n"
out = f"class {desc.name} final : public {base_class} {{\n"
else:
# Check if message has any non-deprecated fields
has_fields = any(not field.options.deprecated for field in desc.field)
@@ -1961,7 +1961,7 @@ def build_message_type(
base_class = "ProtoDecodableMessage"
else:
base_class = "ProtoMessage"
out = f"class {desc.name} : public {base_class} {{\n"
out = f"class {desc.name} final : public {base_class} {{\n"
out += " public:\n"
out += indent("\n".join(public_content)) + "\n"
out += "\n"