mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
catch variables only used in plural selection
This commit is contained in:
parent
0c338bfd53
commit
8294b18c68
1 changed files with 16 additions and 11 deletions
|
@ -95,12 +95,8 @@ impl Visitor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn visit_expression(&mut self, expression: &Expression<&str>) {
|
fn visit_inline_expression(&mut self, expr: &InlineExpression<&str>) {
|
||||||
match expression {
|
match expr {
|
||||||
Expression::SelectExpression { variants, .. } => {
|
|
||||||
self.visit_pattern(&variants.last().unwrap().value)
|
|
||||||
}
|
|
||||||
Expression::InlineExpression(expr) => match expr {
|
|
||||||
InlineExpression::VariableReference { id } => {
|
InlineExpression::VariableReference { id } => {
|
||||||
write!(self.text, "${}", id.name).unwrap();
|
write!(self.text, "${}", id.name).unwrap();
|
||||||
self.variables.insert(id.name.to_string());
|
self.variables.insert(id.name.to_string());
|
||||||
|
@ -109,7 +105,16 @@ impl Visitor {
|
||||||
self.visit_expression(expression);
|
self.visit_expression(expression);
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
},
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn visit_expression(&mut self, expression: &Expression<&str>) {
|
||||||
|
match expression {
|
||||||
|
Expression::SelectExpression { selector, variants } => {
|
||||||
|
self.visit_inline_expression(&selector);
|
||||||
|
self.visit_pattern(&variants.last().unwrap().value)
|
||||||
|
}
|
||||||
|
Expression::InlineExpression(expr) => self.visit_inline_expression(expr),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue