Version: v0.0.0-...-b2c9dbe Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2016 License: BSD-3-Clause, MIT Imports: 9 Imported by: 0



Package ann is a generated protocol buffer package.

It is generated from these files:

It has these top-level messages:

Package ann defines types that represent source code annotations.



View Source
const (
	// Link is a type of annotation that refers to an arbitrary URL
	// (typically pointing to an external web page).
	Link = "link"


View Source
var (
	ErrInvalidLengthAnn = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAnn   = fmt.Errorf("proto: integer overflow")


This section is empty.


type Ann

type Ann struct {
	// Repo is the VCS repository in which this ann exists.
	Repo string `protobuf:"bytes,1,opt,name=Repo,proto3" json:"Repo,omitempty"`
	// CommitID is the ID of the VCS commit that this ann exists
	// in. The CommitID is always a full commit ID (40 hexadecimal
	// characters for git and hg), never a branch or tag name.
	CommitID string `protobuf:"bytes,2,opt,name=CommitID,proto3" json:"CommitID,omitempty"`
	// UnitType is the source unit type that the annotation exists
	// on. It is either the source unit type during whose processing
	// the annotation was detected/created. Multiple annotations may
	// exist on the same file from different source unit types if a
	// file is contained in multiple source units.
	UnitType string `protobuf:"bytes,3,opt,name=UnitType,proto3" json:"UnitType,omitempty"`
	// Unit is the name of the source unit that this ann exists in.
	Unit string `protobuf:"bytes,4,opt,name=Unit,proto3" json:"Unit,omitempty"`
	// File is the filename in which this Ann exists.
	File string `protobuf:"bytes,5,opt,name=File,proto3" json:"File,omitempty"`
	// StartLine is the line number (inclusive, 1-indexed) of the
	// beginning of the annotation.
	StartLine uint32 `protobuf:"varint,6,opt,name=StartLine,proto3" json:"StartLine"`
	// EndLine is the line number (inclusive, 1-indexed) of the end of
	// the annotation.
	EndLine uint32 `protobuf:"varint,7,opt,name=EndLine,proto3" json:"EndLine"`
	// Type is the type of the annotation. See this package's type
	// constants for a list of possible types.
	Type string `protobuf:"bytes,8,opt,name=Type,proto3" json:"Type"`
	// Data contains arbitrary JSON data that is specific to this
	// annotation type (e.g., the link URL for Link annotations).
	Data sourcegraph_com_sqs_pbtypes.RawMessage `protobuf:"bytes,9,opt,name=Data,proto3," json:"Data,omitempty"`

An Ann is a source code annotation.

Annotations are unique on (Repo, CommitID, UnitType, Unit, File, StartLine, EndLine, Type).

func (*Ann) LinkURL

func (a *Ann) LinkURL() (*url.URL, error)

LinkURL parses and returns a's link URL, if a's type is Link and if its Data contains a valid URL (encoded as a JSON string).

func (*Ann) Marshal

func (m *Ann) Marshal() (data []byte, err error)

func (*Ann) MarshalTo

func (m *Ann) MarshalTo(data []byte) (int, error)

func (*Ann) ProtoMessage

func (*Ann) ProtoMessage()

func (*Ann) Reset

func (m *Ann) Reset()

func (*Ann) SetLinkURL

func (a *Ann) SetLinkURL(urlStr string) error

SetLinkURL sets a's Type to Link and Data to the JSON representation of the URL string. If the URL is invalid, an error is returned.

func (*Ann) Size

func (m *Ann) Size() (n int)

func (*Ann) String

func (m *Ann) String() string

func (*Ann) Unmarshal

func (m *Ann) Unmarshal(data []byte) error

type Anns

type Anns []*Ann

func (Anns) Len

func (vs Anns) Len() int

func (Anns) Less

func (vs Anns) Less(i, j int) bool

func (Anns) Swap

func (vs Anns) Swap(i, j int)

type ErrType

type ErrType struct {
	Expected, Actual string // Expected and actual types
	Op               string // The name of the operation or method that was called

ErrType indicates that an operation performed on an annotation expected the annotation to be a different type (e.g., calling LinkURL on a non-link annotation).

func (*ErrType) Error

func (e *ErrType) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL