luaur_compiler/methods/
table_mutation_tracker_visit_constant_folding.rs1use crate::records::table_mutation_tracker::TableMutationTracker;
2use luaur_ast::records::ast_array::AstArray;
3use luaur_ast::records::ast_expr::AstExpr;
4use luaur_ast::records::ast_expr_call::AstExprCall;
5
6impl<'a> TableMutationTracker<'a> {
7 pub fn visit_ast_expr_call(&mut self, node: *mut AstExprCall) -> bool {
8 unsafe {
9 if node.is_null() {
10 return false;
11 }
12
13 let call_node = &mut *node;
14
15 for arg_ptr in call_node.args.as_slice() {
17 self.mark_escaped_impl(*arg_ptr);
18 }
19
20 if call_node.self_ {
22 self.mark_escaped_table_index(call_node.func, false);
23 }
24 }
25
26 true
27 }
28}