luaur_ast/methods/
ast_expr_table_visit.rs1use crate::records::ast_expr_table::AstExprTable;
2use crate::records::ast_visitor::AstVisitor;
3use crate::visit::{ast_expr_visit, AstVisitable};
4
5impl crate::visit::AstVisitable for AstExprTable {
6 fn visit(&self, visitor: &mut dyn AstVisitor) {
7 if visitor.visit_expr_table(self as *const Self as *mut core::ffi::c_void) {
8 for item in self.items.iter() {
9 if !item.key.is_null() {
10 unsafe {
11 ast_expr_visit(item.key, visitor);
12 }
13 }
14
15 unsafe {
16 ast_expr_visit(item.value, visitor);
17 }
18 }
19 }
20 }
21}
22
23#[allow(non_snake_case)]
24pub fn ast_expr_table_visit(this: *const AstExprTable, visitor: &mut dyn AstVisitor) {
25 unsafe {
26 (*this).visit(visitor);
27 }
28}