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 (#10276)

This commit is contained in:
J. Nick Koston
2025-08-18 16:55:30 -04:00
committed by GitHub
parent 1f55486896
commit 761c6c6685
2 changed files with 141 additions and 141 deletions

File diff suppressed because it is too large Load Diff

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"