Shared code generation logic for buffa.
This crate takes protobuf descriptors (google.protobuf.FileDescriptorProto,
decoded from binary FileDescriptorSet data) and emits Rust source code
that uses the buffa runtime.
It is used by:
protoc-gen-buffa(protoc plugin)buffa-build(build.rs integration)
Architecture
The code generator is intentionally decoupled from how descriptors are
obtained. It receives fully-resolved FileDescriptorProtos and produces
Rust source strings. This means:
- It doesn't parse
.protofiles. - It doesn't invoke
protoc. - It doesn't do import resolution or name linking.
All of that is handled upstream (by protoc, buf, or a future parser).