FlowInfo flowInfo= flowAnalyzer.analyse(getEnclosingMethod(), fClassScope);
FlowInfo flowInfo= flowAnalyzer.analyse(fTopNodes, (BlockScope)getEnclosingScope());
	private RefactoringStatus analyzeSelection(RefactoringStatus status) {		FlowContext flowContext= new FlowContext(0, fOuterMostMethodScope.analysisIndex);		flowContext.setConsiderExecutionFlow(true);		flowContext.setConsiderAccessMode(true);		flowContext.setComputeMode(FlowContext.ARGUMENTS);				InOutFlowAnalyzer flowAnalyzer= new InOutFlowAnalyzer(flowContext, fSelection);		FlowInfo flowInfo= flowAnalyzer.analyse(getEnclosingMethod(), fClassScope);				if (flowInfo.branches()) {			status.addFatalError("Selection contains branch statement but corresponding branch target isn't selected.");			fReturnKind= ERROR;			return status;		}		if (flowInfo.isValueReturn()) {			fReturnKind= RETURN_STATEMENT_VALUE;		} else  if (flowInfo.isVoidReturn()) {			fReturnKind= RETURN_STATEMENT_VOID;		} else if (flowInfo.isNoReturn() || flowInfo.isThrow() || flowInfo.isUndefined()) {			fReturnKind= NO;		}				if (fReturnKind == UNDEFINED) {			status.addFatalError(RefactoringCoreMessages.getString("FlowAnalyzer.execution_flow")); //$NON-NLS-1$			fReturnKind= ERROR;			return status;		}		computeInput(flowInfo, flowContext);		computeOutput(status);		return status;	}