Home | History | Annotate | Download | only in Inputs
      1 // Matches
      2 @interface I1 {
      3   int ivar1;
      4 }
      5 @end
      6 
      7 // Matches
      8 @interface I2 : I1 {
      9   float ivar2;
     10 }
     11 @end
     12 
     13 // Ivar mismatch
     14 @interface I3 {
     15   int ivar1;
     16   int ivar2;
     17 }
     18 @end
     19 
     20 // Superclass mismatch
     21 @interface I4 : I2 {
     22 }
     23 @end
     24 
     25 // Methods match
     26 @interface I5
     27 - (int)foo;
     28 + (float)bar;
     29 @end
     30 
     31 // Method mismatch
     32 @interface I6
     33 - (int)foo;
     34 + (int)foo;
     35 @end
     36 
     37 // Method mismatch
     38 @interface I7
     39 - (int)foo;
     40 + (int)bar:(int)x;
     41 @end
     42 
     43 // Method mismatch
     44 @interface I8
     45 - (int)foo;
     46 + (int)bar:(float)x;
     47 @end
     48 
     49 // Matching protocol
     50 @protocol P0
     51 + (int)foo;
     52 - (int)bar:(float)x;
     53 @end
     54 
     55 // Protocol with mismatching method
     56 @protocol P1
     57 + (int)foo;
     58 - (int)bar:(float)x;
     59 @end
     60 
     61 // Interface with protocol
     62 @interface I9 <P0>
     63 + (int)foo;
     64 - (int)bar:(float)x;
     65 @end
     66 
     67 // Protocol with protocol
     68 @protocol P2 <P0>
     69 - (float)wibble:(int)a1 second:(int)a2;
     70 @end
     71 
     72 // Forward-declared interfaces
     73 @class I10, I11;
     74 @interface I12
     75 @end
     76 
     77 // Forward-declared protocols
     78 @protocol P3, P5;
     79 @protocol P4
     80 - (double)honk:(int)a;
     81 @end
     82 
     83 // Interface with implementation
     84 @interface I13
     85 @end
     86 
     87 @implementation I13
     88 @end
     89 
     90 @interface I13a
     91 @end
     92 
     93 @implementation I13a
     94 @end
     95 
     96 // Implementation by itself
     97 @implementation I14 : I12
     98 @end
     99 
    100 @implementation I15 : I12
    101 @end
    102 
    103 
    104