// 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: @"$s20generic_classes_objc19GenericInheritsObjCCMP" class GenericInheritsObjC : Gizmo { var a : Int var x : D var z : Int override init() } sil_vtable GenericInheritsObjC {} // __deallocating_deinit sil @$s20generic_classes_objc19GenericInheritsObjCCfD : $@convention(method) (GenericInheritsObjC) -> () { bb0(%0 : $GenericInheritsObjC): unreachable } // @objc init sil @$s20generic_classes_objc19GenericInheritsObjCCACyxGycfcTo : $@convention(objc_method) (@owned GenericInheritsObjC) -> @owned GenericInheritsObjC { bb0(%0 : $GenericInheritsObjC): unreachable } sil @$s20generic_classes_objc19GenericInheritsObjCC7bellsOnACyxGSgSi_tcfcTo : $@convention(objc_method) (Int, @owned GenericInheritsObjC) -> @owned GenericInheritsObjC { bb0(%0 : $Int, %1 : $GenericInheritsObjC): unreachable } // CHECK: @"$s20generic_classes_objc20GenericInheritsObjC2CMP" class GenericInheritsObjC2 : Gizmo { var x : UInt8 var y : E var z : UInt8 override init() } sil_vtable GenericInheritsObjC2 {} // __deallocating_deinit sil @$s20generic_classes_objc20GenericInheritsObjC2CfD : $@convention(method) (GenericInheritsObjC2) -> () { bb0(%0 : $GenericInheritsObjC2): unreachable } // @objc init sil @$s20generic_classes_objc20GenericInheritsObjC2CACyxGycfcTo : $@convention(objc_method) (@owned GenericInheritsObjC2) -> @owned GenericInheritsObjC2 { bb0(%0 : $GenericInheritsObjC2): unreachable } sil @$s20generic_classes_objc20GenericInheritsObjC2C7bellsOnACyxGSgSi_tcfcTo : $@convention(objc_method) (Int, @owned GenericInheritsObjC) -> @owned GenericInheritsObjC { bb0(%0 : $Int, %1 : $GenericInheritsObjC): unreachable } @objc protocol P1 { } protocol P2 { } // CHECK: @"$s20generic_classes_objc16Generic3WithReqsCMn" = hidden constant // CHECK-SAME: i16 3, i16 3, i16 5, i16 0 class Generic3WithReqs { } sil_vtable Generic3WithReqs { }