I'm not sure what's going wrong, but I agree with you that those spans in red don't look right. This might be a bug in the code that generates the source code info.
On Mon, May 22, 2023 at 7:54 PM Clément Jean <[email protected]> wrote: > Also to be complete, I use the following command to turn the proto file > into a desc file: > > protoc --include_source_info --descriptor_set_out=test.desc enum.proto > > and then to have a human readable format, I run: > > cat test.desc | protoc --decode=google.protobuf.FileDescriptorSet > -I/usr/local/include/google/protobuf > /usr/local/include/google/protobuf/descriptor.proto > > finally, protoc --version returns: > > libprotoc 23.1 > On Tuesday, May 23, 2023 at 8:59:21 AM UTC+8 Clément Jean wrote: > >> I'm working a parser for Protobuf and recently I am working with >> SourceLocationInfo. >> I've been noticing something weird when using options. However, I'm not >> sure if my understanding is not complete or if its a bug. >> >> I have the following enum: >> >> enum Test { >> option deprecated = true; >> >> TEST_UNSPECIFIED = 0; >> } >> >> And I get the following FileDescriptorSet (simplified): >> >> file { >> ... >> source_code_info { >> location { >> span: 0 >> span: 0 >> span: 4 >> span: 1 >> } >> location { >> path: 5 >> path: 0 >> span: 0 >> span: 0 >> span: 4 >> span: 1 >> } >> location { >> path: 5 >> path: 0 >> path: 1 >> span: 0 >> span: 5 >> span: 9 >> } >> location { >> path: 5 >> path: 0 >> path: 3 >> span: 1 >> span: 8 >> span: 33 >> } >> location { >> path: 5 >> path: 0 >> path: 3 >> path: 3 >> span: 1 >> span: 8 >> span: 33 >> } >> location { >> path: 5 >> path: 0 >> path: 2 >> path: 0 >> span: 3 >> span: 8 >> span: 29 >> } >> location { >> path: 5 >> path: 0 >> path: 2 >> path: 0 >> path: 1 >> span: 3 >> span: 8 >> span: 24 >> } >> location { >> path: 5 >> path: 0 >> path: 2 >> path: 0 >> path: 2 >> span: 3 >> span: 27 >> span: 28 >> } >> } >> } >> >> I'm confused by the ones I wrote in red. These doesn't seem to be correct. >> An example is span: 1 span: 8 span: 33. To the best of my knowledge, >> this means >> that we have an element at line 1 (2 in an IDE) column 8 (9 in IDE) that >> finishes on the same line (third span omitted) and at column 33. However, >> the option line is only 27 characters long... >> >> Is my mental model about SourceCodeInfo wrong? Or is it a bug? >> > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/protobuf/a2ce2413-325d-4609-9150-804baa16d177n%40googlegroups.com > <https://groups.google.com/d/msgid/protobuf/a2ce2413-325d-4609-9150-804baa16d177n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CADqAXr7%3DKVXPwXKM-ioit5Ws%2Bd0kXLPUK%2Bvw1pXVD0DPWWi3DQ%40mail.gmail.com.
