luaur_compiler/methods/
compiler_extract_stat_continue.rs1use luaur_ast::records::ast_node::AstNode;
2use luaur_ast::records::ast_stat::AstStat;
3use luaur_ast::records::ast_stat_block::AstStatBlock;
4use luaur_ast::records::ast_stat_continue::AstStatContinue;
5
6impl crate::records::compiler::Compiler {
7 pub fn extract_stat_continue(&mut self, block: *mut AstStatBlock) -> *mut AstStatContinue {
8 unsafe {
9 let body = &(*block).body;
10 if body.size == 1 {
11 let stat_ptr = body.data.add(0);
12 let stat_node = &mut **stat_ptr as *mut AstStat as *mut AstNode;
13 let continue_ptr = luaur_ast::rtti::ast_node_as::<AstStatContinue>(stat_node);
14 continue_ptr
15 } else {
16 core::ptr::null_mut()
17 }
18 }
19 }
20}