in common/either.go [40:62]
func (e *EitherCheckRule) Check(runner tflint.Runner) error {
runners := map[tflint.Rule]*subRunner{}
for _, r := range []tflint.Rule{e.primaryRule, e.secondaryRule} {
sr := &subRunner{
Runner: runner,
}
runners[r] = sr
if err := r.Check(sr); err != nil {
return err
}
if len(sr.issues) == 0 {
return nil
}
}
sr := runners[e.primaryRule]
for _, issue := range sr.issues {
if err := runner.EmitIssue(e.primaryRule, issue.message, issue.issueRange); err != nil {
return err
}
}
return nil
}