Skip to content

Commit 856ffd1

Browse files
authored
Support RelatedInformation for analysis Diagnostic (#1773)
1 parent b407bb8 commit 856ffd1

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

pkg/golinters/goanalysis/linter.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,18 +220,31 @@ func buildIssues(diags []Diagnostic, linterNameBuilder func(diag *Diagnostic) st
220220
for i := range diags {
221221
diag := &diags[i]
222222
linterName := linterNameBuilder(diag)
223+
223224
var text string
224225
if diag.Analyzer.Name == linterName {
225226
text = diag.Message
226227
} else {
227228
text = fmt.Sprintf("%s: %s", diag.Analyzer.Name, diag.Message)
228229
}
230+
229231
issues = append(issues, result.Issue{
230232
FromLinter: linterName,
231233
Text: text,
232234
Pos: diag.Position,
233235
Pkg: diag.Pkg,
234236
})
237+
238+
if len(diag.Related) > 0 {
239+
for _, info := range diag.Related {
240+
issues = append(issues, result.Issue{
241+
FromLinter: linterName,
242+
Text: fmt.Sprintf("%s(related information): %s", diag.Analyzer.Name, info.Message),
243+
Pos: diag.Pkg.Fset.Position(info.Pos),
244+
Pkg: diag.Pkg,
245+
})
246+
}
247+
}
235248
}
236249
return issues
237250
}

0 commit comments

Comments
 (0)