### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java,v retrieving revision 1.68 diff -u -r1.68 UnconditionalFlowInfo.java --- compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java 9 Sep 2010 17:36:21 -0000 1.68 +++ compiler/org/eclipse/jdt/internal/compiler/flow/UnconditionalFlowInfo.java 20 Sep 2010 19:34:52 -0000 @@ -1520,6 +1520,18 @@ | na2 & (nb3 | nb2)) | na2 & b3 & b4 | a2 & (nb1 & b4 | a3 & na4 & b1) & nb3); + // the above formulae do not handle the state 0111, do it now explicitly: + long ax = ~a1 & a2 & a3 & a4; + long bx = ~b1 & b2 & b3 & b4; + long x = ax|bx; + if (x != 0) { + // restore state 0111 for all variable ids in x: + this.nullBit1 &= ~x; + this.nullBit2 |= x; + this.nullBit3 |= x; + this.nullBit4 |= x; + } + if (COVERAGE_TEST_FLAG) { if(CoverageTestId == 30) { this.nullBit4 = ~0;