luaur_ast/methods/
parser_parse_continue.rs1use crate::records::ast_stat::AstStat;
2use crate::records::ast_stat_continue::AstStatContinue;
3use crate::records::location::Location;
4use crate::records::parser::Parser;
5
6impl Parser {
7 #[allow(non_snake_case)]
8 pub fn parser_parse_continue(&mut self, start: &Location) -> *mut AstStat {
9 if self.function_stack.last().unwrap().loop_depth == 0 {
10 return self.report_stat_error(
11 *start,
12 crate::records::ast_array::AstArray::default(),
13 crate::records::ast_array::AstArray::default(),
14 format_args!("continue statement must be inside a loop"),
15 ) as *mut AstStat;
16 }
17
18 let continue_stat = AstStatContinue::new(*start);
20 unsafe { (*self.allocator).alloc(continue_stat) as *mut AstStat }
21 }
22}