44 lines
		
	
	
		
			853 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			853 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package golangci
 | 
						|
 | 
						|
import (
 | 
						|
	"regexp"
 | 
						|
 | 
						|
	"github.com/kisielk/errcheck/internal/errcheck"
 | 
						|
	"golang.org/x/tools/go/loader"
 | 
						|
)
 | 
						|
 | 
						|
type Issue errcheck.UncheckedError
 | 
						|
 | 
						|
func Run(program *loader.Program, checkBlank, checkAsserts bool) ([]Issue, error) {
 | 
						|
	checker := errcheck.NewChecker()
 | 
						|
	checker.Blank = checkBlank
 | 
						|
	checker.Asserts = checkAsserts
 | 
						|
 | 
						|
	checker.Ignore = map[string]*regexp.Regexp{
 | 
						|
		"fmt": regexp.MustCompile(".*"),
 | 
						|
	}
 | 
						|
 | 
						|
	if err := checker.CheckProgram(program); err != nil {
 | 
						|
		if e, ok := err.(*errcheck.UncheckedErrors); ok {
 | 
						|
			return makeIssues(e), nil
 | 
						|
		}
 | 
						|
		if err == errcheck.ErrNoGoFiles {
 | 
						|
			return nil, nil
 | 
						|
		}
 | 
						|
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
 | 
						|
	// no issues
 | 
						|
	return nil, nil
 | 
						|
}
 | 
						|
 | 
						|
func makeIssues(e *errcheck.UncheckedErrors) []Issue {
 | 
						|
	var ret []Issue
 | 
						|
	for _, uncheckedError := range e.Errors {
 | 
						|
		ret = append(ret, Issue(uncheckedError))
 | 
						|
	}
 | 
						|
 | 
						|
	return ret
 | 
						|
}
 |