diff options
author | Noopur Gupta | 2019-01-23 09:55:02 +0000 |
---|---|---|
committer | Noopur Gupta | 2019-01-23 09:55:02 +0000 |
commit | b823e82835414ca8e5e65074df4d53f946c64310 (patch) | |
tree | a1228b2799a0c324ad9cac5df7a26a63219d6717 | |
parent | 669eddf99071fbc080d679d57b0f9e485230879d (diff) | |
download | eclipse.jdt.ui-b823e82835414ca8e5e65074df4d53f946c64310.tar.gz eclipse.jdt.ui-b823e82835414ca8e5e65074df4d53f946c64310.tar.xz eclipse.jdt.ui-b823e82835414ca8e5e65074df4d53f946c64310.zip |
Change-Id: I70a7df4f97ee540fd443a489e3d9f3f3d94267b6
4 files changed, 142 insertions, 26 deletions
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java index a626501105..9d60885a92 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2018 IBM Corporation and others. + * Copyright (c) 2000, 2019 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -103,11 +103,14 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { private static final Key PREF_CODEGEN_TARGET_PLATFORM= getJDTCoreKey(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM); private static final Key PREF_COMPLIANCE= getJDTCoreKey(JavaCore.COMPILER_COMPLIANCE); private static final Key PREF_RELEASE= getJDTCoreKey(JavaCore.COMPILER_RELEASE); + private static final Key PREF_ENABLE_PREVIEW= getJDTCoreKey(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES); + private static final Key PREF_PB_REPORT_PREVIEW= getJDTCoreKey(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES); /* see also BuildPathSupport#PREFS_COMPLIANCE */ private static final Key[] PREFS_COMPLIANCE= new Key[] { PREF_COMPLIANCE, PREF_PB_ASSERT_AS_IDENTIFIER, PREF_PB_ENUM_AS_IDENTIFIER, - PREF_SOURCE_COMPATIBILITY, PREF_CODEGEN_TARGET_PLATFORM }; + PREF_SOURCE_COMPATIBILITY, PREF_CODEGEN_TARGET_PLATFORM, + PREF_ENABLE_PREVIEW, PREF_PB_REPORT_PREVIEW}; private static final Key PREF_CODEGEN_INLINE_JSR_BYTECODE= getJDTCoreKey(JavaCore.COMPILER_CODEGEN_INLINE_JSR_BYTECODE); @@ -168,6 +171,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { * @see #IDX_INLINE_JSR_BYTECODE * @see #IDX_METHOD_PARAMETERS_ATTR * @see #IDX_RELEASE + * @see #IDX_ENABLE_PREVIEW + * @see #IDX_REPORT_PREVIEW */ private String[] fRememberedUserCompliance; @@ -183,6 +188,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { * @see #IDX_INLINE_JSR_BYTECODE * @see #IDX_METHOD_PARAMETERS_ATTR * @see #IDX_RELEASE + * @see #IDX_ENABLE_PREVIEW + * @see #IDX_REPORT_PREVIEW */ private String[] fOriginalStoredCompliance; @@ -194,6 +201,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { private static final int IDX_INLINE_JSR_BYTECODE= 5; private static final int IDX_METHOD_PARAMETERS_ATTR= 6; private static final int IDX_RELEASE= 7; + private static final int IDX_ENABLE_PREVIEW= 8; + private static final int IDX_REPORT_PREVIEW= 9; private IStatus fComplianceStatus; @@ -202,6 +211,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { private Composite fControlsComposite; private ControlEnableState fBlockEnableState; private Button fComplierReleaseCheck; + private Button fEnablePreviewCheck; + private Combo fReportPreviewCombo; public ComplianceConfigurationBlock(IStatusChangeListener context, IProject project, IWorkbenchPreferenceContainer container) { super(context, project, getKeys(project != null), container); @@ -222,7 +233,9 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { getValue(PREF_COMPLIANCE), getValue(PREF_CODEGEN_INLINE_JSR_BYTECODE), getValue(PREF_CODEGEN_METHOD_PARAMETERS_ATTR), - getValue(PREF_RELEASE) + getValue(PREF_RELEASE), + getValue(PREF_ENABLE_PREVIEW), + getValue(PREF_PB_REPORT_PREVIEW) }; } @@ -230,7 +243,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { Key[] keys= new Key[] { PREF_LOCAL_VARIABLE_ATTR, PREF_LINE_NUMBER_ATTR, PREF_SOURCE_FILE_ATTR, PREF_CODEGEN_UNUSED_LOCAL, PREF_CODEGEN_INLINE_JSR_BYTECODE, INTR_DEFAULT_COMPLIANCE, PREF_COMPLIANCE, PREF_SOURCE_COMPATIBILITY, - PREF_CODEGEN_TARGET_PLATFORM, PREF_PB_ASSERT_AS_IDENTIFIER, PREF_PB_ENUM_AS_IDENTIFIER, PREF_CODEGEN_METHOD_PARAMETERS_ATTR, PREF_RELEASE + PREF_CODEGEN_TARGET_PLATFORM, PREF_PB_ASSERT_AS_IDENTIFIER, PREF_PB_ENUM_AS_IDENTIFIER, PREF_CODEGEN_METHOD_PARAMETERS_ATTR, PREF_RELEASE, + PREF_ENABLE_PREVIEW, PREF_PB_REPORT_PREVIEW }; if (projectSpecific) { @@ -399,6 +413,19 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { int indent= LayoutUtil.getIndent(); + String[] warningInfoIgnore= new String[] { WARNING, INFO, IGNORE }; + String[] warningInfoIgnoreLabels= new String[] { + PreferencesMessages.ComplianceConfigurationBlock_warning, + PreferencesMessages.ComplianceConfigurationBlock_info, + PreferencesMessages.ComplianceConfigurationBlock_ignore + }; + + label= PreferencesMessages.ComplianceConfigurationBlock_enable_preview_label; + fEnablePreviewCheck= addCheckBox(group, label, PREF_ENABLE_PREVIEW, new String[] { ENABLED, DISABLED }, indent); + label= PreferencesMessages.ComplianceConfigurationBlock_enable_preview_severity_label; + fReportPreviewCombo= addComboBox(group, label, PREF_PB_REPORT_PREVIEW, warningInfoIgnore, warningInfoIgnoreLabels, indent * 2); + fReportPreviewCombo.setEnabled(fEnablePreviewCheck.isEnabled() && fEnablePreviewCheck.getSelection()); + label= PreferencesMessages.ComplianceConfigurationBlock_codegen_targetplatform_label; addComboBox(group, label, PREF_CODEGEN_TARGET_PLATFORM, targetVersions, targetLabels, indent); @@ -579,6 +606,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { fComplianceStatus= validateCompliance(); validateComplianceStatus(); } else if (PREF_SOURCE_COMPATIBILITY.equals(changedKey)) { + updatePreviewFeaturesState(); updateAssertEnumAsIdentifierEnableState(); fComplianceStatus= validateCompliance(); } else if (PREF_CODEGEN_TARGET_PLATFORM.equals(changedKey)) { @@ -595,11 +623,17 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { updateControls(); updateInlineJSREnableState(); updateStoreMethodParamNamesEnableState(); + updatePreviewFeaturesState(); updateAssertEnumAsIdentifierEnableState(); fComplianceStatus= validateCompliance(); } else if (PREF_PB_ENUM_AS_IDENTIFIER.equals(changedKey) || PREF_PB_ASSERT_AS_IDENTIFIER.equals(changedKey)) { fComplianceStatus= validateCompliance(); + } else if (PREF_ENABLE_PREVIEW.equals(changedKey)) { + fComplianceStatus= validateCompliance(); + updatePreviewFeaturesState(); + } else if (PREF_PB_REPORT_PREVIEW.equals(changedKey)) { + fComplianceStatus= validateCompliance(); } else { return; } @@ -607,6 +641,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { updateComplianceFollowsEE(); updateControls(); updateComplianceEnableState(); + updatePreviewFeaturesState(); updateAssertEnumAsIdentifierEnableState(); updateInlineJSREnableState(); updateStoreMethodParamNamesEnableState(); @@ -628,7 +663,9 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { getOriginalStoredValue(PREF_COMPLIANCE), getOriginalStoredValue(PREF_CODEGEN_INLINE_JSR_BYTECODE), getOriginalStoredValue(PREF_CODEGEN_METHOD_PARAMETERS_ATTR), - getOriginalStoredValue(PREF_RELEASE) + getOriginalStoredValue(PREF_RELEASE), + getOriginalStoredValue(PREF_ENABLE_PREVIEW), + getOriginalStoredValue(PREF_PB_REPORT_PREVIEW) }; } else { @@ -640,7 +677,9 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { getOriginalStoredValue(PREF_COMPLIANCE), getOriginalStoredValue(PREF_CODEGEN_INLINE_JSR_BYTECODE), getOriginalStoredValue(PREF_CODEGEN_METHOD_PARAMETERS_ATTR), - getOriginalStoredValue(PREF_RELEASE) + getOriginalStoredValue(PREF_RELEASE), + getOriginalStoredValue(PREF_ENABLE_PREVIEW), + getOriginalStoredValue(PREF_PB_REPORT_PREVIEW) }; if (!Arrays.equals(fOriginalStoredCompliance, storedCompliance)) { // compliance changed on disk -> override user modifications @@ -655,6 +694,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { setValue(PREF_CODEGEN_INLINE_JSR_BYTECODE, storedCompliance[IDX_INLINE_JSR_BYTECODE]); setValue(PREF_CODEGEN_METHOD_PARAMETERS_ATTR, storedCompliance[IDX_METHOD_PARAMETERS_ATTR]); setValue(PREF_RELEASE, storedCompliance[IDX_RELEASE]); + setValue(PREF_ENABLE_PREVIEW, storedCompliance[IDX_ENABLE_PREVIEW]); + setValue(PREF_PB_REPORT_PREVIEW, storedCompliance[IDX_REPORT_PREVIEW]); } updateComplianceFollowsEE(); @@ -663,6 +704,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { validateComplianceStatus(); updateInlineJSREnableState(); updateAssertEnumAsIdentifierEnableState(); + updatePreviewFeaturesState(); updateStoreMethodParamNamesEnableState(); } } @@ -891,6 +933,19 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { } curr.setEnabled(enable); } + if (controls.contains(fReportPreviewCombo)) { + fReportPreviewCombo.setEnabled(fEnablePreviewCheck.isEnabled() && fEnablePreviewCheck.getSelection()); + } + } + + private void updatePreviewFeaturesState() { + if (checkValue(INTR_DEFAULT_COMPLIANCE, USER_CONF)) { + String compatibility= getValue(PREF_SOURCE_COMPATIBILITY); + + boolean isLessThan11= JavaModelUtil.isVersionLessThan(compatibility, VERSION_11); + updateRememberedComplianceOption(PREF_ENABLE_PREVIEW, IDX_ENABLE_PREVIEW, !isLessThan11, null); + updateRememberedComplianceOption(PREF_PB_REPORT_PREVIEW, IDX_REPORT_PREVIEW, fEnablePreviewCheck.isEnabled() && fEnablePreviewCheck.getSelection(), WARNING); + } } private void updateAssertEnumAsIdentifierEnableState() { @@ -898,31 +953,59 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { String compatibility= getValue(PREF_SOURCE_COMPATIBILITY); boolean isLessThan14= VERSION_1_3.equals(compatibility); - updateRememberedComplianceOption(PREF_PB_ASSERT_AS_IDENTIFIER, IDX_ASSERT_AS_IDENTIFIER, isLessThan14); + updateRememberedComplianceOption(PREF_PB_ASSERT_AS_IDENTIFIER, IDX_ASSERT_AS_IDENTIFIER, isLessThan14, ERROR); boolean isLessThan15= isLessThan14 || VERSION_1_4.equals(compatibility); - updateRememberedComplianceOption(PREF_PB_ENUM_AS_IDENTIFIER, IDX_ENUM_AS_IDENTIFIER, isLessThan15); + updateRememberedComplianceOption(PREF_PB_ENUM_AS_IDENTIFIER, IDX_ENUM_AS_IDENTIFIER, isLessThan15, ERROR); } } - private void updateRememberedComplianceOption(Key prefKey, int idx, boolean enabled) { - Combo combo= getComboBox(prefKey); - combo.setEnabled(enabled); + private void updateRememberedComplianceOption(Key prefKey, int idx, boolean enabled, String defaultComboValue) { + if (prefKey.getName().equals(PREF_ENABLE_PREVIEW.getName())) { + Button checkBox= getCheckBox(prefKey); + boolean wasCheckBoxEnabled= checkBox.isEnabled(); + checkBox.setEnabled(enabled); + + if (enabled) { + if (!wasCheckBoxEnabled) { + String val= fRememberedUserCompliance[idx]; + if (ENABLED.equals(val)) { + setValue(PREF_ENABLE_PREVIEW, val); + updateCheckBox(checkBox); + } + } + } else { + String val= getValue(PREF_ENABLE_PREVIEW); + if (wasCheckBoxEnabled) { + fRememberedUserCompliance[idx]= val; + } - if (!enabled) { - String val= getValue(prefKey); - if (!ERROR.equals(val)) { - setValue(prefKey, ERROR); - updateCombo(combo); - fRememberedUserCompliance[idx]= val; + if (ENABLED.equals(val)) { + setValue(PREF_ENABLE_PREVIEW, DISABLED); + updateCheckBox(checkBox); + } } + } else { - String val= fRememberedUserCompliance[idx]; - if (!ERROR.equals(val)) { - setValue(prefKey, val); - updateCombo(combo); + Combo combo= getComboBox(prefKey); + combo.setEnabled(enabled); + + if (!enabled) { + String val= getValue(prefKey); + if (!defaultComboValue.equals(val)) { + setValue(prefKey, defaultComboValue); + updateCombo(combo); + fRememberedUserCompliance[idx]= val; + } + } else { + String val= fRememberedUserCompliance[idx]; + if (!defaultComboValue.equals(val)) { + setValue(prefKey, val); + updateCombo(combo); + } } } + } private void updateInlineJSREnableState() { @@ -989,7 +1072,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { * @param oldComplianceLevel the previous compliance level */ private void updateComplianceDefaultSettings(boolean rememberOld, String oldComplianceLevel) { - String assertAsId, enumAsId, source, target; + String enablePreview, reportPreview, assertAsId, enumAsId, source, target; boolean isDefault= checkValue(INTR_DEFAULT_COMPLIANCE, DEFAULT_CONF); boolean isFollowEE= checkValue(INTR_COMPLIANCE_FOLLOWS_EE, DEFAULT_CONF); String complianceLevel= getValue(PREF_COMPLIANCE); @@ -1001,6 +1084,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { oldComplianceLevel= complianceLevel; } + fRememberedUserCompliance[IDX_ENABLE_PREVIEW]= getValue(PREF_ENABLE_PREVIEW); + fRememberedUserCompliance[IDX_REPORT_PREVIEW]= getValue(PREF_PB_REPORT_PREVIEW); fRememberedUserCompliance[IDX_ASSERT_AS_IDENTIFIER]= getValue(PREF_PB_ASSERT_AS_IDENTIFIER); fRememberedUserCompliance[IDX_ENUM_AS_IDENTIFIER]= getValue(PREF_PB_ENUM_AS_IDENTIFIER); fRememberedUserCompliance[IDX_SOURCE_COMPATIBILITY]= getValue(PREF_SOURCE_COMPATIBILITY); @@ -1015,6 +1100,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { if (eeOptions == null) return; + enablePreview= eeOptions.get(PREF_ENABLE_PREVIEW.getName()); + reportPreview= eeOptions.get(PREF_PB_REPORT_PREVIEW.getName()); assertAsId= eeOptions.get(PREF_PB_ASSERT_AS_IDENTIFIER.getName()); enumAsId= eeOptions.get(PREF_PB_ENUM_AS_IDENTIFIER.getName()); source= eeOptions.get(PREF_SOURCE_COMPATIBILITY.getName()); @@ -1032,6 +1119,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { } } else if (isRelease) { + enablePreview= getValue(PREF_ENABLE_PREVIEW); + reportPreview= getValue(PREF_PB_REPORT_PREVIEW); source= getValue(PREF_COMPLIANCE); target= getValue(PREF_COMPLIANCE); assertAsId= getValue(PREF_PB_ASSERT_AS_IDENTIFIER); @@ -1040,11 +1129,15 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { HashMap<String, String> options= new HashMap<>(); JavaModelUtil.setComplianceOptions(options, complianceLevel); if (complianceLevel.equals(options.get(JavaCore.COMPILER_COMPLIANCE))) { + enablePreview= options.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES); + reportPreview= options.get(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES); source= options.get(JavaCore.COMPILER_SOURCE); target= options.get(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM); assertAsId= options.get(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER); enumAsId= options.get(JavaCore.COMPILER_PB_ENUM_IDENTIFIER); } else { + enablePreview= DISABLED; + reportPreview= WARNING; assertAsId= IGNORE; enumAsId= IGNORE; source= VERSION_1_3; @@ -1053,23 +1146,29 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { } } else { if (rememberOld && complianceLevel.equals(fRememberedUserCompliance[IDX_COMPLIANCE])) { + enablePreview= fRememberedUserCompliance[IDX_ENABLE_PREVIEW]; + reportPreview= fRememberedUserCompliance[IDX_REPORT_PREVIEW]; assertAsId= fRememberedUserCompliance[IDX_ASSERT_AS_IDENTIFIER]; enumAsId= fRememberedUserCompliance[IDX_ENUM_AS_IDENTIFIER]; source= fRememberedUserCompliance[IDX_SOURCE_COMPATIBILITY]; target= fRememberedUserCompliance[IDX_CODEGEN_TARGET_PLATFORM]; } else { updateInlineJSREnableState(); + updatePreviewFeaturesState(); updateAssertEnumAsIdentifierEnableState(); updateStoreMethodParamNamesEnableState(); return; } } + setValue(PREF_ENABLE_PREVIEW, enablePreview); + setValue(PREF_PB_REPORT_PREVIEW, reportPreview); setValue(PREF_PB_ASSERT_AS_IDENTIFIER, assertAsId); setValue(PREF_PB_ENUM_AS_IDENTIFIER, enumAsId); setValue(PREF_SOURCE_COMPATIBILITY, source); setValue(PREF_CODEGEN_TARGET_PLATFORM, target); updateControls(); updateInlineJSREnableState(); + updatePreviewFeaturesState(); updateAssertEnumAsIdentifierEnableState(); updateStoreMethodParamNamesEnableState(); } @@ -1095,6 +1194,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { JavaModelUtil.setComplianceOptions(defaultOptions, complianceLevel); if (complianceLevel.equals(defaultOptions.get(JavaCore.COMPILER_COMPLIANCE)) + && getValue(PREF_ENABLE_PREVIEW).equals(defaultOptions.get(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES)) + && getValue(PREF_PB_REPORT_PREVIEW).equals(defaultOptions.get(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES)) && getValue(PREF_SOURCE_COMPATIBILITY).equals(defaultOptions.get(JavaCore.COMPILER_SOURCE)) && getValue(PREF_CODEGEN_TARGET_PLATFORM).equals(defaultOptions.get(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM)) && getValue(PREF_PB_ASSERT_AS_IDENTIFIER).equals(defaultOptions.get(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER)) @@ -1176,6 +1277,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { Map<String, String> complianceOptions= new HashMap<>(); JavaModelUtil.setComplianceOptions(complianceOptions, complianceLevel); setDefaultValue(PREF_COMPLIANCE, complianceOptions.get(PREF_COMPLIANCE.getName())); + setDefaultValue(PREF_ENABLE_PREVIEW, complianceOptions.get(PREF_ENABLE_PREVIEW.getName())); + setDefaultValue(PREF_PB_REPORT_PREVIEW, complianceOptions.get(PREF_PB_REPORT_PREVIEW.getName())); setDefaultValue(PREF_PB_ASSERT_AS_IDENTIFIER, complianceOptions.get(PREF_PB_ASSERT_AS_IDENTIFIER.getName())); setDefaultValue(PREF_PB_ENUM_AS_IDENTIFIER, complianceOptions.get(PREF_PB_ENUM_AS_IDENTIFIER.getName())); setDefaultValue(PREF_SOURCE_COMPATIBILITY, complianceOptions.get(PREF_SOURCE_COMPATIBILITY.getName())); @@ -1199,6 +1302,8 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock { && equals(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, bundleDefaults, options) && equals(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, bundleDefaults, options) && equals(JavaCore.COMPILER_PB_ENUM_IDENTIFIER, bundleDefaults, options) + && equals(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, bundleDefaults, options) + && equals(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES, bundleDefaults, options) && equals(JavaCore.COMPILER_RELEASE, bundleDefaults, options); } diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java index 1b6558b697..d882209b43 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2018 IBM Corporation and others. + * Copyright (c) 2000, 2019 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -535,6 +535,8 @@ public final class PreferencesMessages extends NLS { public static String ComplianceConfigurationBlock_codegen_method_parameters_attr; public static String ComplianceConfigurationBlock_compiler_compliance_label; public static String ComplianceConfigurationBlock_default_settings_label; + public static String ComplianceConfigurationBlock_enable_preview_label; + public static String ComplianceConfigurationBlock_enable_preview_severity_label; public static String ComplianceConfigurationBlock_source_compatibility_label; public static String ComplianceConfigurationBlock_codegen_targetplatform_label; public static String ComplianceConfigurationBlock_pb_assert_as_identifier_label; diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties index 8da784d221..fa5c00ce5d 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2018 IBM Corporation and others. +# Copyright (c) 2000, 2019 IBM Corporation and others. # # This program and the accompanying materials # are made available under the terms of the Eclipse Public License 2.0 @@ -606,6 +606,8 @@ ComplianceConfigurationBlock_codegen_inline_jsr_bytecode_label=Inline finally bl ComplianceConfigurationBlock_codegen_method_parameters_attr=&Store information about method parameters (usable via reflection) ComplianceConfigurationBlock_compiler_compliance_label=Comp&iler compliance level: ComplianceConfigurationBlock_default_settings_label=Use defaul&t compliance settings +ComplianceConfigurationBlock_enable_preview_label=Enable &preview features +ComplianceConfigurationBlock_enable_preview_severity_label=Preview features with se&verity level: ComplianceConfigurationBlock_source_compatibility_label=Source co&mpatibility: ComplianceConfigurationBlock_codegen_targetplatform_label=Ge&nerated .class files compatibility: ComplianceConfigurationBlock_pb_assert_as_identifier_label=Disallow identifie&rs called 'assert': diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathSupport.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathSupport.java index e6fc127055..08111170ce 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathSupport.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/BuildPathSupport.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2011 IBM Corporation and others. + * Copyright (c) 2000, 2019 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -7,6 +7,10 @@ * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 + * + * This is an implementation of an early-draft specification developed under the Java + * Community Process (JCP) and is made available for testing and evaluation purposes + * only. The code is not compatible with any specification of the JCP. * * Contributors: * IBM Corporation - initial API and implementation @@ -63,7 +67,8 @@ public class BuildPathSupport { private static final String[] PREFS_COMPLIANCE= new String[] { JavaCore.COMPILER_PB_ASSERT_IDENTIFIER, JavaCore.COMPILER_PB_ENUM_IDENTIFIER, JavaCore.COMPILER_SOURCE, JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, - JavaCore.COMPILER_COMPLIANCE, JavaCore.COMPILER_RELEASE + JavaCore.COMPILER_COMPLIANCE, JavaCore.COMPILER_RELEASE, + JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES }; @@ -418,6 +423,8 @@ public class BuildPathSupport { * <li>{@link JavaCore#COMPILER_PB_ASSERT_IDENTIFIER}</li> * <li>{@link JavaCore#COMPILER_PB_ENUM_IDENTIFIER}</li> * <li>{@link JavaCore#COMPILER_CODEGEN_INLINE_JSR_BYTECODE} for compliance levels 1.5 and greater</li> + * <li>{@link JavaCore#COMPILER_PB_ENABLE_PREVIEW_FEATURES} for compliance levels 11 and greater</li> + * <li>{@link JavaCore#COMPILER_PB_REPORT_PREVIEW_FEATURES} for compliance levels 11 and greater</li> * </ul> * * @param ee the EE, can be <code>null</code> |