Bug 85901 Code assist/auto completion - overwrite method not working
Overwriting methods from superclass with two or more parameters does not work properly in M5. It gives me the method header without the body and all parameter types fully qualified. When i disable Prefs->Java->Code Assist->Advanced->"Add import instead of qualified name" code assist gives me no autocompletion for overriding methods at all. Example: import java.util.Random; public class Foo { public void f(Random a, int b) { } } public class Bla extends Foo { f//hit ctrl-space } With "Add import instead of qualified name" checked, choosing the override f() from Foo in the code assist popup will lead to public class Bla extends Foo{ public void f(java.util.Random a,int b)// cursor blinking here } With "Add import instead of qualified name" unchecked, the code assist popup does not show me any override options at all. Autocompletion for methods with no or one parameter(s) seem to work.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ResultCollector.java
fKeywords= new ArrayList(10), 
		fLabels= new ArrayList(10),
		fMethods= new ArrayList(),
		fModifiers= new ArrayList(10),
		fPackages= new ArrayList(),
		fTypes= new ArrayList(),
		fVariables= new ArrayList();
	
	private final List[] fResults = new List[] {
		fPackages, fLabels, fModifiers, fKeywords, fTypes, fMethods, fFields, fVariables
	};
	
	private final Set fSuggestedMethodNames= new HashSet();
	private final ImageDescriptorRegistry fRegistry= JavaPlugin.getImageDescriptorRegistry();
	private final ProposalLabelProvider fLabelProvider= new ProposalLabelProvider();
	
	private IJavaProject fJavaProject;
	private ICompilationUnit fCompilationUnit; 
	private int fCodeAssistOffset;
	private int fContextOffset;
	private ITextViewer fTextViewer;
	private int fUserReplacementLength;
	private IProblem fLastProblem;	
	
	/*
	 * Is eating code assist enabled or disabled? PR #3666
	 * When eating is enabled, JavaCompletionProposal must be revisited: PR #5533
	 */
	private boolean fPreventEating= true;
	private long fStartTime;