### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java,v retrieving revision 1.79 diff -u -r1.79 LocalDeclaration.java --- compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java 8 Feb 2011 05:59:17 -0000 1.79 +++ compiler/org/eclipse/jdt/internal/compiler/ast/LocalDeclaration.java 8 Mar 2011 09:29:44 -0000 @@ -38,7 +38,7 @@ public FlowInfo analyseCode(BlockScope currentScope, FlowContext flowContext, FlowInfo flowInfo) { // record variable initialization if any - if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) { + if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.bits |= ASTNode.IsLocalDeclarationReachable; // only set if actually reached } if (this.binding != null && this.type.resolvedType instanceof TypeVariableBinding) { Index: compiler/org/eclipse/jdt/internal/compiler/ast/TryStatement.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/TryStatement.java,v retrieving revision 1.118 diff -u -r1.118 TryStatement.java --- compiler/org/eclipse/jdt/internal/compiler/ast/TryStatement.java 5 Mar 2011 17:18:43 -0000 1.118 +++ compiler/org/eclipse/jdt/internal/compiler/ast/TryStatement.java 8 Mar 2011 09:29:44 -0000 @@ -159,7 +159,7 @@ catchInfo); this.catchExitInitStateIndexes[i] = currentScope.methodScope().recordInitializationStates(catchInfo); this.catchExits[i] = - (catchInfo.tagBits & FlowInfo.UNREACHABLE) != 0; + (catchInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) != 0; tryInfo = tryInfo.mergedWith(catchInfo.unconditionalInits()); } } @@ -268,7 +268,7 @@ catchInfo); this.catchExitInitStateIndexes[i] = currentScope.methodScope().recordInitializationStates(catchInfo); this.catchExits[i] = - (catchInfo.tagBits & FlowInfo.UNREACHABLE) != 0; + (catchInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) != 0; tryInfo = tryInfo.mergedWith(catchInfo.unconditionalInits()); } } Index: compiler/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.java,v retrieving revision 1.45 diff -u -r1.45 ExceptionHandlingFlowContext.java --- compiler/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.java 7 Mar 2009 00:59:06 -0000 1.45 +++ compiler/org/eclipse/jdt/internal/compiler/flow/ExceptionHandlingFlowContext.java 8 Mar 2011 09:29:44 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -227,8 +227,8 @@ } public void recordReturnFrom(UnconditionalFlowInfo flowInfo) { - if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) { - if ((this.initsOnReturn.tagBits & FlowInfo.UNREACHABLE) == 0) { + if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { + if ((this.initsOnReturn.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.initsOnReturn = this.initsOnReturn.mergedWith(flowInfo); } else { Index: compiler/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.java,v retrieving revision 1.21 diff -u -r1.21 InsideSubRoutineFlowContext.java --- compiler/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.java 7 Mar 2009 01:08:10 -0000 1.21 +++ compiler/org/eclipse/jdt/internal/compiler/flow/InsideSubRoutineFlowContext.java 8 Mar 2011 09:29:44 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -43,7 +43,7 @@ } public void recordReturnFrom(UnconditionalFlowInfo flowInfo) { - if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) { + if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { if (this.initsOnReturn == FlowInfo.DEAD_END) { this.initsOnReturn = (UnconditionalFlowInfo) flowInfo.copy(); } else { Index: compiler/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.java,v retrieving revision 1.55 diff -u -r1.55 LoopingFlowContext.java --- compiler/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.java 5 Mar 2011 17:18:43 -0000 1.55 +++ compiler/org/eclipse/jdt/internal/compiler/flow/LoopingFlowContext.java 8 Mar 2011 09:29:44 -0000 @@ -385,8 +385,8 @@ } public void recordContinueFrom(FlowContext innerFlowContext, FlowInfo flowInfo) { - if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) == 0) { - if ((this.initsOnContinue.tagBits & FlowInfo.UNREACHABLE) == 0) { + if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { + if ((this.initsOnContinue.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.initsOnContinue = this.initsOnContinue. mergedWith(flowInfo.unconditionalInitsWithoutSideEffect()); } Index: compiler/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.java,v retrieving revision 1.32 diff -u -r1.32 SwitchFlowContext.java --- compiler/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.java 7 Mar 2009 01:08:10 -0000 1.32 +++ compiler/org/eclipse/jdt/internal/compiler/flow/SwitchFlowContext.java 8 Mar 2011 09:29:44 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2009 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -42,7 +42,7 @@ } public void recordBreakFrom(FlowInfo flowInfo) { - if ((this.initsOnBreak.tagBits & FlowInfo.UNREACHABLE) == 0) { + if ((this.initsOnBreak.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) == 0) { this.initsOnBreak = this.initsOnBreak.mergedWith(flowInfo.unconditionalInits()); } else { Index: compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java,v retrieving revision 1.78 diff -u -r1.78 MethodScope.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java 1 Nov 2010 14:15:47 -0000 1.78 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/MethodScope.java 8 Mar 2011 09:29:44 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2010 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -409,7 +409,7 @@ } public final int recordInitializationStates(FlowInfo flowInfo) { - if ((flowInfo.tagBits & FlowInfo.UNREACHABLE) != 0) return -1; + if ((flowInfo.tagBits & FlowInfo.UNREACHABLE_OR_DEAD) != 0) return -1; UnconditionalFlowInfo unconditionalFlowInfo = flowInfo.unconditionalInitsWithoutSideEffect(); long[] extraInits = unconditionalFlowInfo.extra == null ? null : unconditionalFlowInfo.extra[0];