luaur_ast/methods/
parser_increment_recursion_counter.rs1use crate::records::parse_error::ParseError;
2use crate::records::parser::Parser;
3
4impl Parser {
5 pub fn increment_recursion_counter(&mut self, context: &str) {
6 self.recursion_counter += 1;
7
8 let limit = luaur_common::FInt::LuauRecursionLimit.get();
9
10 if self.recursion_counter > limit as u32 {
11 ParseError::raise(
12 self.lexer.current().location,
13 format_args!(
14 "Exceeded allowed recursion depth; simplify your {} to make the code compile",
15 context
16 ),
17 );
18 }
19 }
20}
21
22#[allow(non_snake_case)]
23pub fn parser_increment_recursion_counter(parser: &mut Parser, context: &str) {
24 parser.increment_recursion_counter(context);
25}