blob: 142ed4f0620fed7f5870b2102463831d6aaea316 [file] [log] [blame]
// RUN: %target-swift-frontend -sdk %S/Inputs %s -I %S/Inputs -enable-source-import -emit-silgen -enable-swift3-objc-inference | %FileCheck %s
// REQUIRES: objc_interop
import Foundation
class ObjCSubclass : NSObject {
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassCACyt7nothing_tcfcTo : $@convention(objc_method) (@owned ObjCSubclass) -> @owned ObjCSubclass {
// CHECK: bb0(%0 : $ObjCSubclass):
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
init(nothing: ()) { super.init() }
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC3fooyyFTo : $@convention(objc_method) (ObjCSubclass) -> ()
// CHECK: bb0(%0 : $ObjCSubclass):
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
func foo() { }
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC3barSo8NSObjectCSgfgTo : $@convention(objc_method) (ObjCSubclass) -> @autoreleased Optional<NSObject>
// CHECK: bb0(%0 : $ObjCSubclass):
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC3barSo8NSObjectCSgfsTo : $@convention(objc_method) (Optional<NSObject>, ObjCSubclass) -> () {
// CHECK: %0 : $Optional<NSObject>, %1 : $ObjCSubclass
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
var bar: NSObject? = nil
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC9subscripts9AnyObject_pSicfgTo : $@convention(objc_method) (Int, ObjCSubclass) -> @autoreleased AnyObject
// CHECK: bb0(%0 : $Int, %1 : $ObjCSubclass):
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC9subscripts9AnyObject_pSicfsTo : $@convention(objc_method) (AnyObject, Int, ObjCSubclass) ->
// CHECK: bb0(%0 : $AnyObject, %1 : $Int, %2 : $ObjCSubclass):
// CHECK-NEXT: builtin "swift3ImplicitObjCEntrypoint"() : $()
subscript (i: Int) -> AnyObject { get { return self } set { } }
}
extension ObjCSubclass {
// CHECK-LABEL: sil hidden [thunk] @_T0016objc_deprecated_A7_thunks12ObjCSubclassC13falsePositiveyyFTo : $@convention(objc_method) (ObjCSubclass) -> ()
// CHECK: bb0(%0 : $ObjCSubclass):
// CHECK-NOT: builtin "swift3ImplicitObjCEntrypoint"() : $()
// CHECK: return
func falsePositive() { }
}