Java源码示例:org.eclipse.jdt.ui.cleanup.CleanUpContext

示例1
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean addFinal= isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL);
	if (!addFinal)
		return null;

	return VariableDeclarationFix.createCleanUp(compilationUnit,
			isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_PRIVATE_FIELDS),
			isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_PARAMETERS),
			isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_LOCAL_VARIABLES));
}
 
示例2
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	ICompilationUnit compilationUnit= context.getCompilationUnit();
	if (compilationUnit == null)
		return null;

	IRegion[] regions;
	if (context instanceof MultiLineCleanUpContext) {
		regions= ((MultiLineCleanUpContext)context).getRegions();
	} else {
		regions= null;
	}

	boolean removeWhitespaces= isEnabled(CleanUpConstants.FORMAT_REMOVE_TRAILING_WHITESPACES);
	return CodeFormatFix.createCleanUp(compilationUnit,
			regions,
			isEnabled(CleanUpConstants.FORMAT_SOURCE_CODE),
			removeWhitespaces && isEnabled(CleanUpConstants.FORMAT_REMOVE_TRAILING_WHITESPACES_ALL),
			removeWhitespaces && isEnabled(CleanUpConstants.FORMAT_REMOVE_TRAILING_WHITESPACES_IGNORE_EMPTY),
			isEnabled(CleanUpConstants.FORMAT_CORRECT_INDENTATION));
}
 
示例3
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean sortMembers= isEnabled(CleanUpConstants.SORT_MEMBERS);
	ICleanUpFix fix= SortMembersFix.createCleanUp(compilationUnit, sortMembers, sortMembers && isEnabled(CleanUpConstants.SORT_MEMBERS_ALL));
	if (fix != null) {
		if (fTouchedFiles == null) {
			fTouchedFiles= new HashSet<IResource>();
		}
		fTouchedFiles.add(((ICompilationUnit)compilationUnit.getJavaElement()).getResource());
	}
	return fix;
}
 
示例4
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean useBlocks= isEnabled(CleanUpConstants.CONTROL_STATEMENTS_USE_BLOCKS);
	if (!useBlocks)
		return null;

	return ControlStatementsFix.createCleanUp(compilationUnit,
			isEnabled(CleanUpConstants.CONTROL_STATMENTS_USE_BLOCKS_ALWAYS),
			isEnabled(CleanUpConstants.CONTROL_STATMENTS_USE_BLOCKS_NEVER),
			isEnabled(CleanUpConstants.CONTROL_STATMENTS_USE_BLOCKS_NO_FOR_RETURN_AND_THROW));
}
 
示例5
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(final CleanUpContext cleanUpCtx) throws CoreException {
	final CompilationUnit compilationUnit = cleanUpCtx.getAST();
	ICleanUpFix fix = null;
	if (compilationUnit != null) {
		fix = CopyrightFix.createCleanUp(compilationUnit,
				options.isEnabled(CopyrightConstants.CLEANUP_ADD_COPYRIGHTS),
				options.isEnabled(CopyrightConstants.CLEANUP_OVERRIDE_COPYRIGHTS));
	}
	return fix;
}
 
示例6
private ICleanUp[] calculateSolutions(CleanUpContext context, ICleanUp[] cleanUps) {
	List<ICleanUp>result= new ArrayList<ICleanUp>();
	CleanUpChange solution;
	try {
		solution= calculateChange(context, cleanUps, result, null);
	} catch (CoreException e) {
		throw new FixCalculationException(e);
	}

	if (solution != null) {
		integrateSolution(solution, context.getCompilationUnit());
	}

	return result.toArray(new ICleanUp[result.size()]);
}
 
示例7
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean usePrentheses= isEnabled(CleanUpConstants.EXPRESSIONS_USE_PARENTHESES);
	if (!usePrentheses)
		return null;

	return ExpressionsFix.createCleanUp(compilationUnit,
			isEnabled(CleanUpConstants.EXPRESSIONS_USE_PARENTHESES_ALWAYS),
			isEnabled(CleanUpConstants.EXPRESSIONS_USE_PARENTHESES_NEVER));
}
 
示例8
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean convertFunctionalInterfaces= isEnabled(CleanUpConstants.CONVERT_FUNCTIONAL_INTERFACES);
	if (!convertFunctionalInterfaces)
		return null;

	return LambdaExpressionsFix.createCleanUp(compilationUnit,
			isEnabled(CleanUpConstants.USE_LAMBDA),
			isEnabled(CleanUpConstants.USE_ANONYMOUS_CLASS_CREATION));
}
 
示例9
/**
 * {@inheritDoc}
 */
@Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit compilationUnit= context.getAST();
	if (compilationUnit == null)
		return null;

	boolean convertForLoops= isEnabled(CleanUpConstants.CONTROL_STATMENTS_CONVERT_FOR_LOOP_TO_ENHANCED);

	return ConvertLoopFix.createCleanUp(compilationUnit,
			convertForLoops, convertForLoops,
			isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL) && isEnabled(CleanUpConstants.VARIABLE_DECLARATIONS_USE_FINAL_LOCAL_VARIABLES));
}
 
示例10
/**
    * {@inheritDoc}
    */
   @Override
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
   	CompilationUnit compilationUnit= context.getAST();
   	if (compilationUnit == null)
   		return null;

	return ImportsFix.createCleanUp(compilationUnit, fCodeGeneratorSettings,
			isEnabled(CleanUpConstants.ORGANIZE_IMPORTS), fStatus);
}
 
示例11
@Override
public final ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	CompilationUnit unit= context.getAST();
	if (unit == null)
		return null;

	if (context instanceof MultiFixContext) {
		return createFix(unit, ((MultiFixContext)context).getProblemLocations());
	} else {
		return createFix(unit);
	}
}
 
示例12
/**
 * {@inheritDoc}
 */
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	if (!fOptions.isEnabled(UPDATE_IBM_COPYRIGHT_TO_CURRENT_YEAR))
		return null;
	
	return UpdateCopyrightFix.createCleanUp(context.getCompilationUnit(), true);
}
 
示例13
public static CleanUpChange calculateChange(CleanUpContext context, ICleanUp[] cleanUps, List<ICleanUp> undoneCleanUps, HashSet<ICleanUp> slowCleanUps) throws CoreException {
	if (cleanUps.length == 0)
		return null;

	CleanUpChange solution= null;
	int i= 0;
	do {
		ICleanUp cleanUp= cleanUps[i];
		ICleanUpFix fix;
		if (slowCleanUps != null) {
			long timeBefore= System.currentTimeMillis();
			fix= cleanUp.createFix(context);
			if (System.currentTimeMillis() - timeBefore > SLOW_CLEAN_UP_THRESHOLD)
				slowCleanUps.add(cleanUp);
		} else {
			fix= cleanUp.createFix(context);
		}
		if (fix != null) {
			CompilationUnitChange current= fix.createChange(null);
			TextEdit currentEdit= current.getEdit();

			if (solution != null) {
				if (TextEditUtil.overlaps(currentEdit, solution.getEdit())) {
					undoneCleanUps.add(cleanUp);
				} else {
					CleanUpChange merge= new CleanUpChange(FixMessages.CleanUpRefactoring_clean_up_multi_chang_name, context.getCompilationUnit());
					merge.setEdit(TextEditUtil.merge(currentEdit, solution.getEdit()));

					copyChangeGroups(merge, solution);
					copyChangeGroups(merge, current);

					solution= merge;
				}
			} else {
				solution= new CleanUpChange(current.getName(), context.getCompilationUnit());
				solution.setEdit(currentEdit);

				copyChangeGroups(solution, current);
			}
		}
		i++;
	} while (i < cleanUps.length && (context.getAST() == null || !cleanUps[i].getRequirements().requiresFreshAST()));

	for (; i < cleanUps.length; i++) {
		undoneCleanUps.add(cleanUps[i]);
	}
	return solution;
}
 
示例14
public ICleanUpFix createFix(CleanUpContext context) throws CoreException {
	return null;
}