(expr: &Expr, res: &mut Vec<String>)
| 1615 | return res.join("."); |
| 1616 | |
| 1617 | fn doit(expr: &Expr, res: &mut Vec<String>) -> Result<(), String> { |
| 1618 | match expr { |
| 1619 | Expr::Var { value, .. } => { |
| 1620 | res.push(value.to_string()); |
| 1621 | Ok(()) |
| 1622 | } |
| 1623 | Expr::FieldAccess { expr, field, .. } => { |
| 1624 | doit(expr, res)?; |
| 1625 | res.push(field.to_string()); |
| 1626 | Ok(()) |
| 1627 | } |
| 1628 | _ => Err("unexpected expression".to_string()), |
| 1629 | } |
| 1630 | } |
| 1631 | } |
| 1632 | |
| 1633 | fn unary_operator(&self) -> Option<UnOp> { |
nothing calls this directly
no outgoing calls
no test coverage detected