Hello,

I'm currently writing an Elixir implementation of protobuf 
(https://github.com/ahamez/protox).
Rather than rolling out my own parser, I use protoc to output a 
FileDescriptorSet, described in descriptor.proto.
It's very nice to not have to write a custom parser!

There are two cases in descriptor.proto for the message 
FieldDescriptorProto that I never encountered, even though they are 
documented,.
Thus I wonder if these cases happen with old versions of protoc? Or maybe 
it's possible to trigger them with very particular proto files?

1. 
https://github.com/google/protobuf/blob/master/src/google/protobuf/descriptor.proto#L166
// If type_name is set, this need not be set. If both this and type_name
// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
optional Type type = 5;

-> I never encountered  the case where only type_name is set.

2. 
https://github.com/google/protobuf/blob/master/src/google/protobuf/descriptor.proto#L170
// For message and enum types, this is the name of the type. If the name
// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
// rules are used to find the type (i.e. first the nested types within this
// message are searched, then within the parent, on up to the root
// namespace).
optional string type_name = 6;

-> I never encountered a not fully qualified name.

So, are these both cases relevant today or do I need to support these?

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to