Revert "[llvm] Improve llvm.objectsize computation by computing GEP, alloca and mallo...
[llvm-project.git] / clang / test / ASTMerge / interface / Inputs / interface1.m
blob6192150089fe9284f7ebc13b4ddb741a57c97c36
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   int ivar2;
18 @end
20 // Superclass mismatch
21 @interface I4 : I2 {
23 @end
25 // Methods match
26 @interface I5
27 - (int)foo;
28 + (float)bar;
29 @end
31 // Method mismatch
32 @interface I6
33 - (int)foo;
34 + (int)foo;
35 @end
37 // Method mismatch
38 @interface I7
39 - (int)foo;
40 + (int)bar:(int)x;
41 @end
43 // Method mismatch
44 @interface I8
45 - (int)foo;
46 + (int)bar:(float)x;
47 @end
49 // Matching protocol
50 @protocol P0
51 + (int)foo;
52 - (int)bar:(float)x;
53 @end
55 // Protocol with mismatching method
56 @protocol P1
57 + (int)foo;
58 - (int)bar:(float)x;
59 @end
61 // Interface with protocol
62 @interface I9 <P0>
63 + (int)foo;
64 - (int)bar:(float)x;
65 @end
67 // Protocol with protocol
68 @protocol P2 <P0>
69 - (float)wibble:(int)a1 second:(int)a2;
70 @end
72 // Forward-declared interfaces
73 @class I10, I11;
74 @interface I12
75 @end
77 // Forward-declared protocols
78 @protocol P3, P5;
79 @protocol P4
80 - (double)honk:(int)a;
81 @end
83 // Interface with implementation
84 @interface I13
85 @end
87 @implementation I13
88 @end
90 @interface I13a
91 @end
93 @implementation I13a
94 @end
96 // Implementation by itself
97 @implementation I14 : I12
98 @end
100 @implementation I15 : I12
101 @end
103 @interface ImportSelectorSLoc { }
104 -(int)addInt:(int)a toInt:(int)b moduloInt:(int)c; // don't crash here
105 @end