luaur_analysis/records/
null_file_resolver.rs1use crate::records::file_resolver::{FileResolver, FileResolverVtable};
2use crate::records::source_code::SourceCode;
3use crate::type_aliases::module_name_file_resolver::ModuleName;
4
5#[derive(Debug)]
6#[repr(C)]
7pub struct NullFileResolver {
8 pub base: FileResolver,
9}
10
11pub(crate) unsafe fn null_file_resolver_read_source(
12 _this: *mut FileResolver,
13 _name: &ModuleName,
14) -> Option<SourceCode> {
15 None
16}
17
18impl NullFileResolver {
19 pub fn new() -> Self {
20 use crate::records::file_resolver::{
21 file_resolver_get_environment_for_module_default,
22 file_resolver_get_human_readable_module_name_default,
23 file_resolver_resolve_module_default,
24 };
25
26 let vtable = FileResolverVtable {
27 read_source: null_file_resolver_read_source,
28 resolve_module: file_resolver_resolve_module_default,
29 get_human_readable_module_name: file_resolver_get_human_readable_module_name_default,
30 get_environment_for_module: file_resolver_get_environment_for_module_default,
31 };
32
33 NullFileResolver {
34 base: FileResolver {
35 vtable,
36 require_suggester: None,
37 },
38 }
39 }
40}