luaur_analysis/methods/
file_resolver_file_resolver_file_resolver_alt_b.rs1use 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}