bufanalysis

package
v0.20.5 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// AllFormatStrings is all format strings without aliases.
	//
	// Sorted in the order we want to display them.
	AllFormatStrings = []string{
		"text",
		"json",
		"msvs",
	}
	// AllFormatStringsWithAliases is all format strings with aliases.
	//
	// Sorted in the order we want to display them.
	AllFormatStringsWithAliases = []string{
		"text",
		"gcc",
		"json",
		"msvs",
	}
)

Functions

func FormatFileAnnotation added in v0.19.0

func FormatFileAnnotation(fileAnnotation FileAnnotation, format Format) (string, error)

FormatFileAnnotation formats the FileAnnotation.

func PrintFileAnnotations

func PrintFileAnnotations(writer io.Writer, fileAnnotations []FileAnnotation, formatString string) error

PrintFileAnnotations prints the file annotations separated by newlines.

func SortFileAnnotations

func SortFileAnnotations(fileAnnotations []FileAnnotation)

SortFileAnnotations sorts the FileAnnotations.

The order of sorting is:

ExternalPath
StartLine
StartColumn
Type
Message
EndLine
EndColumn

Types

type FileAnnotation

type FileAnnotation interface {
	// Stringer returns the string representation in text format.
	fmt.Stringer
	// Marshaler returns the string representation in JSON foramt.
	json.Marshaler
	// MSVSString returns the string representation in MSVS format.
	//
	// https://docs.microsoft.com/en-us/cpp/build/formatting-the-output-of-a-custom-build-step-or-build-event?view=vs-2019
	MSVSString() string

	// FileInfo is the FileInfo for this annotation.
	//
	// This may be nil.
	FileInfo() FileInfo

	// StartLine is the starting line.
	//
	// If the starting line is not known, this will be 0.
	StartLine() int
	// StartColumn is the starting column.
	//
	// If the starting column is not known, this will be 0.
	StartColumn() int
	// EndLine is the ending line.
	//
	// If the ending line is not known, this will be 0.
	// If the ending line is the same as the starting line, this will be explicitly
	// set to the same value as start_line.
	EndLine() int
	// EndColumn is the ending column.
	//
	// If the ending column is not known, this will be 0.
	// If the ending column is the same as the starting column, this will be explicitly
	// set to the same value as start_column.
	EndColumn() int
	// Type is the type of annotation, typically an ID representing a failure type.
	Type() string
	// Message is the message of the annotation.
	Message() string
}

FileAnnotation is a file annotation.

func NewFileAnnotation

func NewFileAnnotation(
	fileInfo FileInfo,
	startLine int,
	startColumn int,
	endLine int,
	endColumn int,
	typeString string,
	message string,
) FileAnnotation

NewFileAnnotation returns a new FileAnnotation.

type FileInfo added in v0.19.0

type FileInfo interface {
	Path() string
	ExternalPath() string
}

FileInfo is a minimal FileInfo interface.

type Format added in v0.19.0

type Format int

Format is a FileAnnotation format.

const (
	// FormatText is the text format for FileAnnotations.
	FormatText Format = iota + 1
	// FormatJSON is the JSON format for FileAnnotations.
	FormatJSON
	// FormatMSVS is the MSVS format for FileAnnotations.
	FormatMSVS
)

func ParseFormat added in v0.19.0

func ParseFormat(s string) (Format, error)

ParseFormat parses the Format.

The empty strings defaults to FormatText.

func (Format) String added in v0.19.0

func (f Format) String() string

String implements fmt.Stringer.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL