SwitchBlock
- multi_cases_len: u32 // If has_multi_cases is set.
- tag_capture_inst: u32 // If any_has_tag_capture is set. Index of instruction prongs use to refer to the inline tag capture.
- else_body { // If special_prong.hasElse() is set. info: ProngInfo, body member Index for every info.body_len }
- under_body { // If special_prong.hasUnder() is set. item: Ref, // If special_prong.hasOneAdditionalItem() is set. items_len: u32, // If special_prong.hasManyAdditionalItems() is set. ranges_len: u32, // If special_prong.hasManyAdditionalItems() is set. info: ProngInfo, item: Ref, // for every items_len ranges: { // for every ranges_len item_first: Ref, item_last: Ref, } body member Index for every info.body_len }
- scalar_cases: { // for every scalar_cases_len item: Ref, info: ProngInfo, body member Index for every info.body_len }
- multi_cases: { // for every multi_cases_len items_len: u32, ranges_len: u32, info: ProngInfo, item: Ref, // for every items_len ranges: { // for every ranges_len item_first: Ref, item_last: Ref, } body member Index for every info.body_len }
When analyzing a case body, the switch instruction itself refers to the
captured payload. Whether this is captured by reference or by value
depends on whether the byref bit is set for the corresponding body.
Fields of this type
Fields
These are stored in trailing data in `extra` for each prong.
Types
- ProngInfo
- These are stored in trailing data in `extra` for each prong.