bufanalysis

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2022 License: Apache-2.0 Imports: 9 Imported by: 41

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 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 of this annotation.
	fmt.Stringer

	// 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 DeduplicateAndSortFileAnnotations

func DeduplicateAndSortFileAnnotations(fileAnnotations []FileAnnotation) []FileAnnotation

DeduplicateAndSortFileAnnotations deduplicates the FileAnnotations based on their string representation and sorts them according to the order specified in SortFileAnnotations.

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

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

FileInfo is a minimal FileInfo interface.

type Format

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

func ParseFormat(s string) (Format, error)

ParseFormat parses the Format.

The empty strings defaults to FormatText.

func (Format) String

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