Skip to main content

luaur_analysis/records/
checked_function_call_error.rs

1use crate::type_aliases::type_id::TypeId;
2use alloc::string::String;
3
4#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5pub struct CheckedFunctionCallError {
6    pub(crate) expected: TypeId,
7    pub(crate) passed: TypeId,
8    pub(crate) checkedFunctionName: String,
9    pub(crate) argumentIndex: usize,
10}
11
12#[allow(non_snake_case)]
13impl CheckedFunctionCallError {
14    pub const fn new(
15        expected: TypeId,
16        passed: TypeId,
17        checked_function_name: String,
18        argument_index: usize,
19    ) -> Self {
20        Self {
21            expected,
22            passed,
23            checkedFunctionName: checked_function_name,
24            argumentIndex: argument_index,
25        }
26    }
27
28    pub fn expected(&self) -> TypeId {
29        self.expected
30    }
31
32    pub fn passed(&self) -> TypeId {
33        self.passed
34    }
35
36    pub fn checkedFunctionName(&self) -> &str {
37        &self.checkedFunctionName
38    }
39
40    pub fn argumentIndex(&self) -> usize {
41        self.argumentIndex
42    }
43}