pw_protobuf: Change PROTO_FIELD_PROPERTIES to a dict of classes
This doesn't need to map a proto field type to a list of MessageProperty
types; it can map to a single MessageProperty type.
This simplifies all consumers (removing a nested for loop) and improves
type checking.
Test: Ensure generated file is unmodified before/after this change:
out/protocol_buffer/gen/pw_i2c/protos.proto_library/pwpb/pw_i2c/i2c.pwpb.h
Change-Id: I88d6628b1a7190d6ea9ffd8aea0e2b98f0847ce4
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/168971
Reviewed-by: Alexei Frolov <frolv@google.com>
Commit-Queue: Jonathon Reinhart <jrreinhart@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.