oxilean_parse/pattern/
patterncompiler_collect_pattern_ctors_group.rs1use crate::Pattern;
8
9use super::patterncompiler_type::PatternCompiler;
10
11impl PatternCompiler {
12 pub(super) fn collect_pattern_ctors(&self, pattern: &Pattern, covered: &mut Vec<String>) {
14 match pattern {
15 Pattern::Ctor(name, _) => {
16 if !covered.contains(name) {
17 covered.push(name.clone());
18 }
19 }
20 Pattern::Or(left, right) => {
21 self.collect_pattern_ctors(&left.value, covered);
22 self.collect_pattern_ctors(&right.value, covered);
23 }
24 Pattern::Wild | Pattern::Var(_) | Pattern::Lit(_) => {}
25 }
26 }
27}