1 11 package org.eclipse.jdt.internal.corext.refactoring.code.flow; 12 13 class SwitchFlowInfo extends FlowInfo { 14 private GenericConditionalFlowInfo fCases; 15 private boolean fHasNullCaseInfo; 16 17 public SwitchFlowInfo() { 18 fCases= new GenericConditionalFlowInfo(); 19 } 20 21 public void mergeTest(FlowInfo info, FlowContext context) { 22 if (info == null) 23 return; 24 mergeSequential(info, context); 25 } 26 27 public void mergeCase(FlowInfo info, FlowContext context) { 28 if (info == null) { 29 fHasNullCaseInfo= true; 30 return; 31 } 32 fCases.mergeConditional(info, context); 33 } 34 35 public void mergeDefault(boolean defaultCaseExists, FlowContext context) { 36 if (!defaultCaseExists || fHasNullCaseInfo) 37 fCases.mergeEmptyCondition(context); 38 mergeSequential(fCases, context); 39 } 40 } 41 42 | Popular Tags |