X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/flow/SwitchFlowContext.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/flow/SwitchFlowContext.java index e156adb..dc4f1e5 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/flow/SwitchFlowContext.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/flow/SwitchFlowContext.java @@ -1,17 +1,17 @@ /******************************************************************************* - * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others. + * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v0.5 + * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v05.html + * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation - ******************************************************************************/ + *******************************************************************************/ package net.sourceforge.phpdt.internal.compiler.flow; -import net.sourceforge.phpdt.internal.compiler.ast.AstNode; import net.sourceforge.phpdt.internal.compiler.codegen.Label; +import net.sourceforge.phpeclipse.internal.compiler.ast.AstNode; /** * Reflects the context of code analysis, keeping track of enclosing @@ -19,7 +19,7 @@ import net.sourceforge.phpdt.internal.compiler.codegen.Label; */ public class SwitchFlowContext extends FlowContext { public Label breakLabel; - public UnconditionalFlowInfo initsOnBreak = FlowInfo.DeadEnd; + public UnconditionalFlowInfo initsOnBreak = FlowInfo.DEAD_END; public SwitchFlowContext( FlowContext parent, @@ -34,7 +34,9 @@ public class SwitchFlowContext extends FlowContext { } public String individualToString() { - return "Switch flow context"; //$NON-NLS-1$ + StringBuffer buffer = new StringBuffer("Switch flow context"); //$NON-NLS-1$ + buffer.append("[initsOnBreak -").append(initsOnBreak.toString()).append(']'); //$NON-NLS-1$ + return buffer.toString(); } public boolean isBreakable() { @@ -42,13 +44,11 @@ public class SwitchFlowContext extends FlowContext { } public void recordBreakFrom(FlowInfo flowInfo) { - if (initsOnBreak == FlowInfo.DeadEnd) { + + if (initsOnBreak == FlowInfo.DEAD_END) { initsOnBreak = flowInfo.copy().unconditionalInits(); } else { - // ignore if not really reachable (1FKEKRP) - if (flowInfo.isFakeReachable()) - return; - initsOnBreak.mergedWith(flowInfo.unconditionalInits()); + initsOnBreak = initsOnBreak.mergedWith(flowInfo.unconditionalInits()); }; } -} \ No newline at end of file +}