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 e9b650e9acdfc6cdd18842c133c4e4111908613b —
view raw patch
Parent(s):
a9036f1d
| File | Status | + | − |
|---|---|---|---|
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 |