
1. Support unparam linter and fix found issues 2. Replace forked mvdan.cc/lint and mvdan.cc/interfacer with the upstream ones 3. Minimize forked megacheck: move the most of it's code to this repo 4. Use golang.org/x/tools/go/ssa import path instead of custom fork paths 5. In golang.org/x/tools/go/{ssa,callgraph} use changed code from honnef.co/go/tools 6. Add megacheck.check-unexported option: it found some issues in the repo, fixed them all
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
|
|
}
|