class TypePromotions {
|
|
public void byteParam(byte p1) {
|
|
}
|
|
public void shortParam(short p1) {
|
|
}
|
|
public void intParam(int p1) {
|
|
}
|
|
public void longParam(long p1) {
|
|
}
|
|
public void callingLong() {
|
longParam((byte)1);
|
longParam((short)1);
|
longParam(1);
|
longParam(1L);
|
}
|
|
public void callingInt() {
|
intParam((byte)1);
|
intParam((short)1);
|
intParam(1);
|
intParam(1L); // fails
|
}
|
|
public void callingShort() {
|
shortParam((byte)1);
|
shortParam((short)1);
|
shortParam(1); // fails
|
shortParam(1L); // fails
|
}
|
|
public void callingByte() {
|
byteParam((byte)1);
|
byteParam((short)1); // fails
|
byteParam(1); // fails
|
byteParam(1L); // fails
|
}
|
}
|
|
class TypePromotionsWithExtraParam {
|
|
public void byteParam(int p0, byte p1) {
|
|
}
|
|
public void shortParam(int p0, short p1) {
|
|
}
|
|
public void intParam(int p0, int p1) {
|
|
}
|
|
public void longParam(int p0, long p1) {
|
|
}
|
|
public void callingLong() {
|
longParam(6, (byte)1);
|
longParam(6, (short)1);
|
longParam(6, 1);
|
longParam(6, 1L);
|
}
|
|
public void callingInt() {
|
intParam(6, (byte)1);
|
intParam(6, (short)1);
|
intParam(6, 1);
|
intParam(6, 1L); // fails
|
}
|
|
public void callingShort() {
|
shortParam(6, (byte)1);
|
shortParam(6, (short)1);
|
shortParam(6, 1); // fails
|
shortParam(6, 1L); // fails
|
}
|
|
public void callingByte() {
|
byteParam(6, (byte)1);
|
byteParam(6, (short)1); // fails
|
byteParam(6, 1); // fails
|
byteParam(6, 1L); // fails
|
}
|
}
|