Function build_enum_variant_part_di_node

Source
fn build_enum_variant_part_di_node<'ll, 'tcx>(
    cx: &GenericCx<'ll, FullCx<'ll, 'tcx>>,
    enum_type_and_layout: TyAndLayout<'tcx>,
    enum_type_di_node: &'ll DIType,
    enum_type_def_id: Option<DefId>,
    variant_member_infos: &[VariantMemberInfo<'_, 'll>],
) -> &'ll DIType
Expand description

Builds the DW_TAG_variant_part of an enum or coroutine debuginfo node:

      DW_TAG_structure_type              (top-level type for enum)
--->    DW_TAG_variant_part              (variant part)
          DW_AT_discr                    (reference to discriminant DW_TAG_member)
          DW_TAG_member                  (discriminant member)
          DW_TAG_variant                 (variant 1)
          DW_TAG_variant                 (variant 2)
          DW_TAG_variant                 (variant 3)
        DW_TAG_structure_type            (type of variant 1)
        DW_TAG_structure_type            (type of variant 2)
        DW_TAG_structure_type            (type of variant 3)