luaur_ast/methods/
ast_expr_call_visit.rs1use crate::records::ast_expr_call::AstExprCall;
2use crate::records::ast_visitor::AstVisitor;
3use crate::visit::AstVisitable;
4
5impl AstVisitable for AstExprCall {
6 fn visit(&self, visitor: &mut dyn AstVisitor) {
7 if visitor.visit_expr_call(self as *const Self as *mut core::ffi::c_void) {
8 unsafe {
9 crate::visit::ast_expr_visit(self.func, visitor);
10
11 for &arg in self.args.iter() {
12 crate::visit::ast_expr_visit(arg, visitor);
13 }
14 }
15 }
16 }
17}
18
19#[no_mangle]
20pub extern "C" fn ast_expr_call_visit(this: *const AstExprCall, visitor: *mut dyn AstVisitor) {
21 unsafe {
22 (*this).visit(&mut *visitor);
23 }
24}