@@ -115,7 +115,7 @@ func newWrapper(settings *config.ReviveSettings) (*wrapper, error) {
115
115
}
116
116
117
117
func (w * wrapper ) run (lintCtx * linter.Context , pass * analysis.Pass ) ([]goanalysis.Issue , error ) {
118
- packages := [][]string {internal .GetFileNames (pass )}
118
+ packages := [][]string {internal .GetGoFileNames (pass )}
119
119
120
120
failures , err := w .revive .Lint (packages , w .lintingRules , * w .conf )
121
121
if err != nil {
@@ -184,17 +184,16 @@ func toIssue(pass *analysis.Pass, object *jsonObject) goanalysis.Issue {
184
184
if object .ReplacementLine != "" {
185
185
f := pass .Fset .File (token .Pos (object .Position .Start .Offset ))
186
186
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
+ }
198
197
}
199
198
200
199
return goanalysis .NewIssue (issue , pass )
0 commit comments