@@ -207,6 +207,7 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
207
207
// CHECK-NEXT: default: abort();
208
208
// CHECK-NEXT: }
209
209
// CHECK-NEXT: }
210
+ // CHECK: private:
210
211
// CHECK: inline int _getEnumTag() const {
211
212
// CHECK-NEXT: auto metadata = _impl::$s5Enums12BoolWithCaseOMa(0);
212
213
// CHECK-NEXT: auto *vwTableAddr = reinterpret_cast<swift::_impl::ValueWitnessTable **>(metadata._0) - 1;
@@ -218,6 +219,10 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
218
219
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
219
220
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
220
221
// CHECK-NEXT: }
222
+ // CHECK: };
223
+ // CHECK-NEXT: decltype(BoolWithCase::first) BoolWithCase::first;
224
+ // CHECK-NEXT: decltype(BoolWithCase::second) BoolWithCase::second;
225
+ // CHECK-NEXT: decltype(BoolWithCase::third) BoolWithCase::third;
221
226
222
227
// CHECK: class CLikeEnum final {
223
228
@@ -277,6 +282,10 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
277
282
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
278
283
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
279
284
// CHECK-NEXT: }
285
+ // CHECK: };
286
+ // CHECK-NEXT: decltype(CLikeEnum::one) CLikeEnum::one;
287
+ // CHECK-NEXT: decltype(CLikeEnum::two) CLikeEnum::two;
288
+ // CHECK-NEXT: decltype(CLikeEnum::three) CLikeEnum::three;
280
289
281
290
// CHECK: class DataCase final {
282
291
@@ -319,6 +328,8 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
319
328
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
320
329
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
321
330
// CHECK-NEXT: }
331
+ // CHECK: };
332
+ // CHECK-NEXT: decltype(DataCase::one) DataCase::one;
322
333
323
334
// CHECK: class IntDoubleOrBignum final {
324
335
@@ -402,6 +413,10 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
402
413
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
403
414
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
404
415
// CHECK-NEXT: }
416
+ // CHECK: };
417
+ // CHECK-NEXT: decltype(IntDoubleOrBignum::Int) IntDoubleOrBignum::Int;
418
+ // CHECK-NEXT: decltype(IntDoubleOrBignum::Double) IntDoubleOrBignum::Double;
419
+ // CHECK-NEXT: decltype(IntDoubleOrBignum::Bignum) IntDoubleOrBignum::Bignum;
405
420
406
421
// CHECK: class IntOrInfinity final {
407
422
@@ -470,6 +485,10 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
470
485
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
471
486
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
472
487
// CHECK-NEXT: }
488
+ // CHECK: };
489
+ // CHECK-NEXT: decltype(IntOrInfinity::NegInfinity) IntOrInfinity::NegInfinity;
490
+ // CHECK-NEXT: decltype(IntOrInfinity::Int) IntOrInfinity::Int;
491
+ // CHECK-NEXT: decltype(IntOrInfinity::PosInfinity) IntOrInfinity::PosInfinity;
473
492
474
493
// CHECK: class MultipleBoolWithCase final {
475
494
@@ -560,3 +579,8 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
560
579
// CHECK-NEXT: const auto *enumVWTable = reinterpret_cast<swift::_impl::EnumValueWitnessTable *>(vwTable);
561
580
// CHECK-NEXT: return enumVWTable->getEnumTag(_getOpaquePointer(), metadata._0);
562
581
// CHECK-NEXT: }
582
+ // CHECK: };
583
+ // CHECK-NEXT: decltype(MultipleBoolWithCase::first) MultipleBoolWithCase::first;
584
+ // CHECK-NEXT: decltype(MultipleBoolWithCase::second) MultipleBoolWithCase::second;
585
+ // CHECK-NEXT: decltype(MultipleBoolWithCase::third) MultipleBoolWithCase::third;
586
+ // CHECK-NEXT: decltype(MultipleBoolWithCase::fourth) MultipleBoolWithCase::fourth;
0 commit comments