| /******************************************************************************* |
| * Copyright (c) 2008 xored software, Inc. |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * xored software, Inc. - initial API and Implementation (Alex Panchenko) |
| *******************************************************************************/ |
| package org.eclipse.dltk.ui.text; |
| |
| import org.eclipse.core.resources.IMarker; |
| import org.eclipse.dltk.ui.editor.IScriptAnnotation; |
| |
| /** |
| * Quick assist processor for quick fixes and quick assists. |
| * |
| * Implementations are contributed via |
| * <code>org.eclipse.dltk.ui.correctionProcessor</code> extension point. |
| */ |
| public interface IScriptCorrectionProcessor { |
| |
| /** |
| * Tells whether this processor has a fix for the given annotation. |
| * <p> |
| * <strong>Note:</strong> This test must be fast and optimistic i.e. it is |
| * OK to return <code>true</code> even though there might be no quick fix. |
| * </p> |
| * |
| * @param annotation |
| * the annotation |
| * @return <code>true</code> if the assistant has a fix for the given |
| * annotation |
| */ |
| boolean canFix(IScriptAnnotation annotation); |
| |
| boolean canFix(IMarker marker); |
| |
| void computeQuickAssistProposals(IScriptAnnotation annotation, |
| IScriptCorrectionContext context); |
| |
| void computeQuickAssistProposals(IMarker marker, |
| IScriptCorrectionContext context); |
| |
| } |