Bug 117493 [content assist] CompletionRequestor#completionFailure(IProblem)) is ignored
This got introduced after 3.2 M1 (i.e. broken in 3.2 M2 and newer). If completion fails we now always show: "No completion available." instead of the real error text. Example: for (Iterator i=things.iterator(); i.<ctrl-space> // Iterator not yet imported)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/LegacyJavadocCompletionProposalComputer.java
import org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor;
import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext;
import org.eclipse.jdt.internal.ui.JavaPlugin;
/**
 * Java doc completion processor using contributed IJavaDocCompletionProcessor's
 * to evaluate proposals.
 */
public class LegacyJavadocCompletionProposalComputer implements ICompletionProposalComputer {
	private static final String PROCESSOR_CONTRIBUTION_ID= "javadocCompletionProcessor"; 
	private IJavadocCompletionProcessor[] fSubProcessors;
	public LegacyJavadocCompletionProposalComputer() {
		fSubProcessors= null;
	}
	private IJavadocCompletionProcessor[] getContributedProcessors() {
		if (fSubProcessors == null) {
			try {
				IExtensionRegistry registry= Platform.getExtensionRegistry();
				IConfigurationElement[] elements=	registry.getConfigurationElementsFor(JavaUI.ID_PLUGIN, PROCESSOR_CONTRIBUTION_ID);
				IJavadocCompletionProcessor[] result= new IJavadocCompletionProcessor[elements.length];
				for (int i= 0; i < elements.length; i++) {
					result[i]= (IJavadocCompletionProcessor) elements[i].createExecutableExtension("class"); 
				}
				fSubProcessors= result;
			} catch (CoreException e) {
				JavaPlugin.log(e);
				fSubProcessors= new IJavadocCompletionProcessor[] { new JavaDocCompletionEvaluator() };
			}
		}
		return fSubProcessors;
	}