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
101
102
103
104
105
106
107
108
109
//! # `NestedClass` Table Loader
//!
//! This module provides the loader implementation for the [`NestedClass`](crate::metadata::tables::NestedClass) table,
//! which defines nested type relationships between enclosing and nested types.
//! `NestedClass` entries establish the hierarchical structure of nested types in .NET assemblies.
//!
//! ## Purpose
//!
//! The [`NestedClassLoader`] processes [`crate::metadata::tables::NestedClassRaw`] entries during metadata loading,
//! converting them to owned [`NestedClass`](crate::metadata::tables::NestedClass) instances with resolved type references.
//! These entries define which types are nested within other types, enabling proper
//! type hierarchy resolution and visibility scoping.
//!
//! ## Table Dependencies
//!
//! The `NestedClass` table depends on type definition and reference tables:
//! - [`crate::metadata::tables::TableId::TypeDef`] - For locally defined types
//! - [`crate::metadata::tables::TableId::TypeRef`] - For external type references
//! - [`crate::metadata::tables::TableId::TypeSpec`] - For constructed type specifications
//!
//! These dependencies ensure that type references can be properly resolved during loading.
//!
//! ## Error Conditions
//!
//! - Type references cannot be resolved or are invalid
//! - `NestedClass` table contains malformed or corrupted data
//! - Circular nesting relationships are detected
//! - Token conflicts occur during storage
//!
use crate::;
/// Loader implementation for the `NestedClass` metadata table.
///
/// This loader processes [`crate::metadata::tables::NestedClassRaw`] entries, converting them to
/// owned [`crate::metadata::tables::NestedClass`] instances with resolved type references.
/// `NestedClass` entries define the hierarchical relationships between enclosing and nested types,
/// establishing proper type visibility and scoping rules.
pub ;