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 ¶
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.