pm.beginTask("Checking preconditions", 1); fAST= new AST(fCu);  if (fAST.hasProblems()){ RefactoringStatus compileErrors= Checks.checkCompileErrors(fAST, fCu); if (compileErrors.hasFatalError()) return compileErrors; } initializeSelection(); if (!fCu.isStructureKnown()) return RefactoringStatus.createFatalErrorStatus("Syntax errors in this compilation unit prevent local variable inlining. Fix the errors first."); RefactoringStatus result= new RefactoringStatus();  result.merge(checkSelection()); if (result.hasFatalError()) return result;  if (! isTempInitializedAtDeclaration()) return RefactoringStatus.createFatalErrorStatus("Local variable '" + getTempName() + "' is not initialized at declaration.");  if (canInitializerHaveSideEffects()) result.addWarning("Local variable '" + getTempName() + "' is initialized with an expression that can have side effects.");  result.merge(checkAssignments()); return result;
pm.beginTask("", 1); return new RefactoringStatus();
	public RefactoringStatus checkInput(IProgressMonitor pm) throws JavaModelException {		try{			pm.beginTask("Checking preconditions", 1);			fAST= new AST(fCu);						if (fAST.hasProblems()){				RefactoringStatus compileErrors= Checks.checkCompileErrors(fAST, fCu);				if (compileErrors.hasFatalError())					return compileErrors;			}			initializeSelection(); //cannot initialize earlier			if (!fCu.isStructureKnown())				return RefactoringStatus.createFatalErrorStatus("Syntax errors in this compilation unit prevent local variable inlining. Fix the errors first.");									RefactoringStatus result= new RefactoringStatus();						result.merge(checkSelection());			if (result.hasFatalError())				return result;						if (! isTempInitializedAtDeclaration())				return RefactoringStatus.createFatalErrorStatus("Local variable '" + getTempName() + "' is not initialized at declaration.");									if (canInitializerHaveSideEffects())				result.addWarning("Local variable '" + getTempName() + "' is initialized with an expression that can have side effects.");						result.merge(checkAssignments());			return result;		} finally{			pm.done();		}		}