found formatting issue
This commit is contained in:
parent
d7cfca2a57
commit
6ce62115f7
|
@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue