Denis Isaev a6b91ccc77 Fix #124: support unparam linter
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
2018-06-30 12:24:07 +03:00

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
}