diff --git a/rules/rulelist.go b/rules/rulelist.go index fff5cb2..1f1e4df 100644 --- a/rules/rulelist.go +++ b/rules/rulelist.go @@ -15,18 +15,24 @@ package rules import ( - "go/ast" - "github.com/GoASTScanner/gas" ) type RuleDefinition struct { Description string - Create func(c gas.Config) (gas.Rule, []ast.Node) + Create gas.RuleBuilder } type RuleList map[string]RuleDefinition +func (rl RuleList) Builders() []gas.RuleBuilder { + builders := make([]gas.RuleBuilder, 0, len(rl)) + for _, def := range rl { + builders = append(builders, def.Create) + } + return builders +} + type RuleFilter func(string) bool func NewRuleFilter(action bool, ruleIDs ...string) RuleFilter {