Skip to main content

luaur_analysis/methods/
file_resolver_file_resolver_file_resolver_alt_b.rs

1use crate::records::file_resolver::{
2    file_resolver_get_environment_for_module_default,
3    file_resolver_get_human_readable_module_name_default, file_resolver_resolve_module_default,
4    FileResolver, FileResolverVtable,
5};
6use crate::records::require_suggester::RequireSuggester;
7use crate::records::source_code::SourceCode;
8use crate::type_aliases::module_name_file_resolver::ModuleName;
9use alloc::sync::Arc;
10
11impl FileResolver {
12    pub fn file_resolver_shared_ptr_require_suggester(
13        require_suggester: Arc<RequireSuggester>,
14    ) -> Self {
15        Self {
16            vtable: FileResolverVtable {
17                read_source: |_, _| -> Option<SourceCode> { panic!("read_source is pure virtual") },
18                resolve_module: file_resolver_resolve_module_default,
19                get_human_readable_module_name:
20                    file_resolver_get_human_readable_module_name_default,
21                get_environment_for_module: file_resolver_get_environment_for_module_default,
22            },
23            require_suggester: Some(require_suggester),
24        }
25    }
26}