Skip to content

Commit 078f44f

Browse files
committed
Getting rid of code duplication
Signed-off-by: Maciej "Iwan" Iwanowski <[email protected]>
1 parent f8137cf commit 078f44f

File tree

1 file changed

+11
-21
lines changed

1 file changed

+11
-21
lines changed

pkg/result/processors/exclude_rules.go

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -37,24 +37,29 @@ func NewExcludeRules(rules []ExcludeRule, lineCache *fsutils.LineCache, log logu
3737
lineCache: lineCache,
3838
log: log,
3939
}
40+
r.rules = createRules(rules, "(?i)")
4041

42+
return r
43+
}
44+
45+
func createRules(rules []ExcludeRule, prefix string) []excludeRule {
46+
parsedRules := make([]excludeRule, 0, len(rules))
4147
for _, rule := range rules {
4248
parsedRule := excludeRule{
4349
linters: rule.Linters,
4450
}
4551
if rule.Text != "" {
46-
parsedRule.text = regexp.MustCompile("(?i)" + rule.Text)
52+
parsedRule.text = regexp.MustCompile(prefix + rule.Text)
4753
}
4854
if rule.Source != "" {
49-
parsedRule.source = regexp.MustCompile("(?i)" + rule.Source)
55+
parsedRule.source = regexp.MustCompile(prefix + rule.Source)
5056
}
5157
if rule.Path != "" {
5258
parsedRule.path = regexp.MustCompile(rule.Path)
5359
}
54-
r.rules = append(r.rules, parsedRule)
60+
parsedRules = append(parsedRules, parsedRule)
5561
}
56-
57-
return r
62+
return parsedRules
5863
}
5964

6065
func (p ExcludeRules) Process(issues []result.Issue) ([]result.Issue, error) {
@@ -128,22 +133,7 @@ func NewExcludeRulesCaseSensitive(rules []ExcludeRule, lineCache *fsutils.LineCa
128133
lineCache: lineCache,
129134
log: log,
130135
}
131-
132-
for _, rule := range rules {
133-
parsedRule := excludeRule{
134-
linters: rule.Linters,
135-
}
136-
if rule.Text != "" {
137-
parsedRule.text = regexp.MustCompile(rule.Text)
138-
}
139-
if rule.Source != "" {
140-
parsedRule.source = regexp.MustCompile(rule.Source)
141-
}
142-
if rule.Path != "" {
143-
parsedRule.path = regexp.MustCompile(rule.Path)
144-
}
145-
r.rules = append(r.rules, parsedRule)
146-
}
136+
r.rules = createRules(rules, "")
147137

148138
return &ExcludeRulesCaseSensitive{r}
149139
}

0 commit comments

Comments
 (0)