Bug 127184 New API elements missing @since
Build id: I20060208-0848 The following new API elements in Eclipse 3.2 are missing "@since 3.2" tags: org.eclipse.jdt.ui.actions.FindExceptionOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.FindImplementOccurrencesAction#selectionChanged(org.eclipse.jface.viewers.IStructuredSelection) org.eclipse.jdt.ui.actions.JdtActionConstants#INTRODUCE_INDIRECTION org.eclipse.jdt.ui.jarpackager.JarPackageData#createJarWriter3(org.eclipse.swt.widgets.Shell) org.eclipse.ltk.core.refactoring.CompositeChange#getRefactoringDescriptor() org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#MISSING_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#UNSUPPORTED_REFACTORING_HISTORY_VERSION org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_IO_ERROR org.eclipse.ltk.core.refactoring.IRefactoringCoreStatusCodes#REFACTORING_HISTORY_FORMAT_ERROR org.eclipse.ltk.core.refactoring.TextChange#getPreviewContent(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup[], org.eclipse.jface.text.IRegion, boolean, int, org.eclipse.core.runtime.IProgressMonitor) org.eclipse.ltk.core.refactoring.participants.CopyArguments#toString() org.eclipse.ltk.core.refactoring.participants.CreateArguments#toString() org.eclipse.ltk.core.refactoring.participants.DeleteArguments#toString() org.eclipse.ltk.core.refactoring.participants.MoveArguments#toString() org.eclipse.ltk.core.refactoring.participants.RenameArguments#toString() org.eclipse.ltk.ui.refactoring.RefactoringUI#createLightWeightStatusDialog(org.eclipse.ltk.core.refactoring.RefactoringStatus, org.eclipse.swt.widgets.Shell, java.lang.String)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/actions/FindImplementOccurrencesAction.java
*/
	public void selectionChanged(ITextSelection selection) {
	}
	
	/* (non-JavaDoc)
	 * Method declared in SelectionDispatchAction.
	 */
	public void selectionChanged(IStructuredSelection selection) {
		setEnabled(getMember(selection) != null);
	}
	/*
	 * @see org.eclipse.jdt.ui.actions.SelectionDispatchAction#run(org.eclipse.jface.text.ITextSelection)
	 */
	public final void run(ITextSelection ts) {
		IJavaElement input= getEditorInput(fEditor);
		if (!ActionUtil.isProcessable(getShell(), input))
			return;
		FindOccurrencesEngine engine= FindOccurrencesEngine.create(input, new ImplementOccurrencesFinder());
		try {
			String result= engine.run(ts.getOffset(), ts.getLength());
			if (result != null)
				showMessage(getShell(), fEditor, result);
		} catch (JavaModelException e) {
			JavaPlugin.log(e);
		}
	}
	private static IJavaElement getEditorInput(JavaEditor editor) {
		IEditorInput input= editor.getEditorInput();
		if (input instanceof IClassFileEditorInput)
			return ((IClassFileEditorInput)input).getClassFile();