found formatting issue

This commit is contained in:
Kasey White 2023-02-16 16:18:56 -05:00 committed by Lucas
parent d7cfca2a57
commit 6ce62115f7
1 changed files with 45 additions and 23 deletions

View File

@ -1424,7 +1424,7 @@ impl<'a> CodeGenerator<'a> {
is_complex_clause: false, is_complex_clause: false,
original_subject_name: item_name.clone(), original_subject_name: item_name.clone(),
current_index: index as i64, current_index: index as i64,
final_clause final_clause,
}; };
let tail_name = format!("{new_tail_name}_{index}"); let tail_name = format!("{new_tail_name}_{index}");
@ -1486,7 +1486,9 @@ impl<'a> CodeGenerator<'a> {
inverse: true, inverse: true,
}); });
pattern_vec.push(Air::Void { scope: scope.clone() }); pattern_vec.push(Air::Void {
scope: scope.clone(),
});
}; };
} }
} }
@ -1503,8 +1505,10 @@ impl<'a> CodeGenerator<'a> {
let data_type = lookup_data_type_by_tipo(self.data_types.clone(), tipo).unwrap(); let data_type = lookup_data_type_by_tipo(self.data_types.clone(), tipo).unwrap();
if data_type.constructors.len() > 1 { if data_type.constructors.len() > 1 {
if final_clause{ if final_clause {
pattern_vec.push(Air::Finally { scope: scope.clone() }); pattern_vec.push(Air::Finally {
scope: scope.clone(),
});
} else { } else {
pattern_vec.push(Air::ClauseGuard { pattern_vec.push(Air::ClauseGuard {
scope: scope.clone(), scope: scope.clone(),
@ -1519,7 +1523,7 @@ impl<'a> CodeGenerator<'a> {
needs_constr_var: false, needs_constr_var: false,
is_complex_clause: false, is_complex_clause: false,
original_subject_name: constr_var_name.clone(), original_subject_name: constr_var_name.clone(),
final_clause final_clause,
}; };
self.when_ir( self.when_ir(
@ -1542,7 +1546,7 @@ impl<'a> CodeGenerator<'a> {
is_complex_clause: false, is_complex_clause: false,
original_subject_name: item_name.clone(), original_subject_name: item_name.clone(),
defined_tuple_indices: IndexSet::new(), defined_tuple_indices: IndexSet::new(),
final_clause final_clause,
}; };
let mut inner_pattern_vec = vec![]; let mut inner_pattern_vec = vec![];
@ -1579,19 +1583,37 @@ impl<'a> CodeGenerator<'a> {
Some(item_name) Some(item_name)
} }
Pattern::Assign { name, pattern, .. } => { Pattern::Assign { name, pattern, .. } => {
let inner_name = self.nested_pattern_ir_and_label(
pattern,
pattern_vec,
pattern_type,
scope.clone(),
final_clause,
);
pattern_vec.push(Air::Let {
scope: scope.clone(),
name: name.clone(),
});
let inner_name = self.nested_pattern_ir_and_label(pattern, pattern_vec, pattern_type, scope.clone(), final_clause); pattern_vec.push(Air::Var {
scope,
pattern_vec.push(Air::Let { scope: scope.clone(), name: name.clone() }); constructor: ValueConstructor::public(
pattern_type.clone(),
pattern_vec.push(Air::Var { scope, constructor: ValueConstructor::public(pattern_type.clone(), ValueConstructorVariant::LocalVariable { location: Span::empty() }), name: inner_name.clone().unwrap(), variant_name: String::new() }); ValueConstructorVariant::LocalVariable {
location: Span::empty(),
},
),
name: inner_name.clone().unwrap(),
variant_name: String::new(),
});
inner_name inner_name
} }
Pattern::Int { .. } => todo!("Nested pattern-match on integers isn't implemented yet. Use when clause-guard as an alternative, or break down the pattern."), Pattern::Int { .. } => {
let error_message = "Nested pattern-match on integers isn't implemented yet. Use when clause-guard as an alternative, or break down the pattern.";
todo!("{}", error_message)
}
} }
} }