Bug 29726 New compiler setting added: OPTION_ReportIncompatibleNonInheritedInterfaceMethod
JavaCore#OPTION_ReportIncompatibleNonInheritedInterfaceMethod COMPILER / Reporting Interface Method not Compatible with non-Inherited Methods When enabled, the compiler will issue an error or a warning whenever an interface defines a method incompatible with a non-inherited Object one. - option id: "org.eclipse.jdt.core.compiler.incompatibleNonInheritedInterfaceMeth od" - possible values: { "error", "warning", "ignore" } - default: "warning" --- FYI - we used to always be reporting an error, where we should not. Now we default to a warning - not critical for 2.1M5, default is likely the best anyway. test case: interface I { int clone(); // should only be a warning }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/CompilerConfigurationBlock.java
private void doFullBuild() {
		ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell());
		try {
			dialog.run(true, true, new IRunnableWithProgress() {
				public void run(IProgressMonitor monitor) throws InvocationTargetException {
					try {
						if (fProject != null) {
							fProject.getProject().build(IncrementalProjectBuilder.FULL_BUILD, monitor);
						} else {
							JavaPlugin.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, monitor);
						}
					} catch (CoreException e) {
						throw new InvocationTargetException(e);
					}
				}
			});
		} catch (InterruptedException e) {
			
		} catch (InvocationTargetException e) {
			String title= PreferencesMessages.getString("CompilerConfigurationBlock.builderror.title"); 
			String message= PreferencesMessages.getString("CompilerConfigurationBlock.builderror.message"); 
			ExceptionHandler.handle(e, getShell(), title, message);
		}
	}		
	
	public void performDefaults() {
		fWorkingValues= JavaCore.getDefaultOptions();
		fWorkingValues.put(INTR_DEFAULT_COMPLIANCE, getCurrentCompliance());
		updateControls();
		validateSettings(null, null);