42 lines
641 B
Go
42 lines
641 B
Go
package govet
|
|
|
|
import (
|
|
"go/token"
|
|
"strings"
|
|
)
|
|
|
|
type Issue struct {
|
|
Pos token.Position
|
|
Message string
|
|
}
|
|
|
|
var foundIssues []Issue
|
|
|
|
func Run(files []string, checkShadowing bool) ([]Issue, error) {
|
|
foundIssues = nil
|
|
|
|
if checkShadowing {
|
|
experimental["shadow"] = false
|
|
}
|
|
for name, setting := range report {
|
|
if *setting == unset && !experimental[name] {
|
|
*setting = setTrue
|
|
}
|
|
}
|
|
|
|
initPrintFlags()
|
|
initUnusedFlags()
|
|
|
|
filesRun = true
|
|
for _, name := range files {
|
|
if !strings.HasSuffix(name, "_test.go") {
|
|
includesNonTest = true
|
|
}
|
|
}
|
|
if doPackage(files, nil) == nil {
|
|
return nil, nil
|
|
}
|
|
|
|
return foundIssues, nil
|
|
}
|