Bug 76649 New 'Inexact Argument for Varargs' compiler option
* COMPILER / Reporting Inexact Argument for Varargs Method/Constructor Invocation * When enabled, the compiler will issue an error or a warning whenever a varargs method/constructor is invoked with an inexact * argument (e.g. Class.getMethod(String name, Class ... args ) invoked with arguments ("foo", null)) * with inexact type match. * - option id: "org.eclipse.jdt.core.compiler.problem.inexactVarargsArgument" * - possible values: { "error", "warning", "ignore" } * - default: "warning" To be added to the 1.5 tag on the compiler
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/CompilerConfigurationBlock.java
*/		
	private void updateComplianceEnableState() {
		boolean enabled= checkValue(INTR_DEFAULT_COMPLIANCE, USER_CONF);
		for (int i= fComplianceControls.size() - 1; i >= 0; i--) {
			Control curr= (Control) fComplianceControls.get(i);
			curr.setEnabled(enabled);
		}
	}
	
	private void updateAssertEnumAsIdentifierEnableState() {
		if (checkValue(INTR_DEFAULT_COMPLIANCE, USER_CONF)) {
			Object compatibility= fWorkingValues.get(PREF_SOURCE_COMPATIBILITY);
			
			boolean isLessThan14= VERSION_1_3.equals(compatibility);
			updateRememberedComplianceOption(PREF_PB_ASSERT_AS_IDENTIFIER, IDX_ASSERT_AS_IDENTIFIER, isLessThan14);
		
			boolean isLessThan15= isLessThan14 || VERSION_1_4.equals(compatibility);
			updateRememberedComplianceOption(PREF_PB_ENUM_AS_IDENTIFIER, IDX_ENUM_AS_IDENTIFIER, isLessThan15);
		}
	}
	
	private void updateRememberedComplianceOption(String prefKey, int idx, boolean enabled) {
		Combo combo= getComboBox(prefKey);
		combo.setEnabled(enabled);
		
		if (!enabled) {
			String val= (String) fWorkingValues.get(prefKey);
			if (!ERROR.equals(val)) {
				fWorkingValues.put(prefKey, ERROR);
				updateCombo(combo);