@@ -9,13 +9,50 @@ import gizmo
9
9
class Hoozit : Gizmo {
10
10
// Overrides Gizmo.frob
11
11
override func frob( ) { }
12
+
12
13
// Overrides Gizmo.funge
13
14
override func funge( ) { }
14
15
16
+ // Overrides Gizmo.foo
17
+ final override func foo( ) { }
18
+
15
19
func anse( ) { }
16
20
func incorrige( ) { }
17
21
}
18
22
23
+ // CHECK-LABEL: sil hidden @_T012vtables_objc10callHoozityAA0D0CF : $@convention(thin) (@owned Hoozit) -> ()
24
+ func callHoozit( _ h: Hoozit ) {
25
+ // CHECK: class_method [volatile] {{.*}} : $Hoozit, #Hoozit.frob!1.foreign
26
+ h. frob ( )
27
+ // CHECK: function_ref @_T012vtables_objc6HoozitC3fooyyF
28
+ h. foo ( )
29
+ // CHECK: class_method {{.*}} : $Hoozit, #Hoozit.anse!1
30
+ h. anse ( )
31
+ // CHECK: return
32
+ }
33
+
34
+ class Wotsit : Hoozit {
35
+ // Overrides Gizmo.funge
36
+ override func funge( ) { }
37
+
38
+ // Overrides Hoozit.incorrige
39
+ override func incorrige( ) { }
40
+
41
+ // Overrides Gizmo.frob
42
+ final override func frob( ) { }
43
+ }
44
+
45
+ // CHECK-LABEL: sil hidden @_T012vtables_objc10callWotsityAA0D0CF : $@convention(thin) (@owned Wotsit) -> ()
46
+ func callWotsit( _ w: Wotsit ) {
47
+ // CHECK: class_method [volatile] {{.*}} : $Wotsit, #Wotsit.funge!1.foreign
48
+ w. funge ( )
49
+ // CHECK: class_method {{.*}} : $Wotsit, #Wotsit.incorrige!1
50
+ w. incorrige ( )
51
+ // CHECK: function_ref @_T012vtables_objc6WotsitC4frobyyF
52
+ w. frob ( )
53
+ // CHECK: return
54
+ }
55
+
19
56
// Entries only exist for native Swift methods
20
57
21
58
// CHECK: sil_vtable Hoozit {
@@ -26,11 +63,6 @@ class Hoozit : Gizmo {
26
63
// CHECK-NEXT: #Hoozit.deinit!deallocator: _T012vtables_objc6HoozitCfD
27
64
// CHECK-NEXT: }
28
65
29
- class Wotsit : Hoozit {
30
- override func funge( ) { }
31
- override func incorrige( ) { }
32
- }
33
-
34
66
// CHECK: sil_vtable Wotsit {
35
67
// CHECK-NEXT: #Hoozit.anse!1: {{.*}} : _T012vtables_objc6HoozitC4anse{{[_0-9a-zA-Z]*}}F
36
68
// CHECK-NEXT: #Hoozit.incorrige!1: {{.*}} : _T012vtables_objc6WotsitC9incorrige{{[_0-9a-zA-Z]*}}F
0 commit comments