ann

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 11, 2015 License: BSD-3-Clause, MIT, MIT Imports: 8 Imported by: 0

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

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

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) (n int, err 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
y or Y : Canonical URL