Documentation
¶
Overview ¶
Package ann is a generated protocol buffer package. It is generated from these files: ann.proto It has these top-level messages: Ann
Package ann defines types that represent source code annotations.
Index ¶
- Constants
- type Ann
- func (a *Ann) LinkURL() (*url.URL, error)
- func (m *Ann) Marshal() (data []byte, err error)
- func (m *Ann) MarshalTo(data []byte) (n int, err error)
- func (*Ann) ProtoMessage()
- func (m *Ann) Reset()
- func (a *Ann) SetLinkURL(urlStr string) error
- func (m *Ann) Size() (n int)
- func (m *Ann) String() string
- func (m *Ann) Unmarshal(data []byte) error
- type Anns
- type ErrType
Constants ¶
View Source
const ( // Link is a type of annotation that refers to an arbitrary URL // (typically pointing to an external web page). Link = "link" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ann ¶
type Ann struct {
// Repo is the VCS repository in which this ann exists.
Repo string `protobuf:"bytes,1,opt,name=repo" 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=commit_id" 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=unit_type" json:"UnitType,omitempty"`
// Unit is the name of the source unit that this ann exists in.
Unit string `protobuf:"bytes,4,opt,name=unit" json:"Unit,omitempty"`
// File is the filename in which this Ann exists.
File string `protobuf:"bytes,5,opt,name=file" json:"File,omitempty"`
// Start is the byte offset of this ann's first byte in File.
Start uint32 `protobuf:"varint,6,opt,name=start" json:"Start"`
// End is the byte offset of this ann's last byte in File.
End uint32 `protobuf:"varint,7,opt,name=end" json:"End"`
// 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" json:"Type"`
// Data contains arbitrary JSON data that is specific to this
// annotation type (e.g., the link URL for Link annotations).
Data json.RawMessage `protobuf:"bytes,9,opt,name=data" json:"Data,omitempty"`
}
An Ann is a source code annotation.
Annotations are unique on (Repo, CommitID, UnitType, Unit, File, Start, End, Type).
func (*Ann) LinkURL ¶
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) ProtoMessage ¶ added in v0.0.33
func (*Ann) ProtoMessage()
func (*Ann) SetLinkURL ¶
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.
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).
Click to show internal directories.
Click to hide internal directories.