@@ -47,11 +47,11 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
47
47
// CHECK: [[BORROWED_STRING_COPY:%.*]] = begin_borrow [[STRING_COPY]]
48
48
// CHECK: [[BRIDGED:%.*]] = apply [[BRIDGE_STRING]]([[BORROWED_STRING_COPY]])
49
49
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[BRIDGED]] : $NSString : $NSString, $AnyObject
50
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
51
- // CHECK: destroy_value [[BRIDGED]]
52
50
// CHECK: end_borrow [[BORROWED_STRING_COPY]] from [[STRING_COPY]]
53
51
// CHECK: destroy_value [[STRING_COPY]]
54
52
// CHECK: end_borrow [[BORROWED_STRING]] from [[STRING]]
53
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
54
+ // CHECK: destroy_value [[ANYOBJECT]]
55
55
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
56
56
receiver. takesId ( string)
57
57
@@ -60,9 +60,9 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
60
60
// CHECK: [[BORROWED_NSSTRING:%.*]] = begin_borrow [[NSSTRING]]
61
61
// CHECK: [[NSSTRING_COPY:%.*]] = copy_value [[BORROWED_NSSTRING]]
62
62
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[NSSTRING_COPY]] : $NSString : $NSString, $AnyObject
63
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
64
- // CHECK: destroy_value [[NSSTRING_COPY]]
65
63
// CHECK: end_borrow [[BORROWED_NSSTRING]] from [[NSSTRING]]
64
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
65
+ // CHECK: destroy_value [[ANYOBJECT]]
66
66
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
67
67
receiver. takesId ( nsString)
68
68
@@ -71,19 +71,19 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
71
71
// CHECK: [[BORROWED_CLASS_GENERIC:%.*]] = begin_borrow [[CLASS_GENERIC]]
72
72
// CHECK: [[CLASS_GENERIC_COPY:%.*]] = copy_value [[BORROWED_CLASS_GENERIC]]
73
73
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[CLASS_GENERIC_COPY]] : $T : $T, $AnyObject
74
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
75
- // CHECK: destroy_value [[CLASS_GENERIC_COPY]]
76
74
// CHECK: end_borrow [[BORROWED_CLASS_GENERIC]] from [[CLASS_GENERIC]]
75
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
76
+ // CHECK: destroy_value [[ANYOBJECT]]
77
77
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
78
78
receiver. takesId ( classGeneric)
79
79
80
80
// CHECK: [[BORROWED_SELF:%.*]] = begin_borrow [[SELF]]
81
81
// CHECK: [[METHOD:%.*]] = class_method [volatile] [[BORROWED_SELF]] : $NSIdLover,
82
82
// CHECK: [[BORROWED_OBJECT:%.*]] = begin_borrow [[OBJECT]]
83
83
// CHECK: [[OBJECT_COPY:%.*]] = copy_value [[BORROWED_OBJECT]]
84
+ // CHECK: end_borrow [[BORROWED_OBJECT]] from [[OBJECT]]
84
85
// CHECK: apply [[METHOD]]([[OBJECT_COPY]], [[BORROWED_SELF]])
85
86
// CHECK: destroy_value [[OBJECT_COPY]]
86
- // CHECK: end_borrow [[BORROWED_OBJECT]] from [[OBJECT]]
87
87
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
88
88
receiver. takesId ( object)
89
89
@@ -93,9 +93,9 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
93
93
// CHECK: [[CLASS_EXISTENTIAL_COPY:%.*]] = copy_value [[BORROWED_CLASS_EXISTENTIAL]]
94
94
// CHECK: [[OPENED:%.*]] = open_existential_ref [[CLASS_EXISTENTIAL_COPY]] : $CP
95
95
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[OPENED]]
96
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
97
- // CHECK: destroy_value [[CLASS_EXISTENTIAL_COPY]]
98
96
// CHECK: end_borrow [[BORROWED_CLASS_EXISTENTIAL]] from [[CLASS_EXISTENTIAL]]
97
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
98
+ // CHECK: destroy_value [[ANYOBJECT]]
99
99
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
100
100
receiver. takesId ( classExistential)
101
101
@@ -108,9 +108,9 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
108
108
// CHECK: // function_ref _bridgeAnythingToObjectiveC
109
109
// CHECK: [[BRIDGE_ANYTHING:%.*]] = function_ref
110
110
// CHECK: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<U>([[COPY]])
111
+ // CHECK: dealloc_stack [[COPY]]
111
112
// CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
112
113
// CHECK: destroy_value [[ANYOBJECT]]
113
- // CHECK: dealloc_stack [[COPY]]
114
114
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
115
115
receiver. takesId ( generic)
116
116
@@ -122,10 +122,10 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
122
122
// CHECK: // function_ref _bridgeAnythingToObjectiveC
123
123
// CHECK: [[BRIDGE_ANYTHING:%.*]] = function_ref
124
124
// CHECK: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<[[OPENED_TYPE]]>([[OPENED_COPY]])
125
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
126
- // CHECK: destroy_value [[ANYOBJECT]]
127
125
// CHECK: deinit_existential_addr [[COPY]]
128
126
// CHECK: dealloc_stack [[COPY]]
127
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
128
+ // CHECK: destroy_value [[ANYOBJECT]]
129
129
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
130
130
receiver. takesId ( existential)
131
131
@@ -138,11 +138,11 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
138
138
// CHECK: copy_addr [[ERROR_BOX]] to [initialization] [[ERROR_STACK]] : $*@opened([[ERROR_ARCHETYPE]]) Error
139
139
// CHECK: [[BRIDGE_FUNCTION:%[0-9]+]] = function_ref @_T0s27_bridgeAnythingToObjectiveCs9AnyObject_pxlF
140
140
// CHECK: [[BRIDGED_ERROR:%[0-9]+]] = apply [[BRIDGE_FUNCTION]]<@opened([[ERROR_ARCHETYPE]]) Error>([[ERROR_STACK]])
141
- // CHECK: apply [[METHOD]]([[BRIDGED_ERROR]], [[BORROWED_SELF]])
142
- // CHECK: destroy_value [[BRIDGED_ERROR]] : $AnyObject
143
141
// CHECK: dealloc_stack [[ERROR_STACK]] : $*@opened([[ERROR_ARCHETYPE]]) Error
144
142
// CHECK: destroy_value [[ERROR_COPY]] : $Error
145
143
// CHECK: end_borrow [[BORROWED_ERROR]] from [[ERROR]]
144
+ // CHECK: apply [[METHOD]]([[BRIDGED_ERROR]], [[BORROWED_SELF]])
145
+ // CHECK: destroy_value [[BRIDGED_ERROR]] : $AnyObject
146
146
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
147
147
receiver. takesId ( error)
148
148
@@ -154,10 +154,10 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
154
154
// CHECK: // function_ref _bridgeAnythingToObjectiveC
155
155
// CHECK: [[BRIDGE_ANYTHING:%.*]] = function_ref
156
156
// CHECK: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<[[OPENED_TYPE]]>([[OPENED_COPY]])
157
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
158
- // CHECK: destroy_value [[ANYOBJECT]]
159
157
// CHECK: deinit_existential_addr [[COPY]]
160
158
// CHECK: dealloc_stack [[COPY]]
159
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
160
+ // CHECK: destroy_value [[ANYOBJECT]]
161
161
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
162
162
receiver. takesId ( any)
163
163
@@ -181,8 +181,8 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
181
181
// CHECK: [[TMP:%.*]] = alloc_stack $Optional<String>
182
182
// CHECK: store [[OPT_STRING_COPY]] to [init] [[TMP]]
183
183
// CHECK: [[ANYOBJECT:%.*]] = apply [[BRIDGE_OPTIONAL]]<String>([[TMP]])
184
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
185
184
// CHECK: end_borrow [[BORROWED_OPT_STRING]] from [[OPT_STRING]]
185
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
186
186
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
187
187
receiver. takesId ( optionalA)
188
188
@@ -194,8 +194,8 @@ func passingToId<T: CP, U>(receiver: NSIdLover,
194
194
// CHECK: [[TMP:%.*]] = alloc_stack $Optional<NSString>
195
195
// CHECK: store [[OPT_NSSTRING_COPY]] to [init] [[TMP]]
196
196
// CHECK: [[ANYOBJECT:%.*]] = apply [[BRIDGE_OPTIONAL]]<NSString>([[TMP]])
197
- // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
198
197
// CHECK: end_borrow [[BORROWED_OPT_NSSTRING]] from [[OPT_NSSTRING]]
198
+ // CHECK: apply [[METHOD]]([[ANYOBJECT]], [[BORROWED_SELF]])
199
199
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
200
200
receiver. takesId ( optionalB)
201
201
@@ -287,10 +287,10 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
287
287
// CHECK: [[BRIDGED:%.*]] = apply [[BRIDGE_STRING]]([[BORROWED_STRING_COPY]])
288
288
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[BRIDGED]] : $NSString : $NSString, $AnyObject
289
289
// CHECK: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
290
- // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
291
- // CHECK: destroy_value [[BRIDGED]]
292
290
// CHECK: end_borrow [[BORROWED_STRING_COPY]] from [[STRING_COPY]]
293
291
// CHECK: destroy_value [[STRING_COPY]]
292
+ // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
293
+ // CHECK: destroy_value [[OPT_ANYOBJECT]]
294
294
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
295
295
receiver. takesNullableId ( string)
296
296
@@ -300,8 +300,8 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
300
300
// CHECK: [[NSSTRING_COPY:%.*]] = copy_value [[BORROWED_NSSTRING]]
301
301
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[NSSTRING_COPY]] : $NSString : $NSString, $AnyObject
302
302
// CHECK: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
303
- // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
304
303
// CHECK: end_borrow [[BORROWED_NSSTRING]] from [[NSSTRING]]
304
+ // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
305
305
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
306
306
receiver. takesNullableId ( nsString)
307
307
@@ -310,8 +310,8 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
310
310
// CHECK: [[BORROWED_OBJECT:%.*]] = begin_borrow [[OBJECT]]
311
311
// CHECK: [[OBJECT_COPY:%.*]] = copy_value [[BORROWED_OBJECT]]
312
312
// CHECK: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[OBJECT_COPY]]
313
- // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
314
313
// CHECK: end_borrow [[BORROWED_OBJECT]] from [[OBJECT]]
314
+ // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
315
315
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
316
316
receiver. takesNullableId ( object)
317
317
@@ -321,8 +321,8 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
321
321
// CHECK: [[CLASS_GENERIC_COPY:%.*]] = copy_value [[BORROWED_CLASS_GENERIC]]
322
322
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[CLASS_GENERIC_COPY]] : $T : $T, $AnyObject
323
323
// CHECK: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
324
- // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
325
324
// CHECK: end_borrow [[BORROWED_CLASS_GENERIC]] from [[CLASS_GENERIC]]
325
+ // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
326
326
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
327
327
receiver. takesNullableId ( classGeneric)
328
328
@@ -333,8 +333,8 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
333
333
// CHECK: [[OPENED:%.*]] = open_existential_ref [[CLASS_EXISTENTIAL_COPY]] : $CP
334
334
// CHECK: [[ANYOBJECT:%.*]] = init_existential_ref [[OPENED]]
335
335
// CHECK: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
336
- // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
337
336
// CHECK: end_borrow [[BORROWED_CLASS_EXISTENTIAL]] from [[CLASS_EXISTENTIAL]]
337
+ // CHECK: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
338
338
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
339
339
receiver. takesNullableId ( classExistential)
340
340
@@ -346,9 +346,9 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
346
346
// CHECK-NEXT: [[BRIDGE_ANYTHING:%.*]] = function_ref
347
347
// CHECK-NEXT: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<U>([[COPY]])
348
348
// CHECK-NEXT: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
349
- // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
350
- // CHECK-NEXT: destroy_value [[ANYOBJECT]]
351
349
// CHECK-NEXT: dealloc_stack [[COPY]]
350
+ // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
351
+ // CHECK-NEXT: destroy_value [[OPT_ANYOBJECT]]
352
352
// CHECK-NEXT: end_borrow [[BORROWED_SELF]] from [[SELF]]
353
353
receiver. takesNullableId ( generic)
354
354
@@ -361,10 +361,10 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
361
361
// CHECK-NEXT: [[BRIDGE_ANYTHING:%.*]] = function_ref
362
362
// CHECK-NEXT: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<[[OPENED_TYPE]]>([[OPENED_COPY]])
363
363
// CHECK-NEXT: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
364
- // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
365
- // CHECK-NEXT: destroy_value [[ANYOBJECT]]
366
364
// CHECK-NEXT: deinit_existential_addr [[COPY]]
367
365
// CHECK-NEXT: dealloc_stack [[COPY]]
366
+ // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
367
+ // CHECK-NEXT: destroy_value [[OPT_ANYOBJECT]]
368
368
// CHECK-NEXT: end_borrow [[BORROWED_SELF]] from [[SELF]]
369
369
receiver. takesNullableId ( existential)
370
370
@@ -378,11 +378,11 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
378
378
// CHECK: [[BRIDGE_FUNCTION:%[0-9]+]] = function_ref @_T0s27_bridgeAnythingToObjectiveCs9AnyObject_pxlF
379
379
// CHECK-NEXT: [[BRIDGED_ERROR:%[0-9]+]] = apply [[BRIDGE_FUNCTION]]<@opened([[ERROR_ARCHETYPE]]) Error>([[ERROR_STACK]])
380
380
// CHECK-NEXT: [[BRIDGED_ERROR_OPT:%[0-9]+]] = enum $Optional<AnyObject>, #Optional.some!enumelt.1, [[BRIDGED_ERROR]] : $AnyObject
381
- // CHECK-NEXT: apply [[METHOD]]([[BRIDGED_ERROR_OPT]], [[BORROWED_SELF]])
382
- // CHECK-NEXT: destroy_value [[BRIDGED_ERROR]] : $AnyObject
383
381
// CHECK-NEXT: dealloc_stack [[ERROR_STACK]] : $*@opened([[ERROR_ARCHETYPE]]) Error
384
382
// CHECK-NEXT: destroy_value [[ERROR_COPY]] : $Error
385
383
// CHECK-NEXT: end_borrow [[BORROWED_ERROR]] from [[ERROR]]
384
+ // CHECK-NEXT: apply [[METHOD]]([[BRIDGED_ERROR_OPT]], [[BORROWED_SELF]])
385
+ // CHECK-NEXT: destroy_value [[BRIDGED_ERROR_OPT]]
386
386
// CHECK-NEXT: end_borrow [[BORROWED_SELF]] from [[SELF]]
387
387
receiver. takesNullableId ( error)
388
388
@@ -395,10 +395,10 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
395
395
// CHECK-NEXT: [[BRIDGE_ANYTHING:%.*]] = function_ref
396
396
// CHECK-NEXT: [[ANYOBJECT:%.*]] = apply [[BRIDGE_ANYTHING]]<[[OPENED_TYPE]]>([[OPENED_COPY]])
397
397
// CHECK-NEXT: [[OPT_ANYOBJECT:%.*]] = enum {{.*}} [[ANYOBJECT]]
398
- // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
399
- // CHECK-NEXT: destroy_value [[ANYOBJECT]]
400
398
// CHECK-NEXT: deinit_existential_addr [[COPY]]
401
399
// CHECK-NEXT: dealloc_stack [[COPY]]
400
+ // CHECK-NEXT: apply [[METHOD]]([[OPT_ANYOBJECT]], [[BORROWED_SELF]])
401
+ // CHECK-NEXT: destroy_value [[OPT_ANYOBJECT]]
402
402
// CHECK-NEXT: end_borrow [[BORROWED_SELF]] from [[SELF]]
403
403
receiver. takesNullableId ( any)
404
404
@@ -434,9 +434,9 @@ func passingToNullableId<T: CP, U>(receiver: NSIdLover,
434
434
// CHECK: br [[JOIN]]([[OPT_NONE]]
435
435
//
436
436
// CHECK: [[JOIN]]([[PHI:%.*]] : $Optional<AnyObject>):
437
+ // CHECK: end_borrow [[BORROWED_OPT_STRING]] from [[OPT_STRING]]
437
438
// CHECK: apply [[METHOD]]([[PHI]], [[BORROWED_SELF]])
438
439
// CHECK: destroy_value [[PHI]]
439
- // CHECK: end_borrow [[BORROWED_OPT_STRING]] from [[OPT_STRING]]
440
440
// CHECK: end_borrow [[BORROWED_SELF]] from [[SELF]]
441
441
receiver. takesNullableId ( optString)
442
442
0 commit comments