(
visitor: &mut T,
Expr { id, span, kind }: &mut Expr<'heap>,
)
| 406 | } |
| 407 | |
| 408 | pub fn walk_expr<'heap, T: Visitor<'heap> + ?Sized>( |
| 409 | visitor: &mut T, |
| 410 | Expr { id, span, kind }: &mut Expr<'heap>, |
| 411 | ) { |
| 412 | visitor.visit_id(id); |
| 413 | visitor.visit_span(span); |
| 414 | |
| 415 | match kind { |
| 416 | ExprKind::Call(call_expr) => visitor.visit_call_expr(call_expr), |
| 417 | ExprKind::Struct(struct_expr) => visitor.visit_struct_expr(struct_expr), |
| 418 | ExprKind::Dict(dict_expr) => visitor.visit_dict_expr(dict_expr), |
| 419 | ExprKind::Tuple(tuple_expr) => visitor.visit_tuple_expr(tuple_expr), |
| 420 | ExprKind::List(list_expr) => visitor.visit_list_expr(list_expr), |
| 421 | ExprKind::Literal(literal_expr) => visitor.visit_literal_expr(literal_expr), |
| 422 | ExprKind::Path(path) => visitor.visit_path(path), |
| 423 | ExprKind::Let(let_expr) => visitor.visit_let_expr(let_expr), |
| 424 | ExprKind::Type(type_expr) => visitor.visit_type_expr(type_expr), |
| 425 | ExprKind::NewType(new_type_expr) => visitor.visit_newtype_expr(new_type_expr), |
| 426 | ExprKind::Use(use_expr) => visitor.visit_use_expr(use_expr), |
| 427 | ExprKind::Input(input_expr) => visitor.visit_input_expr(input_expr), |
| 428 | ExprKind::Closure(closure_expr) => visitor.visit_closure_expr(closure_expr), |
| 429 | ExprKind::If(if_expr) => visitor.visit_if_expr(if_expr), |
| 430 | ExprKind::As(is_expr) => visitor.visit_as_expr(is_expr), |
| 431 | ExprKind::Field(field_expr) => visitor.visit_field_expr(field_expr), |
| 432 | ExprKind::Index(index_expr) => visitor.visit_index_expr(index_expr), |
| 433 | ExprKind::Underscore | ExprKind::Dummy => {} |
| 434 | } |
| 435 | } |
| 436 | |
| 437 | pub fn walk_call_expr<'heap, T: Visitor<'heap> + ?Sized>( |
| 438 | visitor: &mut T, |
no test coverage detected