github.com/alecthomas/golangci-lint@v1.4.2-0.20180609094924-581a3564ff68/pkg/result/processors/cgo.go (about)

     1  package processors
     2  
     3  import (
     4  	"strings"
     5  
     6  	"github.com/golangci/golangci-lint/pkg/result"
     7  )
     8  
     9  type Cgo struct {
    10  }
    11  
    12  var _ Processor = Cgo{}
    13  
    14  func NewCgo() *Cgo {
    15  	return &Cgo{}
    16  }
    17  
    18  func (p Cgo) Name() string {
    19  	return "cgo"
    20  }
    21  
    22  func (p Cgo) Process(issues []result.Issue) ([]result.Issue, error) {
    23  	return filterIssues(issues, func(i *result.Issue) bool {
    24  		// some linters (.e.g gas, deadcode) return incorrect filepaths for cgo issues,
    25  		// it breaks next processing, so skip them
    26  		return i.FilePath() != "C" && !strings.HasSuffix(i.FilePath(), "/C")
    27  	}), nil
    28  }
    29  
    30  func (Cgo) Finish() {}