Source File
source.go
Belonging Package
google.golang.org/protobuf/reflect/protoreflect
// 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 protoreflectimport ()// 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// ByPath returns the SourceLocation for the given path,// returning the first location if multiple exist for the same path.// If multiple locations exist for the same path,// then SourceLocation.Next index can be used to identify the// index of the next SourceLocation.// If no location exists for this path, it returns the zero value.ByPath(path SourcePath) SourceLocation// ByDescriptor returns the SourceLocation for the given descriptor,// returning the first location if multiple exist for the same path.// If no location exists for this descriptor, it returns the zero value.ByDescriptor(desc Descriptor) SourceLocationdoNotImplement}// 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// Next is an index into SourceLocations for the next source location that// has the same Path. It is zero if there is no next location.Next int}// SourcePath identifies 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// Equal reports whether p1 equals p2.func ( SourcePath) ( SourcePath) bool {if len() != len() {return false}for := range {if [] != [] {return false}}return true}// String formats the path in a humanly readable manner.// The output is guaranteed to be deterministic,// making it suitable for use as a key into a Go map.// It is not guaranteed to be stable as the exact output could change// in a future version of this module.//// Example output://// .message_type[6].nested_type[15].field[3]func ( SourcePath) () string {:= .appendFileDescriptorProto(nil)for , := range {= append(, '.')= strconv.AppendInt(, int64(), 10)}return string()}type appendFunc func(*SourcePath, []byte) []bytefunc ( *SourcePath) ( []byte, string, appendFunc) []byte {if len(*) == 0 {return}= append(, '.')= append(, ...)* = (*)[1:]if != nil {= (, )}return}func ( *SourcePath) ( []byte, string, appendFunc) []byte {= .appendSingularField(, , nil)if len(*) == 0 || (*)[0] < 0 {return}= append(, '[')= strconv.AppendUint(, uint64((*)[0]), 10)= append(, ']')* = (*)[1:]if != nil {= (, )}return}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)