From b4f9599dd915412a001bf095b3bf0ad3d37e5e02 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Wed, 28 Oct 2020 11:20:47 +0000 Subject: [PATCH] Simplify hashmap insertion --- generator/src/ql_gen.rs | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/generator/src/ql_gen.rs b/generator/src/ql_gen.rs index 6b06f2d67c7..86da752fefa 100644 --- a/generator/src/ql_gen.rs +++ b/generator/src/ql_gen.rs @@ -42,16 +42,9 @@ fn create_supertype_map(nodes: &[node_types::Entry]) -> SupertypeMap { let subtype_class_name = dbscheme_name_to_class_name(&node_types::escape_name( &node_types::node_type_name(&n_member.kind, n_member.named), )); - match map.get_mut(&subtype_class_name) { - Some(set) => { - set.insert(supertype_class_name.clone()); - } - None => { - let mut set: BTreeSet = BTreeSet::new(); - set.insert(supertype_class_name.clone()); - map.insert(subtype_class_name.clone(), set); - } - } + map.entry(subtype_class_name) + .or_insert_with(|| BTreeSet::new()) + .insert(supertype_class_name.clone()); } } node_types::Entry::Table { type_name, fields } => { @@ -76,16 +69,9 @@ fn create_supertype_map(nodes: &[node_types::Entry]) -> SupertypeMap { node_types::node_type_name(&field_type.kind, field_type.named); let member_class_name = dbscheme_name_to_class_name(&node_types::escape_name(&member_name)); - match map.get_mut(&member_class_name) { - Some(set) => { - set.insert(supertype_name.clone()); - } - None => { - let mut set: BTreeSet = BTreeSet::new(); - set.insert(supertype_name.clone()); - map.insert(member_class_name.clone(), set); - } - } + map.entry(member_class_name) + .or_insert_with(|| BTreeSet::new()) + .insert(supertype_name.clone()); } } }