// assign to final import java.io.*; public class a21 { final int fi; { fi = 4; } void f1(int i) { final int j = 4; j = 3; } void f2(final int i) { final int j = 4; i = 3; } void f3( int ip) { fi = 3; for (final int i = 0; i<3; i++) { int k = 4; } final int i1 = 0; i1++; --i1; int i2 = -i1 + ~i1; final int j = (j=0) == 1 || j==0 ? 9 : j; } static final boolean DEBUG = false; void f4() { if (DEBUG && (fi < 3 || fi >4)) return; } void f5(final int i) { (i) = 1; } void f6(final int i) { (i)++; } void f7(final int i) { ++(i); } } class B extends a21 { public B() { fi = 0; } void f() { final Integer i; new Runnable() { public void run() { i = new Integer(4); } }; } } class a21_2 { final int i; a21_2() { i = 0; new Runnable() { public void run() { i = 0; } }; } } class Foo { private final Foo next; public Foo(Foo previous) { this.next = null; if (previous != null) { previous.next = this; } } } class T1 { private final int i1; private final int i2; private final int i3; private final int i4; { (i1)++; ++(i2); i3 += 1; (i4) = 1; ()++; } } class T3 { private final boolean b; { assert false : "" + (b = true); // if assignment reachable, assert will not complete normally b = true; // compiles System.out.println(b); } } class T3a { private final boolean b; { try { assert false : "" + (b = true); } catch(IllegalArgumentException t) {} b = true; // red System.out.println(b); } } class T29 { // IDEA-186306 private final int j; T29 (int b) { do { j = 34; // guaranteed to only be executed once if (true) break; } while (b == 1); } } class T29a { private final int j; T29a (int b) { do { j = 34; // not guaranteed by JLS to only be executed once if (j > 0) break; } while (b == 1); } } class TX { private final int i; private final int j; private final int k; TX() { (i) = 1; (i) = 1; (j) = 1; (j)++; (k)++; } }