mirror of
https://github.com/securego/gosec.git
synced 2024-12-27 04:55:53 +00:00
35 lines
691 B
Go
35 lines
691 B
Go
|
package gosec
|
||
|
|
||
|
import (
|
||
|
"sort"
|
||
|
)
|
||
|
|
||
|
// Error is used when there are golang errors while parsing the AST
|
||
|
type Error struct {
|
||
|
Line int `json:"line"`
|
||
|
Column int `json:"column"`
|
||
|
Err string `json:"error"`
|
||
|
}
|
||
|
|
||
|
// NewError creates Error object
|
||
|
func NewError(line, column int, err string) *Error {
|
||
|
return &Error{
|
||
|
Line: line,
|
||
|
Column: column,
|
||
|
Err: err,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// sortErros sorts the golang erros by line
|
||
|
func sortErrors(allErrors map[string][]Error) {
|
||
|
|
||
|
for _, errors := range allErrors {
|
||
|
sort.Slice(errors, func(i, j int) bool {
|
||
|
if errors[i].Line == errors[j].Line {
|
||
|
return errors[i].Column <= errors[j].Column
|
||
|
}
|
||
|
return errors[i].Line < errors[j].Line
|
||
|
})
|
||
|
}
|
||
|
}
|