12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- // Copyright 2019 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- package protoreflect
- // SourceLocations is a list of source locations.
- type SourceLocations interface {
- // Len reports the number of source locations in the proto file.
- Len() int
- // Get returns the ith SourceLocation. It panics if out of bounds.
- Get(int) SourceLocation
- doNotImplement
- // TODO: Add ByPath and ByDescriptor helper methods.
- }
- // SourceLocation describes a source location and
- // corresponds with the google.protobuf.SourceCodeInfo.Location message.
- type SourceLocation struct {
- // Path is the path to the declaration from the root file descriptor.
- // The contents of this slice must not be mutated.
- Path SourcePath
- // StartLine and StartColumn are the zero-indexed starting location
- // in the source file for the declaration.
- StartLine, StartColumn int
- // EndLine and EndColumn are the zero-indexed ending location
- // in the source file for the declaration.
- // In the descriptor.proto, the end line may be omitted if it is identical
- // to the start line. Here, it is always populated.
- EndLine, EndColumn int
- // LeadingDetachedComments are the leading detached comments
- // for the declaration. The contents of this slice must not be mutated.
- LeadingDetachedComments []string
- // LeadingComments is the leading attached comment for the declaration.
- LeadingComments string
- // TrailingComments is the trailing attached comment for the declaration.
- TrailingComments string
- }
- // SourcePath identifies a part of a file descriptor for a source location.
- // The SourcePath is a sequence of either field numbers or indexes into
- // a repeated field that form a path starting from the root file descriptor.
- //
- // See google.protobuf.SourceCodeInfo.Location.path.
- type SourcePath []int32
- // TODO: Add SourcePath.String method to pretty-print the path. For example:
- // ".message_type[6].nested_type[15].field[3]"
|