github.com/shulhan/golangci-lint@v1.10.1/pkg/result/issue.go (about) 1 package result 2 3 import "go/token" 4 5 type Range struct { 6 From, To int 7 } 8 9 type Issue struct { 10 FromLinter string 11 Text string 12 13 Pos token.Position 14 LineRange *Range `json:",omitempty"` 15 HunkPos int `json:",omitempty"` 16 17 SourceLines []string 18 } 19 20 func (i Issue) FilePath() string { 21 return i.Pos.Filename 22 } 23 24 func (i Issue) Line() int { 25 return i.Pos.Line 26 } 27 28 func (i Issue) Column() int { 29 return i.Pos.Column 30 } 31 32 func (i Issue) GetLineRange() Range { 33 if i.LineRange == nil { 34 return Range{ 35 From: i.Line(), 36 To: i.Line(), 37 } 38 } 39 40 if i.LineRange.From == 0 { 41 return Range{ 42 From: i.Line(), 43 To: i.Line(), 44 } 45 } 46 47 return *i.LineRange 48 }