@@ -115,7 +115,7 @@ func newWrapper(settings *config.ReviveSettings) (*wrapper, error) {
115115}
116116
117117func (w * wrapper ) run (lintCtx * linter.Context , pass * analysis.Pass ) ([]goanalysis.Issue , error ) {
118- packages := [][]string {internal .GetFileNames (pass )}
118+ packages := [][]string {internal .GetGoFileNames (pass )}
119119
120120 failures , err := w .revive .Lint (packages , w .lintingRules , * w .conf )
121121 if err != nil {
@@ -184,17 +184,16 @@ func toIssue(pass *analysis.Pass, object *jsonObject) goanalysis.Issue {
184184 if object .ReplacementLine != "" {
185185 f := pass .Fset .File (token .Pos (object .Position .Start .Offset ))
186186
187- start := f .LineStart (object .Position .Start .Line )
188-
189- end := goanalysis .EndOfLinePos (f , object .Position .End .Line )
190-
191- issue .SuggestedFixes = []analysis.SuggestedFix {{
192- TextEdits : []analysis.TextEdit {{
193- Pos : start ,
194- End : end ,
195- NewText : []byte (object .ReplacementLine ),
196- }},
197- }}
187+ // Skip cgo files because the positions are wrong.
188+ if object .GetFilename () == f .Name () {
189+ issue .SuggestedFixes = []analysis.SuggestedFix {{
190+ TextEdits : []analysis.TextEdit {{
191+ Pos : f .LineStart (object .Position .Start .Line ),
192+ End : goanalysis .EndOfLinePos (f , object .Position .End .Line ),
193+ NewText : []byte (object .ReplacementLine ),
194+ }},
195+ }}
196+ }
198197 }
199198
200199 return goanalysis .NewIssue (issue , pass )
0 commit comments