1
- // RUN: %target-swift-frontend -parse-stdlib -parse-as-library -emit-silgen %s | FileCheck %s
1
+ // RUN: %target-swift-frontend -use-native-super-method - parse-stdlib -parse-as-library -emit-silgen %s | FileCheck %s
2
2
3
3
import Swift
4
4
@@ -352,7 +352,7 @@ class SuperSub : SuperBase {
352
352
// CHECK: [[CLASS_METHOD:%.*]] = class_method %0 : $SuperSub, #SuperSub.boom!1
353
353
// CHECK: = apply [[CLASS_METHOD]](%0)
354
354
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
355
- // CHECK: [[SUPER_METHOD:%.*]] = function_ref @_TFC8closures9SuperBase4boom
355
+ // CHECK: [[SUPER_METHOD:%[0-9]+]] = super_method %0 : $SuperSub, #SuperBase.boom!1
356
356
// CHECK: = apply [[SUPER_METHOD]]([[SUPER]])
357
357
// CHECK: return
358
358
func a1( ) {
@@ -376,8 +376,8 @@ class SuperSub : SuperBase {
376
376
// CHECK: [[CLASS_METHOD:%.*]] = class_method %0 : $SuperSub, #SuperSub.boom!1
377
377
// CHECK: = apply [[CLASS_METHOD]](%0)
378
378
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
379
- // CHECK: [[METHOD :%.*]] = function_ref @_TFC8closures9SuperBase4boom
380
- // CHECK: = apply [[METHOD ]]([[SUPER]])
379
+ // CHECK: [[SUPER_METHOD :%.*]] = super_method %0 : $SuperSub, #SuperBase.boom!1
380
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
381
381
// CHECK: return
382
382
func b2( ) {
383
383
self . boom ( )
@@ -397,8 +397,8 @@ class SuperSub : SuperBase {
397
397
// CHECK: [[CLASS_METHOD:%.*]] = class_method %0 : $SuperSub, #SuperSub.boom!1
398
398
// CHECK: = apply [[CLASS_METHOD]](%0)
399
399
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
400
- // CHECK: [[METHOD:%.*]] = function_ref @_TFC8closures9SuperBase4boom
401
- // CHECK: = apply [[METHOD ]]([[SUPER]])
400
+ // CHECK: [[SUPER_METHOD:%[0-9]+]] = super_method %0 : $SuperSub, #SuperBase.boom!1
401
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
402
402
// CHECK: return
403
403
let c1 = { ( ) -> Void in
404
404
self . boom ( )
@@ -419,8 +419,8 @@ class SuperSub : SuperBase {
419
419
let d1 = { ( ) -> Void in
420
420
// CHECK-LABEL: sil shared @_TFFFC8closures8SuperSub1d
421
421
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
422
- // CHECK: [[METHOD :%.*]] = function_ref @_TFC8closures9SuperBase4boom
423
- // CHECK: = apply [[METHOD ]]([[SUPER]])
422
+ // CHECK: [[SUPER_METHOD :%.*]] = super_method %0 : $SuperSub, #SuperBase.boom!1
423
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
424
424
// CHECK: return
425
425
func d2( ) {
426
426
super. boom ( )
@@ -442,8 +442,8 @@ class SuperSub : SuperBase {
442
442
func e1( ) {
443
443
// CHECK-LABEL: sil shared @_TFFFC8closures8SuperSub1e
444
444
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
445
- // CHECK: [[METHOD :%.*]] = function_ref @_TFC8closures9SuperBase4boom
446
- // CHECK: = apply [[METHOD ]]([[SUPER]])
445
+ // CHECK: [[SUPER_METHOD :%.*]] = super_method %0 : $SuperSub, #SuperBase.boom!1
446
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
447
447
// CHECK: return
448
448
let e2 = {
449
449
super. boom ( )
@@ -465,8 +465,8 @@ class SuperSub : SuperBase {
465
465
let f1 = {
466
466
// CHECK-LABEL: sil shared [transparent] @_TFFFC8closures8SuperSub1f
467
467
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
468
- // CHECK: [[METHOD :%.*]] = function_ref @_TFC8closures9SuperBase4boom
469
- // CHECK: = apply [[METHOD ]]([[SUPER]])
468
+ // CHECK: [[SUPER_METHOD :%.*]] = super_method %0 : $SuperSub, #SuperBase.boom!1
469
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
470
470
// CHECK: return
471
471
nil ?? super. boom ( )
472
472
}
@@ -484,8 +484,8 @@ class SuperSub : SuperBase {
484
484
func g1( ) {
485
485
// CHECK-LABEL: sil shared [transparent] @_TFFFC8closures8SuperSub1g
486
486
// CHECK: [[SUPER:%.*]] = upcast %0 : $SuperSub to $SuperBase
487
- // CHECK: [[METHOD :%.*]] = function_ref @_TFC8closures9SuperBase4boom
488
- // CHECK: = apply [[METHOD ]]([[SUPER]])
487
+ // CHECK: [[SUPER_METHOD :%.*]] = super_method %0 : $SuperSub, #SuperBase.boom!1
488
+ // CHECK: = apply [[SUPER_METHOD ]]([[SUPER]])
489
489
// CHECK: return
490
490
nil ?? super. boom ( )
491
491
}
0 commit comments