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 <clementjea...@gmail.com>
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 protobuf+unsubscr...@googlegroups.com.
> 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 protobuf+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/CADqAXr7%3DKVXPwXKM-ioit5Ws%2Bd0kXLPUK%2Bvw1pXVD0DPWWi3DQ%40mail.gmail.com.

Reply via email to