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
110
111
112
113
114
//! # Param Table Loader
//!
//! This module provides the loader implementation for the [`Param`](crate::metadata::tables::Param) table,
//! which contains information about method parameters including their names, attributes, and metadata.
//! Param entries define the signature components of methods and provide parameter-specific metadata.
//!
//! ## Purpose
//!
//! The [`ParamLoader`] processes [`crate::metadata::tables::ParamRaw`] entries during metadata loading,
//! converting them to owned [`Param`](crate::metadata::tables::Param) instances with resolved parameter names.
//! These entries provide detailed information about method parameters, including their
//! names, sequence numbers, and attributes for proper method signature construction.
//!
//! ## Table Dependencies
//!
//! The Param table has no dependencies on other metadata tables:
//! - Only depends on the string heap for parameter name resolution
//! - Can be loaded early in the dependency resolution process
//! - Serves as a foundation for method signature construction
//!
//! ## Error Conditions
//!
//! The loader may fail if:
//! - String heap entries are malformed or missing
//! - Param table contains invalid or corrupted data
//! - Token conflicts occur during storage
use crate::;
/// Loader implementation for the Param metadata table.
///
/// This loader processes [`crate::metadata::tables::ParamRaw`] entries, converting them to
/// owned [`crate::metadata::tables::Param`] instances with resolved parameter names.
/// Param entries provide detailed information about method parameters, including their
/// names, sequence numbers, and attributes for proper method signature construction.
///
/// The loader handles:
/// - Resolution of parameter names from the string heap
/// - Parallel processing of multiple Param entries
/// - Storage of processed entries in a concurrent map for token-based access
/// - Error handling for malformed string heap references
///
/// ## Thread Safety
///
/// This loader is thread-safe and uses parallel iteration with concurrent storage operations.
pub ;