From eadbfd11f213318ba9e9ab1c04c728e5d2c2679b Mon Sep 17 00:00:00 2001 From: Adam Lach Date: Thu, 28 Nov 2024 11:35:17 +0100 Subject: [PATCH 1/5] Add useful attributes to serialization functions --- messgen/cpp_generator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/messgen/cpp_generator.py b/messgen/cpp_generator.py index 80ef294..6e11bc7 100644 --- a/messgen/cpp_generator.py +++ b/messgen/cpp_generator.py @@ -328,7 +328,7 @@ def _generate_type_struct(self, type_name: str): code_ser.append("return _size;") code_ser = ["", - "size_t serialize(uint8_t *_buf) const {", + "size_t serialize([[maybe_unused]] uint8_t *_buf) const {", ] + _indent(code_ser) + [ "}"] code.extend(_indent(code_ser)) @@ -361,7 +361,7 @@ def _generate_type_struct(self, type_name: str): if self._get_mode() == "nostl": alloc = ", messgen::Allocator &_alloc" code_deser = ["", - "size_t deserialize(const uint8_t *_buf%s) {" % alloc, + "size_t deserialize([[maybe_unused]] const uint8_t *_buf%s) {" % alloc, ] + _indent(code_deser) + [ "}"] code.extend(_indent(code_deser)) @@ -386,7 +386,7 @@ def _generate_type_struct(self, type_name: str): code_ss.append("return _size;") code_ss = ["", - "size_t serialized_size() const {", + "[[nodiscard]] size_t serialized_size() const {", _indent("// %s" % ", ".join(fixed_fields)), _indent("size_t _size = %d;" % fixed_size), "", From 2826a17a594b92dc02092bc7c957f34377e43f5c Mon Sep 17 00:00:00 2001 From: Adam Lach Date: Thu, 28 Nov 2024 11:44:33 +0100 Subject: [PATCH 2/5] Avoid generating param name if unused --- messgen/cpp_generator.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/messgen/cpp_generator.py b/messgen/cpp_generator.py index 6e11bc7..af2772d 100644 --- a/messgen/cpp_generator.py +++ b/messgen/cpp_generator.py @@ -328,9 +328,11 @@ def _generate_type_struct(self, type_name: str): code_ser.append("return _size;") code_ser = ["", - "size_t serialize([[maybe_unused]] uint8_t *_buf) const {", + "size_t serialize(uint8_t *", + "_buf" if not is_empty else "", + ") const {", ] + _indent(code_ser) + [ - "}"] + "}"] code.extend(_indent(code_ser)) # Deserialize function @@ -361,9 +363,12 @@ def _generate_type_struct(self, type_name: str): if self._get_mode() == "nostl": alloc = ", messgen::Allocator &_alloc" code_deser = ["", - "size_t deserialize([[maybe_unused]] const uint8_t *_buf%s) {" % alloc, + "size_t deserialize(const uint8_t *", + "_buf" if not is_empty else "", + alloc, + ") {", ] + _indent(code_deser) + [ - "}"] + "}"] code.extend(_indent(code_deser)) # Size function From 98753adc77e5338d8e4d3140ed445957a21916d3 Mon Sep 17 00:00:00 2001 From: Adam Lach Date: Thu, 28 Nov 2024 11:49:33 +0100 Subject: [PATCH 3/5] Better formatting --- messgen/cpp_generator.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/messgen/cpp_generator.py b/messgen/cpp_generator.py index af2772d..2ce41aa 100644 --- a/messgen/cpp_generator.py +++ b/messgen/cpp_generator.py @@ -328,9 +328,7 @@ def _generate_type_struct(self, type_name: str): code_ser.append("return _size;") code_ser = ["", - "size_t serialize(uint8_t *", - "_buf" if not is_empty else "", - ") const {", + "size_t serialize(uint8_t *", "_buf" if not is_empty else "", ") const {", ] + _indent(code_ser) + [ "}"] code.extend(_indent(code_ser)) @@ -363,12 +361,9 @@ def _generate_type_struct(self, type_name: str): if self._get_mode() == "nostl": alloc = ", messgen::Allocator &_alloc" code_deser = ["", - "size_t deserialize(const uint8_t *", - "_buf" if not is_empty else "", - alloc, - ") {", + "size_t deserialize(const uint8_t *", "_buf" if not is_empty else "", alloc,") {", ] + _indent(code_deser) + [ - "}"] + "}"] code.extend(_indent(code_deser)) # Size function From 5b2d63ca63a9396303ce4e9d45e0c92864bc851c Mon Sep 17 00:00:00 2001 From: lachem Date: Thu, 28 Nov 2024 12:01:04 +0100 Subject: [PATCH 4/5] Ensure function signatures are one line --- messgen/cpp_generator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/messgen/cpp_generator.py b/messgen/cpp_generator.py index 2ce41aa..be0fd75 100644 --- a/messgen/cpp_generator.py +++ b/messgen/cpp_generator.py @@ -328,7 +328,7 @@ def _generate_type_struct(self, type_name: str): code_ser.append("return _size;") code_ser = ["", - "size_t serialize(uint8_t *", "_buf" if not is_empty else "", ") const {", + "size_t serialize(uint8_t *" + ("_buf" if not is_empty else "") + ") const {", ] + _indent(code_ser) + [ "}"] code.extend(_indent(code_ser)) @@ -361,7 +361,7 @@ def _generate_type_struct(self, type_name: str): if self._get_mode() == "nostl": alloc = ", messgen::Allocator &_alloc" code_deser = ["", - "size_t deserialize(const uint8_t *", "_buf" if not is_empty else "", alloc,") {", + "size_t deserialize(const uint8_t *" + ("_buf" if not is_empty else "") + alloc,") {", ] + _indent(code_deser) + [ "}"] code.extend(_indent(code_deser)) From eef30b07cc936b846f766eae850e706a534d7bef Mon Sep 17 00:00:00 2001 From: lachem Date: Thu, 28 Nov 2024 12:01:49 +0100 Subject: [PATCH 5/5] Update cpp_generator.py --- messgen/cpp_generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/messgen/cpp_generator.py b/messgen/cpp_generator.py index be0fd75..5bbfce3 100644 --- a/messgen/cpp_generator.py +++ b/messgen/cpp_generator.py @@ -361,7 +361,7 @@ def _generate_type_struct(self, type_name: str): if self._get_mode() == "nostl": alloc = ", messgen::Allocator &_alloc" code_deser = ["", - "size_t deserialize(const uint8_t *" + ("_buf" if not is_empty else "") + alloc,") {", + "size_t deserialize(const uint8_t *" + ("_buf" if not is_empty else "") + alloc + ") {", ] + _indent(code_deser) + [ "}"] code.extend(_indent(code_deser))