Skip to main content

luaur_analysis/functions/
contains_parse_error_name.rs

1use crate::records::invalid_name_checker::InvalidNameChecker;
2use crate::records::type_error::TypeError;
3use crate::type_aliases::type_error_data::TypeErrorData;
4
5/// C++ `bool containsParseErrorName(const TypeError& error)` (Error.cpp:1458).
6pub fn contains_parse_error_name(error: &TypeError) -> bool {
7    let checker = InvalidNameChecker::new();
8    match &error.data {
9        TypeErrorData::UnknownProperty(e) => checker.operator_unknown_property(e),
10        TypeErrorData::CannotExtendTable(e) => checker.operator_cannot_extend_table(e),
11        TypeErrorData::DuplicateTypeDefinition(e) => checker.operator_duplicate_type_definition(e),
12        other => checker.operator_fallback(other),
13    }
14}