Skip to main content

luaur_analysis/methods/
constraint_generator_report_code_too_complex.rs

1use crate::records::code_too_complex::CodeTooComplex;
2use crate::records::constraint_generator::ConstraintGenerator;
3use crate::type_aliases::type_error_data::TypeErrorData;
4use luaur_ast::records::location::Location;
5
6impl ConstraintGenerator {
7    pub fn report_code_too_complex(&mut self, location: Location) {
8        unsafe {
9            let err = TypeErrorData::CodeTooComplex(CodeTooComplex { _unused: None });
10            self.errors.push(crate::records::type_error::TypeError {
11                location,
12                module_name: (*self.module.as_ref().unwrap()).name.clone(),
13                data: err.clone(),
14            });
15            if !self.logger.is_null() {
16                (*self.logger).capture_generation_error(self.errors.last().unwrap());
17            }
18            self.recursion_limit_met = true;
19        }
20    }
21}