Skip to main content

luaur_analysis/records/
function_definition.rs

1use crate::type_aliases::module_name_type::ModuleName;
2use luaur_ast::records::location::Location;
3
4#[derive(Debug, Clone, PartialEq, Eq, Hash)]
5pub struct FunctionDefinition {
6    pub(crate) definition_module_name: Option<ModuleName>,
7    pub(crate) definition_location: Location,
8    pub(crate) vararg_location: Option<Location>,
9    pub(crate) original_name_location: Location,
10}
11
12#[allow(non_snake_case)]
13impl FunctionDefinition {
14    pub fn definitionModuleName(&self) -> Option<&ModuleName> {
15        self.definition_module_name.as_ref()
16    }
17
18    pub fn definitionLocation(&self) -> Location {
19        self.definition_location
20    }
21
22    pub fn varargLocation(&self) -> Option<Location> {
23        self.vararg_location
24    }
25
26    pub fn originalNameLocation(&self) -> Location {
27        self.original_name_location
28    }
29}