1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
import org.checkerframework.checker.nullness.qual.Nullable;
class ChainAssignment {
@Nullable Object a;
@Nullable Object b;
Object x = new Object();
Object y = new Object();
void m1() {
a = b = new Object();
}
void m2() {
this.a = this.b = new Object();
}
void m3() {
a = this.b = new Object();
}
void m4() {
this.a = b = new Object();
}
void n1() {
// :: error: (assignment.type.incompatible)
x = y = null;
}
void n2() {
// :: error: (assignment.type.incompatible)
this.x = this.y = null;
}
void n3() {
// :: error: (assignment.type.incompatible)
x = this.y = null;
}
void n4() {
// :: error: (assignment.type.incompatible)
this.x = y = null;
}
}
|