@@ -5,6 +5,53 @@ import (
5
5
"go/token"
6
6
)
7
7
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
+
8
55
const (
9
56
// SeverityWarning declares failures of type warning
10
57
SeverityWarning = "warning"
@@ -25,7 +72,7 @@ type FailurePosition struct {
25
72
type Failure struct {
26
73
Failure string
27
74
RuleName string
28
- Category string
75
+ Category FailureCategory
29
76
Position FailurePosition
30
77
Node ast.Node `json:"-"`
31
78
Confidence float64
@@ -38,17 +85,15 @@ func (f *Failure) GetFilename() string {
38
85
return f .Position .Start .Filename
39
86
}
40
87
41
- const internalFailure = "REVIVE_INTERNAL"
42
-
43
88
// IsInternal returns true if this failure is internal, false otherwise.
44
89
func (f * Failure ) IsInternal () bool {
45
- return f .Category == internalFailure
90
+ return f .Category == failureCategoryInternal
46
91
}
47
92
48
93
// NewInternalFailure yields an internal failure with the given message as failure message.
49
94
func NewInternalFailure (message string ) Failure {
50
95
return Failure {
51
- Category : internalFailure ,
96
+ Category : failureCategoryInternal ,
52
97
Failure : message ,
53
98
}
54
99
}
0 commit comments