Skip to content

Commit 395f790

Browse files
authoredJan 18, 2025
refactor: replace failure Category raw string with constant (#1196)
* refactor: replace Category raw strings with constants * Add type FailureCategory; add comments for constants
1 parent 57fe5b6 commit 395f790

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+151
-107
lines changed
 

‎lint/failure.go

+50-5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,53 @@ import (
55
"go/token"
66
)
77

8+
const (
9+
// FailureCategoryArgOrder indicates argument order issues.
10+
FailureCategoryArgOrder FailureCategory = "arg-order"
11+
// FailureCategoryBadPractice indicates bad practice issues.
12+
FailureCategoryBadPractice FailureCategory = "bad practice"
13+
// FailureCategoryCodeStyle indicates code style issues.
14+
FailureCategoryCodeStyle FailureCategory = "code-style"
15+
// FailureCategoryComments indicates comment issues.
16+
FailureCategoryComments FailureCategory = "comments"
17+
// FailureCategoryComplexity indicates complexity issues.
18+
FailureCategoryComplexity FailureCategory = "complexity"
19+
// FailureCategoryContent indicates content issues.
20+
FailureCategoryContent FailureCategory = "content"
21+
// FailureCategoryErrors indicates error handling issues.
22+
FailureCategoryErrors FailureCategory = "errors"
23+
// FailureCategoryImports indicates import issues.
24+
FailureCategoryImports FailureCategory = "imports"
25+
// FailureCategoryLogic indicates logic issues.
26+
FailureCategoryLogic FailureCategory = "logic"
27+
// FailureCategoryMaintenance indicates maintenance issues.
28+
FailureCategoryMaintenance FailureCategory = "maintenance"
29+
// FailureCategoryNaming indicates naming issues.
30+
FailureCategoryNaming FailureCategory = "naming"
31+
// FailureCategoryOptimization indicates optimization issues.
32+
FailureCategoryOptimization FailureCategory = "optimization"
33+
// FailureCategoryStyle indicates style issues.
34+
FailureCategoryStyle FailureCategory = "style"
35+
// FailureCategoryTime indicates time-related issues.
36+
FailureCategoryTime FailureCategory = "time"
37+
// FailureCategoryTypeInference indicates type inference issues.
38+
FailureCategoryTypeInference FailureCategory = "type-inference"
39+
// FailureCategoryUnaryOp indicates unary operation issues.
40+
FailureCategoryUnaryOp FailureCategory = "unary-op"
41+
// FailureCategoryUnexportedTypeInAPI indicates unexported type in API issues.
42+
FailureCategoryUnexportedTypeInAPI FailureCategory = "unexported-type-in-api"
43+
// FailureCategoryZeroValue indicates zero value issues.
44+
FailureCategoryZeroValue FailureCategory = "zero-value"
45+
46+
// failureCategoryInternal indicates internal failures.
47+
failureCategoryInternal FailureCategory = "REVIVE_INTERNAL"
48+
// failureCategoryValidity indicates validity issues.
49+
failureCategoryValidity FailureCategory = "validity"
50+
)
51+
52+
// FailureCategory is the type for the failure categories.
53+
type FailureCategory string
54+
855
const (
956
// SeverityWarning declares failures of type warning
1057
SeverityWarning = "warning"
@@ -25,7 +72,7 @@ type FailurePosition struct {
2572
type Failure struct {
2673
Failure string
2774
RuleName string
28-
Category string
75+
Category FailureCategory
2976
Position FailurePosition
3077
Node ast.Node `json:"-"`
3178
Confidence float64
@@ -38,17 +85,15 @@ func (f *Failure) GetFilename() string {
3885
return f.Position.Start.Filename
3986
}
4087

41-
const internalFailure = "REVIVE_INTERNAL"
42-
4388
// IsInternal returns true if this failure is internal, false otherwise.
4489
func (f *Failure) IsInternal() bool {
45-
return f.Category == internalFailure
90+
return f.Category == failureCategoryInternal
4691
}
4792

4893
// NewInternalFailure yields an internal failure with the given message as failure message.
4994
func NewInternalFailure(message string) Failure {
5095
return Failure{
51-
Category: internalFailure,
96+
Category: failureCategoryInternal,
5297
Failure: message,
5398
}
5499
}

‎lint/linter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func addInvalidFileFailure(filename, errStr string, failures chan Failure) {
223223
failures <- Failure{
224224
Confidence: 1,
225225
Failure: fmt.Sprintf("invalid file %s: %v", filename, errStr),
226-
Category: "validity",
226+
Category: failureCategoryValidity,
227227
Position: position,
228228
}
229229
}

0 commit comments

Comments
 (0)
Please sign in to comment.