MCPcopy Index your code
hub / github.com/RustPython/RustPython / merge_pattern_match_class

Function merge_pattern_match_class

crates/vm/src/stdlib/_ast/pattern.rs:561–578  ·  view source on GitHub ↗

Merges the pattern match class attributes and patterns, opposite of [`split_pattern_match_class`].

(
    patterns: PatternMatchClassPatterns,
    kwd_attrs: PatternMatchClassKeywordAttributes,
    kwd_patterns: PatternMatchClassKeywordPatterns,
)

Source from the content-addressed store, hash-verified

559
560/// Merges the pattern match class attributes and patterns, opposite of [`split_pattern_match_class`].
561fn merge_pattern_match_class(
562 patterns: PatternMatchClassPatterns,
563 kwd_attrs: PatternMatchClassKeywordAttributes,
564 kwd_patterns: PatternMatchClassKeywordPatterns,
565) -> (Vec<ast::Pattern>, Vec<ast::PatternKeyword>) {
566 let keywords = kwd_attrs
567 .0
568 .into_iter()
569 .zip(kwd_patterns.0)
570 .map(|(attr, pattern)| ast::PatternKeyword {
571 range: Default::default(),
572 node_index: Default::default(),
573 attr,
574 pattern,
575 })
576 .collect();
577 (patterns.0, keywords)
578}

Callers 1

ast_from_objectMethod · 0.85

Calls 3

collectMethod · 0.80
mapMethod · 0.45
into_iterMethod · 0.45

Tested by

no test coverage detected