@@ -162,13 +162,13 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
162
162
// CHECK-NEXT: }
163
163
// CHECK-NEXT: }
164
164
// CHECK-NEXT: inline bool isSecond() const {
165
- // CHECK-NEXT: return *this == cases::second ;
165
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
166
166
// CHECK-NEXT: }
167
167
// CHECK: inline bool isFirst() const {
168
- // CHECK-NEXT: return *this == cases::first ;
168
+ // CHECK-NEXT: return _getEnumTag() == 1 ;
169
169
// CHECK-NEXT: }
170
170
// CHECK-NEXT: inline bool isThird() const {
171
- // CHECK-NEXT: return *this == cases::third ;
171
+ // CHECK-NEXT: return _getEnumTag() == 2 ;
172
172
// CHECK-NEXT: }
173
173
// CHECK: inline int _getEnumTag() const {
174
174
// CHECK-NEXT: auto metadata = _impl::$s5Enums12BoolWithCaseOMa(0);
@@ -193,13 +193,13 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
193
193
// CHECK-NEXT: }
194
194
// CHECK-NEXT: }
195
195
// CHECK-NEXT: inline bool isOne() const {
196
- // CHECK-NEXT: return *this == cases::one ;
196
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
197
197
// CHECK-NEXT: }
198
198
// CHECK: inline bool isTwo() const {
199
- // CHECK-NEXT: return *this == cases::two ;
199
+ // CHECK-NEXT: return _getEnumTag() == 1 ;
200
200
// CHECK-NEXT: }
201
201
// CHECK: inline bool isThree() const {
202
- // CHECK-NEXT: return *this == cases::three ;
202
+ // CHECK-NEXT: return _getEnumTag() == 2 ;
203
203
// CHECK-NEXT: }
204
204
// CHECK: inline int _getEnumTag() const {
205
205
// CHECK-NEXT: auto metadata = _impl::$s5Enums9CLikeEnumOMa(0);
@@ -222,7 +222,7 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
222
222
// CHECK-NEXT: }
223
223
// CHECK-NEXT: }
224
224
// CHECK-NEXT: inline bool isOne() const {
225
- // CHECK-NEXT: return *this == cases::one ;
225
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
226
226
// CHECK-NEXT: }
227
227
// CHECK: inline int _getEnumTag() const {
228
228
// CHECK-NEXT: auto metadata = _impl::$s5Enums8DataCaseOMa(0);
@@ -247,13 +247,13 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
247
247
// CHECK-NEXT: }
248
248
// CHECK-NEXT: }
249
249
// CHECK-NEXT: inline bool isInt() const {
250
- // CHECK-NEXT: return *this == cases::Int ;
250
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
251
251
// CHECK-NEXT: }
252
252
// CHECK: inline bool isDouble() const {
253
- // CHECK-NEXT: return *this == cases::Double ;
253
+ // CHECK-NEXT: return _getEnumTag() == 1 ;
254
254
// CHECK-NEXT: }
255
255
// CHECK: inline bool isBignum() const {
256
- // CHECK-NEXT: return *this == cases::Bignum ;
256
+ // CHECK-NEXT: return _getEnumTag() == 2 ;
257
257
// CHECK-NEXT: }
258
258
// CHECK: inline int _getEnumTag() const {
259
259
// CHECK-NEXT: auto metadata = _impl::$s5Enums17IntDoubleOrBignumOMa(0);
@@ -278,13 +278,13 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
278
278
// CHECK-NEXT: }
279
279
// CHECK-NEXT: }
280
280
// CHECK-NEXT: inline bool isInt() const {
281
- // CHECK-NEXT: return *this == cases::Int ;
281
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
282
282
// CHECK-NEXT: }
283
283
// CHECK: inline bool isNegInfinity() const {
284
- // CHECK-NEXT: return *this == cases::NegInfinity ;
284
+ // CHECK-NEXT: return _getEnumTag() == 1 ;
285
285
// CHECK-NEXT: }
286
286
// CHECK: inline bool isPosInfinity() const {
287
- // CHECK-NEXT: return *this == cases::PosInfinity ;
287
+ // CHECK-NEXT: return _getEnumTag() == 2 ;
288
288
// CHECK-NEXT: }
289
289
// CHECK: inline int _getEnumTag() const {
290
290
// CHECK-NEXT: auto metadata = _impl::$s5Enums13IntOrInfinityOMa(0);
@@ -310,16 +310,16 @@ public func checkIntDoubleOrBignum(_ x: IntDoubleOrBignum, tag: Int) -> Bool {
310
310
// CHECK-NEXT: }
311
311
// CHECK-NEXT: }
312
312
// CHECK-NEXT: inline bool isSecond() const {
313
- // CHECK-NEXT: return *this == cases::second ;
313
+ // CHECK-NEXT: return _getEnumTag() == 0 ;
314
314
// CHECK-NEXT: }
315
315
// CHECK: inline bool isThird() const {
316
- // CHECK-NEXT: return *this == cases::third ;
316
+ // CHECK-NEXT: return _getEnumTag() == 1 ;
317
317
// CHECK-NEXT: }
318
318
// CHECK: inline bool isFirst() const {
319
- // CHECK-NEXT: return *this == cases::first ;
319
+ // CHECK-NEXT: return _getEnumTag() == 2 ;
320
320
// CHECK-NEXT: }
321
321
// CHECK-NEXT: inline bool isFourth() const {
322
- // CHECK-NEXT: return *this == cases::fourth ;
322
+ // CHECK-NEXT: return _getEnumTag() == 3 ;
323
323
// CHECK-NEXT: }
324
324
// CHECK: inline int _getEnumTag() const {
325
325
// CHECK-NEXT: auto metadata = _impl::$s5Enums20MultipleBoolWithCaseOMa(0);
0 commit comments