use of org.eclipse.ltk.core.refactoring.NullChange in project che by eclipse.
the class UnimplementedCodeFix method createAddUnimplementedMethodsFix.
public static IProposableFix createAddUnimplementedMethodsFix(final CompilationUnit root, IProblemLocation problem) {
ASTNode typeNode = getSelectedTypeNode(root, problem);
if (typeNode == null)
return null;
if (isTypeBindingNull(typeNode))
return null;
AddUnimplementedMethodsOperation operation = new AddUnimplementedMethodsOperation(typeNode);
if (operation.getMethodsToImplement().length > 0) {
return new UnimplementedCodeFix(CorrectionMessages.UnimplementedMethodsCorrectionProposal_description, root, new CompilationUnitRewriteOperation[] { operation });
} else {
return new IProposableFix() {
public CompilationUnitChange createChange(IProgressMonitor progressMonitor) throws CoreException {
CompilationUnitChange change = new CompilationUnitChange(CorrectionMessages.UnimplementedMethodsCorrectionProposal_description, (ICompilationUnit) root.getJavaElement()) {
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
//TODO
return new NullChange();
}
};
change.setEdit(new MultiTextEdit());
return change;
}
public String getAdditionalProposalInfo() {
return new String();
}
public String getDisplayString() {
return CorrectionMessages.UnimplementedMethodsCorrectionProposal_description;
}
public IStatus getStatus() {
return new Status(IStatus.ERROR, JavaPlugin.ID_PLUGIN, CorrectionMessages.UnimplementedCodeFix_DependenciesStatusMessage);
}
};
}
}
use of org.eclipse.ltk.core.refactoring.NullChange in project che by eclipse.
the class DeleteSourceManipulationChange method doDelete.
/*
* @see DeleteChange#doDelete(IProgressMonitor)
*/
@Override
protected Change doDelete(IProgressMonitor pm) throws CoreException {
ISourceManipulation element = getSourceManipulation();
// since the primary working copy still exists.
if (element instanceof ICompilationUnit) {
//$NON-NLS-1$
pm.beginTask("", 2);
ICompilationUnit unit = (ICompilationUnit) element;
saveCUnitIfNeeded(unit, new SubProgressMonitor(pm, 1));
IResource resource = unit.getResource();
ResourceDescription resourceDescription = ResourceDescription.fromResource(resource);
element.delete(false, new SubProgressMonitor(pm, 1));
resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1));
return new UndoDeleteResourceChange(resourceDescription);
} else if (element instanceof IPackageFragment) {
ICompilationUnit[] units = ((IPackageFragment) element).getCompilationUnits();
//$NON-NLS-1$
pm.beginTask("", units.length + 1);
for (int i = 0; i < units.length; i++) {
// fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=66835
saveCUnitIfNeeded(units[i], new SubProgressMonitor(pm, 1));
}
element.delete(false, new SubProgressMonitor(pm, 1));
// caveat: real undo implemented by UndoablePackageDeleteChange
return new NullChange();
} else {
element.delete(false, pm);
//should not happen
return null;
}
}
Aggregations