| // RUN: %empty-directory(%t) |
| // RUN: %build-irgen-test-overlays |
| // RUN: %target-swift-frontend(mock-sdk: -sdk %S/Inputs -I %t) %s -emit-ir | %FileCheck %s |
| |
| // REQUIRES: CPU=i386 || CPU=x86_64 |
| // REQUIRES: objc_interop |
| |
| import Builtin |
| import Swift |
| import gizmo |
| |
| // CHECK: @_T020generic_classes_objc19GenericInheritsObjCCMP |
| |
| class GenericInheritsObjC<D> : Gizmo { |
| var a : Int |
| var x : D |
| var z : Int |
| |
| override init() |
| } |
| sil_vtable GenericInheritsObjC {} |
| |
| // __deallocating_deinit |
| sil @_T020generic_classes_objc19GenericInheritsObjCCfD : $@convention(method) <T> (GenericInheritsObjC<T>) -> () { |
| bb0(%0 : $GenericInheritsObjC<T>): |
| unreachable |
| } |
| |
| // @objc init |
| sil @_T020generic_classes_objc19GenericInheritsObjCCACyxGycfcTo : $@convention(objc_method) <T> (@owned GenericInheritsObjC<T>) -> @owned GenericInheritsObjC<T> { |
| bb0(%0 : $GenericInheritsObjC<T>): |
| unreachable |
| } |
| |
| sil @_T020generic_classes_objc19GenericInheritsObjCCSQyACyxGGSi7bellsOn_tcfcTo : $@convention(objc_method) <T> (Int, @owned GenericInheritsObjC<T>) -> @owned GenericInheritsObjC<T> { |
| bb0(%0 : $Int, %1 : $GenericInheritsObjC<T>): |
| unreachable |
| } |
| |
| // CHECK: @_T020generic_classes_objc20GenericInheritsObjC2CMP |
| |
| class GenericInheritsObjC2<E> : Gizmo { |
| var x : UInt8 |
| var y : E |
| var z : UInt8 |
| |
| override init() |
| } |
| sil_vtable GenericInheritsObjC2 {} |
| |
| // __deallocating_deinit |
| sil @_T020generic_classes_objc20GenericInheritsObjC2CfD : $@convention(method) <T> (GenericInheritsObjC2<T>) -> () { |
| bb0(%0 : $GenericInheritsObjC2<T>): |
| unreachable |
| } |
| |
| // @objc init |
| sil @_T020generic_classes_objc20GenericInheritsObjC2CACyxGycfcTo : $@convention(objc_method) <T> (@owned GenericInheritsObjC2<T>) -> @owned GenericInheritsObjC2<T> { |
| bb0(%0 : $GenericInheritsObjC2<T>): |
| unreachable |
| } |
| |
| sil @_T020generic_classes_objc20GenericInheritsObjC2CSQyACyxGGSi7bellsOn_tcfcTo : $@convention(objc_method) <T> (Int, @owned GenericInheritsObjC<T>) -> @owned GenericInheritsObjC<T> { |
| bb0(%0 : $Int, %1 : $GenericInheritsObjC<T>): |
| unreachable |
| } |