Revert "[llvm] Improve llvm.objectsize computation by computing GEP, alloca and mallo...
[llvm-project.git] / clang / test / ASTMerge / interface / Inputs / interface2.m
blob2133bd1381aa9d41a48637151201142f4e8690c7
1 // Matches
2 @interface I1 {
3   int ivar1;
5 @end
7 // Matches
8 @interface I2 : I1 {
9   float ivar2;
11 @end
13 // Ivar mismatch
14 @interface I3 {
15   int ivar1;
16   float ivar2;
18 @end
20 // Superclass mismatch
21 @interface I4 : I1 {
23 @end
25 // Methods match
26 @interface I5
27 + (float)bar;
28 - (int)foo;
29 @end
31 // Method mismatch
32 @interface I6
33 + (float)foo;
34 @end
36 // Method mismatch
37 @interface I7
38 - (int)foo;
39 + (int)bar:(float)x;
40 @end
42 // Method mismatch
43 @interface I8
44 - (int)foo;
45 + (int)bar:(float)x, ...;
46 @end
48 // Matching protocol
49 @protocol P0
50 + (int)foo;
51 - (int)bar:(float)x;
52 @end
54 // Protocol with mismatching method
55 @protocol P1
56 + (int)foo;
57 - (int)bar:(double)x;
58 @end
60 // Interface with protocol
61 @interface I9 <P0>
62 + (int)foo;
63 - (int)bar:(float)x;
64 @end
66 // Protocol with protocol
67 @protocol P2 <P0>
68 - (float)wibble:(int)a1 second:(int)a2;
69 @end
71 // Forward-declared interface
72 @class I10; @interface I12 @end
73 @interface I11
74 @end
76 // Forward-declared protocols
77 @protocol P3, P4;
78 @protocol P5
79 - (double)honk:(int)a;
80 @end
82 // Interface with implementation
83 @interface I13
84 @end
86 @implementation I13
87 @end
89 @interface I13b
90 @end
92 @implementation I13b
93 @end
95 // Implementation by itself
96 @implementation I14 : I12
97 @end
99 @implementation I15 : I11
100 @end