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
//! # `PropertyPtr` Owned Implementation
//!
//! This module provides the owned variant of `PropertyPtr` table entries with resolved
//! references and complete metadata context for application use.
use crateToken;
/// Owned representation of a `PropertyPtr` table entry with complete metadata context.
///
/// This structure represents a fully processed entry from the `PropertyPtr` metadata table
/// (ID 0x16), which provides indirection for property table access in optimized
/// metadata layouts. It contains resolved property references and complete contextual
/// information for property indirection operations.
///
/// ## Purpose
///
/// The `PropertyPtr` table serves as an indirection mechanism:
/// - **Property Indirection**: Maps logical property indexes to physical locations
/// - **Optimization Support**: Enables property table compression and reordering
/// - **Metadata Efficiency**: Reduces metadata size in optimized assemblies
/// - **Access Performance**: Provides efficient property lookup mechanisms
///
/// ## Owned vs Raw
///
/// This owned variant provides:
/// - Resolved property references from the property system
/// - Complete property metadata with parsed signatures and attributes
/// - Validated property-indirection relationships and constraints
/// - Integration with the broader metadata resolution system
/// - High-level access methods for property access operations
///
/// ## See Also
///
/// - [`PropertyPtrRaw`](crate::metadata::tables::PropertyPtrRaw) - Raw unresolved variant
/// - [ECMA-335 §II.22.38](https://www.ecma-international.org/publications-and-standards/standards/ecma-335/) - `PropertyPtr` table specification