1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//! # `ModuleRef` Table Loader
//!
//! This module provides the loader implementation for the [`ModuleRef`](crate::metadata::tables::ModuleRef) table,
//! which contains references to external modules that are required by the current assembly.
//! `ModuleRef` entries identify multi-module assemblies and their dependencies.
//!
//! ## Purpose
//!
//! The [`ModuleRefLoader`] processes [`crate::metadata::tables::ModuleRefRaw`] entries during metadata loading,
//! converting them to owned [`ModuleRef`](crate::metadata::tables::ModuleRef) instances with resolved module names.
//! These entries represent references to external modules that contain types or methods
//! used by the current assembly.
//!
//! ## Table Dependencies
//!
//! The `ModuleRef` table has no dependencies on other metadata tables:
//! - Only depends on the string heap for module name resolution
//! - Can be loaded early in the dependency resolution process
//! - Serves as a foundation for cross-module references
//!
//! ## Error Conditions
//!
//! - String heap entries are malformed or missing
//! - `ModuleRef` table contains invalid data
//! - Token conflicts occur during storage
use crate::;
/// Loader implementation for the `ModuleRef` metadata table.
///
/// This loader processes [`crate::metadata::tables::ModuleRefRaw`] entries, converting them to
/// owned [`crate::metadata::tables::ModuleRef`] instances with resolved module names.
/// `ModuleRef` entries represent references to external modules that contain types or methods
/// used by the current assembly.
pub ;