Bug 66170 Different implementation of method override - ctrl+space vs Override/Implement method dialog [code manipulation]
I'm in a class that extends Wizard. Seems strange (wrong) to me that when I type "createp" and ctrl+space in the editor I get: public void createPageControls(Composite pageContainer) { // TODO Auto-generated method stub } But when I use the Source > Override/Implement Methods... to get the dialog and select createControl I get: public void createPageControls(Composite pageContainer) { // TODO Auto-generated method stub super.createPageControls(pageContainer); } Why no super in the ctrl+space generation of the overridden method? If by design it seems confusing by design (the inconsistency). This 3.0 behavior is consistent with what happens in 2.1 - but not sure if that means it is right. Feels wrong.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/OverrideCompletionProposal.java
Assert.isNotNull(methodName);
		Assert.isNotNull(declaringTypeName);
		Assert.isNotNull(paramTypes);
		fTypeName= declaringTypeName;
		fParamTypes= paramTypes;
		fMethodName= methodName;
		fJavaProject= jproject;
	}
	/* (non-Javadoc)
	 * @see JavaTypeCompletionProposal#updateReplacementString(IDocument, char, int, ImportsStructure)
	 */
	protected boolean updateReplacementString(IDocument document, char trigger, int offset, ImportsStructure impStructure) throws CoreException, BadLocationException {
		IType declaringType= fJavaProject.findType(fTypeName);
		if (declaringType != null) {
			IMethod method= JavaModelUtil.findMethod(fMethodName, fParamTypes, false, declaringType);
			if (method != null) {
				GenStubSettings settings= new GenStubSettings(JavaPreferencesSettings.getCodeGenerationSettings());
				IType definingType= null;
				if (impStructure != null) {
					IJavaElement currElem= impStructure.getCompilationUnit().getElementAt(offset);
					if (currElem != null) {
						definingType= (IType) currElem.getAncestor(IJavaElement.TYPE);
					}
				}
				int flags= method.getFlags();
				settings.noBody= (definingType != null) && definingType.isInterface();
				settings.callSuper= declaringType.isClass() && !Flags.isAbstract(flags) && !Flags.isStatic(flags);
				settings.methodOverwrites= !Flags.isStatic(flags);
				settings.methodModifiers= flags;