Home | History | Annotate | Download | only in resources
      1 class TypePromotions {
      2 
      3         public void byteParam(byte p1) {
      4 
      5         }
      6 
      7         public void shortParam(short p1) {
      8 
      9         }
     10 
     11         public void intParam(int p1) {
     12 
     13         }
     14 
     15         public void longParam(long p1) {
     16 
     17         }
     18 
     19         public void callingLong() {
     20             longParam((byte)1);
     21             longParam((short)1);
     22             longParam(1);
     23             longParam(1L);
     24         }
     25 
     26         public void callingInt() {
     27             intParam((byte)1);
     28             intParam((short)1);
     29             intParam(1);
     30             intParam(1L); // fails
     31         }
     32 
     33         public void callingShort() {
     34             shortParam((byte)1);
     35             shortParam((short)1);
     36             shortParam(1); // fails
     37             shortParam(1L); // fails
     38         }
     39 
     40         public void callingByte() {
     41             byteParam((byte)1);
     42             byteParam((short)1); // fails
     43             byteParam(1); // fails
     44             byteParam(1L); // fails
     45         }
     46     }
     47 
     48 class TypePromotionsWithExtraParam {
     49 
     50         public void byteParam(int p0, byte p1) {
     51 
     52         }
     53 
     54         public void shortParam(int p0, short p1) {
     55 
     56         }
     57 
     58         public void intParam(int p0, int p1) {
     59 
     60         }
     61 
     62         public void longParam(int p0, long p1) {
     63 
     64         }
     65 
     66         public void callingLong() {
     67             longParam(6, (byte)1);
     68             longParam(6, (short)1);
     69             longParam(6, 1);
     70             longParam(6, 1L);
     71         }
     72 
     73         public void callingInt() {
     74             intParam(6, (byte)1);
     75             intParam(6, (short)1);
     76             intParam(6, 1);
     77             intParam(6, 1L); // fails
     78         }
     79 
     80         public void callingShort() {
     81             shortParam(6, (byte)1);
     82             shortParam(6, (short)1);
     83             shortParam(6, 1); // fails
     84             shortParam(6, 1L); // fails
     85         }
     86 
     87         public void callingByte() {
     88             byteParam(6, (byte)1);
     89             byteParam(6, (short)1); // fails
     90             byteParam(6, 1); // fails
     91             byteParam(6, 1L); // fails
     92         }
     93     }