29 lines
587 B
Go
29 lines
587 B
Go
// Copyright (c) 2017, Daniel Martí <mvdan@mvdan.cc>
|
|
// See LICENSE for licensing information
|
|
|
|
// Package lint defines common interfaces for Go code checkers.
|
|
package lint // import "mvdan.cc/lint"
|
|
|
|
import (
|
|
"go/token"
|
|
|
|
"golang.org/x/tools/go/loader"
|
|
"golang.org/x/tools/go/ssa"
|
|
)
|
|
|
|
// A Checker points out issues in a program.
|
|
type Checker interface {
|
|
Program(*loader.Program)
|
|
Check() ([]Issue, error)
|
|
}
|
|
|
|
type WithSSA interface {
|
|
ProgramSSA(*ssa.Program)
|
|
}
|
|
|
|
// Issue represents an issue somewhere in a source code file.
|
|
type Issue interface {
|
|
Pos() token.Pos
|
|
Message() string
|
|
}
|