From a5eaf9fe308396b56c023abbb74cd4636f6e2586 Mon Sep 17 00:00:00 2001
From: Mitsuo Heijo <25817501+johejo@users.noreply.github.com>
Date: Sat, 19 Aug 2023 20:47:35 +0900
Subject: [PATCH] govet: add directive and slog passes (#4028)

Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
---
 .golangci.reference.yml | 5 +++++
 pkg/golinters/govet.go  | 8 +++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/.golangci.reference.yml b/.golangci.reference.yml
index 4154a77f..51a29cf4 100644
--- a/.golangci.reference.yml
+++ b/.golangci.reference.yml
@@ -1063,6 +1063,7 @@ linters-settings:
       - copylocks
       - deepequalerrors
       - defers
+      - directive
       - errorsas
       - fieldalignment
       - findcall
@@ -1078,6 +1079,7 @@ linters-settings:
       - shadow
       - shift
       - sigchanyzer
+      - slog
       - sortslice
       - stdmethods
       - stringintconv
@@ -1107,6 +1109,8 @@ linters-settings:
       - composites
       - copylocks
       - deepequalerrors
+      - defers
+      - directive
       - errorsas
       - fieldalignment
       - findcall
@@ -1122,6 +1126,7 @@ linters-settings:
       - shadow
       - shift
       - sigchanyzer
+      - slog
       - sortslice
       - stdmethods
       - stringintconv
diff --git a/pkg/golinters/govet.go b/pkg/golinters/govet.go
index 6cd4c9b6..5a1309cd 100644
--- a/pkg/golinters/govet.go
+++ b/pkg/golinters/govet.go
@@ -15,6 +15,7 @@ import (
 	_ "golang.org/x/tools/go/analysis/passes/ctrlflow" // unused, internal analyzer
 	"golang.org/x/tools/go/analysis/passes/deepequalerrors"
 	"golang.org/x/tools/go/analysis/passes/defers"
+	"golang.org/x/tools/go/analysis/passes/directive"
 	"golang.org/x/tools/go/analysis/passes/errorsas"
 	"golang.org/x/tools/go/analysis/passes/fieldalignment"
 	"golang.org/x/tools/go/analysis/passes/findcall"
@@ -32,6 +33,7 @@ import (
 	"golang.org/x/tools/go/analysis/passes/shadow"
 	"golang.org/x/tools/go/analysis/passes/shift"
 	"golang.org/x/tools/go/analysis/passes/sigchanyzer"
+	"golang.org/x/tools/go/analysis/passes/slog"
 	"golang.org/x/tools/go/analysis/passes/sortslice"
 	"golang.org/x/tools/go/analysis/passes/stdmethods"
 	"golang.org/x/tools/go/analysis/passes/stringintconv"
@@ -62,6 +64,7 @@ var (
 		copylock.Analyzer,
 		deepequalerrors.Analyzer,
 		defers.Analyzer,
+		directive.Analyzer,
 		errorsas.Analyzer,
 		fieldalignment.Analyzer,
 		findcall.Analyzer,
@@ -77,6 +80,7 @@ var (
 		shadow.Analyzer,
 		shift.Analyzer,
 		sigchanyzer.Analyzer,
+		slog.Analyzer,
 		sortslice.Analyzer,
 		stdmethods.Analyzer,
 		stringintconv.Analyzer,
@@ -91,7 +95,7 @@ var (
 		unusedwrite.Analyzer,
 	}
 
-	// https://github.com/golang/go/blob/9f834a559c9ed6cdf883e29b36e21e5f956df74f/src/cmd/vet/main.go#L46-L76
+	// https://github.com/golang/go/blob/c19c4c566c63818dfd059b352e52c4710eecf14d/src/cmd/vet/main.go#L47-L78
 	defaultAnalyzers = []*analysis.Analyzer{
 		asmdecl.Analyzer,
 		assign.Analyzer,
@@ -101,6 +105,7 @@ var (
 		cgocall.Analyzer,
 		composite.Analyzer,
 		copylock.Analyzer,
+		directive.Analyzer,
 		errorsas.Analyzer,
 		framepointer.Analyzer,
 		httpresponse.Analyzer,
@@ -111,6 +116,7 @@ var (
 		printf.Analyzer,
 		shift.Analyzer,
 		sigchanyzer.Analyzer,
+		slog.Analyzer,
 		stdmethods.Analyzer,
 		stringintconv.Analyzer,
 		structtag.Analyzer,