pub fn build_generator_variant_struct_type_di_node<'ll, 'tcx>(
    cx: &CodegenCx<'ll, 'tcx>,
    variant_index: VariantIdx,
    generator_type_and_layout: TyAndLayout<'tcx>,
    generator_type_di_node: &'ll DIType,
    generator_layout: &GeneratorLayout<'tcx>,
    state_specific_upvar_names: &IndexSlice<GeneratorSavedLocal, Option<Symbol>>,
    common_upvar_names: &[String]
) -> &'ll DIType
Expand description

Build the struct type for describing a single generator state. See build_generator_variant_struct_type_di_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)