From 856ffd16ec4e55e678335064a5c3315c6264442c Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Wed, 24 Feb 2021 09:08:17 +0100 Subject: [PATCH] Support RelatedInformation for analysis Diagnostic (#1773) --- pkg/golinters/goanalysis/linter.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkg/golinters/goanalysis/linter.go b/pkg/golinters/goanalysis/linter.go index f1cfcca8398c..2489c4abf4d1 100644 --- a/pkg/golinters/goanalysis/linter.go +++ b/pkg/golinters/goanalysis/linter.go @@ -220,18 +220,31 @@ func buildIssues(diags []Diagnostic, linterNameBuilder func(diag *Diagnostic) st for i := range diags { diag := &diags[i] linterName := linterNameBuilder(diag) + var text string if diag.Analyzer.Name == linterName { text = diag.Message } else { text = fmt.Sprintf("%s: %s", diag.Analyzer.Name, diag.Message) } + issues = append(issues, result.Issue{ FromLinter: linterName, Text: text, Pos: diag.Position, Pkg: diag.Pkg, }) + + if len(diag.Related) > 0 { + for _, info := range diag.Related { + issues = append(issues, result.Issue{ + FromLinter: linterName, + Text: fmt.Sprintf("%s(related information): %s", diag.Analyzer.Name, info.Message), + Pos: diag.Pkg.Fset.Position(info.Pos), + Pkg: diag.Pkg, + }) + } + } } return issues }