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
//! Owned `EventMap` table representation.
//!
//! This module provides the [`crate::metadata::tables::eventmap::owned::EventMapEntry`] struct
//! for working with resolved `EventMap` metadata with owned data and resolved cross-references.
//! This represents the processed form of `EventMap` entries after raw table data has been converted
//! and all heap references have been resolved during the dual variant resolution phase.
//!
//! # `EventMap` Entry Structure
//!
//! Each `EventMap` entry establishes ownership between a type and a contiguous range
//! of events. The entry contains:
//! - **Parent Type**: Resolved reference to the type that owns the events
//! - **Event List**: Collection of events belonging to the parent type
//! - **Metadata**: Row identifier, token, and offset information
//!
//! # Reference
//! - [ECMA-335 II.22.12](https://ecma-international.org/wp-content/uploads/ECMA-335_6th_edition_june_2012.pdf) - `EventMap` table specification
use crate::;
/// Resolved `EventMap` entry with owned data and resolved cross-references
///
/// Represents a fully processed `EventMap` table entry where all heap references
/// have been resolved and cross-table relationships have been established. Each
/// entry defines the ownership relationship between a type and a contiguous range
/// of events.
///
/// `EventMap` entries are used to efficiently associate events with their declaring
/// types and enable enumeration of all events owned by a particular type. The
/// relationship is established through contiguous ranges in the `Event` table.