~bigbes/tarantool-protobuf: e9b650e9

text,codec: proto2 group text syntax + closed-enum semantics

Text decoder now resolves a group field reference by the group's
capitalized submessage name (e.g. \`Data\`, \`MultiWordGroupField\`)
and by the ASCII-lowercase fold (\`data\`, \`multiwordgroupfield\`),
in addition to the existing lowercase field-name lookup. The \`:\`
between field and \`{\` is optional for groups (matches the
message/map rule).

Proto2 enums are closed: parse_enum_value now rejects an integer
literal that doesn't map to any declared value. The plugin emits
\`closed = true\` on every proto2 enum descriptor (driven by
protoreflect's IsClosed()); proto3 enums stay open to preserve
forward-compatibility on the wire.

Conformance text-format suite: 16 unexpected failures → 3, all in
the remaining extension-bracketed-group cases.

Eugene Blikh <bigbes@gmail.com> — 2026-05-17 05:57:15 UTC

Commit e9b650e9acdfc6cdd18842c133c4e4111908613bview raw patch

Parent(s): a9036f1d

6 changed file(s)

FileStatus+
cmd/protoc-gen-tarantool/internal/gen/gen.go M +6
examples/expected/full/proto2_basic/proto2_basic_pb.lua M +1
examples/expected/full/protobuf_test_messages/proto2/test_messages_proto2_pb.lua M +4
examples/expected/runtime/proto2_basic/proto2_basic_pb.lua M +1
examples/expected/runtime/protobuf_test_messages/proto2/test_messages_proto2_pb.lua M +4
runtime/pb/text.lua M +30 -5