MCPcopy Create free account
hub / github.com/hashintel/hash / walk_expr

Function walk_expr

libs/@local/hashql/ast/src/visit.rs:408–435  ·  view source on GitHub ↗
(
    visitor: &mut T,
    Expr { id, span, kind }: &mut Expr<'heap>,
)

Source from the content-addressed store, hash-verified

406}
407
408pub 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
437pub fn walk_call_expr<'heap, T: Visitor<'heap> + ?Sized>(
438 visitor: &mut T,

Callers 6

visit_exprMethod · 0.85
visit_exprMethod · 0.85
visit_exprMethod · 0.85
visit_exprMethod · 0.85
visit_exprMethod · 0.85
visit_exprMethod · 0.85

Calls 15

visit_struct_exprMethod · 0.80
visit_dict_exprMethod · 0.80
visit_tuple_exprMethod · 0.80
visit_list_exprMethod · 0.80
visit_literal_exprMethod · 0.80
visit_input_exprMethod · 0.80
visit_if_exprMethod · 0.80
visit_as_exprMethod · 0.80
visit_field_exprMethod · 0.80
visit_index_exprMethod · 0.80
visit_idMethod · 0.45
visit_spanMethod · 0.45

Tested by

no test coverage detected