+ range_set_ptr = self._borrow_ranges_ptr(self._spec_ptr)
+ assert range_set_ptr is not None
+ return self._range_set_type._create_from_ptr_and_get_ref(range_set_ptr)
+
+
+class _VariantFieldClassWithSelectorOption(
+ _VariantFieldClassWithSelectorOptionConst, _VariantFieldClassOption
+):
+ pass
+
+
+class _VariantFieldClassWithSignedSelectorOptionConst(
+ _VariantFieldClassWithSelectorOptionConst
+):
+ _as_option_ptr = staticmethod(
+ native_bt.field_class_variant_with_selector_signed_option_as_option_const
+ )
+ _borrow_ranges_ptr = staticmethod(
+ native_bt.field_class_variant_with_selector_signed_option_borrow_ranges_const
+ )
+ _range_set_type = bt2_integer_range_set.SignedIntegerRangeSet
+
+
+class _VariantFieldClassWithSignedSelectorOption(
+ _VariantFieldClassWithSignedSelectorOptionConst,
+ _VariantFieldClassWithSelectorOption,
+):
+ pass
+
+
+class _VariantFieldClassWithUnsignedSelectorOptionConst(
+ _VariantFieldClassWithSelectorOptionConst
+):
+ _as_option_ptr = staticmethod(
+ native_bt.field_class_variant_with_selector_unsigned_option_as_option_const
+ )
+ _borrow_ranges_ptr = staticmethod(
+ native_bt.field_class_variant_with_selector_unsigned_option_borrow_ranges_const
+ )
+ _range_set_type = bt2_integer_range_set.UnsignedIntegerRangeSet
+
+
+class _VariantFieldClassWithUnsignedSelectorOption(
+ _VariantFieldClassWithUnsignedSelectorOptionConst,
+ _VariantFieldClassWithSelectorOption,
+):
+ pass
+
+
+class _VariantFieldClassConst(_FieldClassConst, collections.abc.Mapping):
+ _NAME = 'Const Variant'
+ _borrow_option_ptr_by_name = staticmethod(
+ native_bt.field_class_variant_borrow_option_by_name_const
+ )
+ _borrow_option_ptr_by_index = staticmethod(
+ native_bt.field_class_variant_borrow_option_by_index_const
+ )
+ _variant_option_pycls = _VariantFieldClassOptionConst