blob: 5e2a07d8b48fd662669df3b137e055f0d621033e [file] [log] [blame]
class Autoboxing {
public boolean compare(short s, Integer i) {
return i == s; //OK, i is unboxed
}
public boolean compare(Short s, Integer i) {
return <error descr="Operator '==' cannot be applied to 'java.lang.Integer', 'java.lang.Short'">i == s</error>; //comparing as references
}
void f(Integer i) {
switch(i) {
default:
}
}
{
Object data = 1;
boolean is1 = <error descr="Operator '==' cannot be applied to 'java.lang.Object', 'int'">data == 1</error>;
boolean is2 = <error descr="Operator '==' cannot be applied to 'int', 'java.lang.Object'">1 == data</error>;
}
//IDEADEV-5549: Short and double are convertible
public static double f () {
Short s = 0;
return (double)s;
}
//IDEADEV-5613
class DumbTest {
private long eventId;
public int hashCode() {
return ((Long) eventId).hashCode();
}
}
public static void main(String[] args) {
Long l = 0L;
Short s = 0;
int d = <error descr="Inconvertible types; cannot cast 'java.lang.Long' to 'int'">(int)l</error>;
d = (int)s;
short t = 0;
Integer d1 = <error descr="Inconvertible types; cannot cast 'short' to 'java.lang.Integer'">(Integer) t</error>;
Byte b = <error descr="Inconvertible types; cannot cast 'short' to 'java.lang.Byte'">(Byte) t</error>;
}
{
{
boolean cond = true;
// test for JLS3 bug, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6888770
Byte B = 0;
byte b = 0;
byte value = cond ? B : b; /////////
short s = 0;
Short S = 0;
short rs = cond ? S : s;
char c = 0;
Character C = 0;
char rc = cond ? C : c;
boolean bb = cond ? Boolean.FALSE : true;
}
}
}