Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoopur Gupta2018-12-11 17:37:36 +0000
committerNoopur Gupta2018-12-11 17:37:36 +0000
commiteda125d29c4b23a01897ad32f0d2180d29016bce (patch)
treecdd1d0644b97e049dea0742f6c1ca2b0adc70155
parent301a2ffc91535375b5c46831c6dcb7c8d843eaca (diff)
downloadeclipse.jdt.ui-eda125d29c4b23a01897ad32f0d2180d29016bce.tar.gz
eclipse.jdt.ui-eda125d29c4b23a01897ad32f0d2180d29016bce.tar.xz
eclipse.jdt.ui-eda125d29c4b23a01897ad32f0d2180d29016bce.zip
Bug 539078: [12] Allow JDT to target Java 12 in compiler preferencesY20181219-2200Y20181212-2200
add these changes once again as they got reverted after merge from master (which got these changes due to incorrect merge into master) Change-Id: I41a01c9fb4d12fafc9ce165f5b76e2d755beb748
-rw-r--r--org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java12
-rw-r--r--org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/ComplianceConfigurationBlock.java22
-rw-r--r--org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.java5
-rw-r--r--org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PreferencesMessages.properties5
4 files changed, 39 insertions, 5 deletions
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
index ffbfd36e19..7c103c7f3d 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/util/JavaModelUtil.java
@@ -77,7 +77,7 @@ public final class JavaModelUtil {
*/
public static final String VERSION_LATEST;
static {
- VERSION_LATEST= JavaCore.VERSION_11; // make sure it is not inlined
+ VERSION_LATEST= JavaCore.VERSION_12; // make sure it is not inlined
}
public static final int VALIDATE_EDIT_CHANGED_CONTENT= 10003;
@@ -820,6 +820,10 @@ public final class JavaModelUtil {
return !isVersionLessThan(compliance, JavaCore.VERSION_11);
}
+ public static boolean is12OrHigher(String compliance) {
+ return !isVersionLessThan(compliance, JavaCore.VERSION_12);
+ }
+
/**
* Checks if the given project or workspace has source compliance 1.5 or greater.
*
@@ -915,6 +919,8 @@ public final class JavaModelUtil {
String version= vMInstall.getJavaVersion();
if (version == null) {
return defaultCompliance;
+ } else if (version.startsWith(JavaCore.VERSION_12)) {
+ return JavaCore.VERSION_12;
} else if (version.startsWith(JavaCore.VERSION_11)) {
return JavaCore.VERSION_11;
} else if (version.startsWith(JavaCore.VERSION_10)) {
@@ -951,7 +957,9 @@ public final class JavaModelUtil {
// fallback:
String desc= executionEnvironment.getId();
- if (desc.indexOf(JavaCore.VERSION_11) != -1) {
+ if (desc.indexOf(JavaCore.VERSION_12) != -1) {
+ return JavaCore.VERSION_12;
+ } else if (desc.indexOf(JavaCore.VERSION_11) != -1) {
return JavaCore.VERSION_11;
} else if (desc.indexOf(JavaCore.VERSION_10) != -1) {
return JavaCore.VERSION_10;
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 5bc505aef2..2026bbd264 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
@@ -6,6 +6,10 @@
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/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.
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -133,6 +137,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
private static final String VERSION_9= JavaCore.VERSION_9;
private static final String VERSION_10= JavaCore.VERSION_10;
private static final String VERSION_11= JavaCore.VERSION_11;
+ private static final String VERSION_12 = JavaCore.VERSION_12;
private static final String VERSION_JSR14= "jsr14"; //$NON-NLS-1$
private static final String ERROR= JavaCore.ERROR;
@@ -275,7 +280,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
private Composite createComplianceTabContent(Composite folder) {
final String[] complianceVersions= new String[] { VERSION_1_3, VERSION_1_4,
- VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11 };
+ VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11, VERSION_12 };
final String[] complianceLabels= new String[] {
PreferencesMessages.ComplianceConfigurationBlock_version13,
PreferencesMessages.ComplianceConfigurationBlock_version14,
@@ -286,10 +291,11 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
PreferencesMessages.ComplianceConfigurationBlock_version9,
PreferencesMessages.ComplianceConfigurationBlock_version10,
PreferencesMessages.ComplianceConfigurationBlock_version_11,
+ PreferencesMessages.ComplianceConfigurationBlock_version_12,
};
String[] targetVersions= new String[] { VERSION_CLDC_1_1, VERSION_1_1, VERSION_1_2, VERSION_1_3, VERSION_1_4,
- VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11 };
+ VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11, VERSION_12 };
String[] targetLabels= new String[] {
PreferencesMessages.ComplianceConfigurationBlock_versionCLDC11,
PreferencesMessages.ComplianceConfigurationBlock_version11,
@@ -303,6 +309,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
PreferencesMessages.ComplianceConfigurationBlock_version9,
PreferencesMessages.ComplianceConfigurationBlock_version10,
PreferencesMessages.ComplianceConfigurationBlock_version_11,
+ PreferencesMessages.ComplianceConfigurationBlock_version_12,
};
if (ComplianceConfigurationBlock.VERSION_JSR14.equals(getValue(PREF_CODEGEN_TARGET_PLATFORM))) {
targetVersions= append(targetVersions, ComplianceConfigurationBlock.VERSION_JSR14);
@@ -310,7 +317,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
}
String[] sourceVersions= new String[] { VERSION_1_3, VERSION_1_4,
- VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11 };
+ VERSION_1_5, VERSION_1_6, VERSION_1_7, VERSION_1_8, VERSION_9, VERSION_10, VERSION_11, VERSION_12 };
String[] sourceLabels= new String[] {
PreferencesMessages.ComplianceConfigurationBlock_version13,
PreferencesMessages.ComplianceConfigurationBlock_version14,
@@ -321,6 +328,7 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
PreferencesMessages.ComplianceConfigurationBlock_version9,
PreferencesMessages.ComplianceConfigurationBlock_version10,
PreferencesMessages.ComplianceConfigurationBlock_version_11,
+ PreferencesMessages.ComplianceConfigurationBlock_version_12,
};
final ScrolledPageContent sc1 = new ScrolledPageContent(folder);
@@ -695,6 +703,14 @@ public class ComplianceConfigurationBlock extends OptionsConfigurationBlock {
isVisible= true;
}
}
+
+ //TODO: Remove once Java SE 11 has been shipped:
+ String selectedCompliance= getValue(PREF_COMPLIANCE);
+ if (VERSION_12.equals(selectedCompliance)) {
+ fJRE50InfoText.setText(
+ "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."); //$NON-NLS-1$
+ isVisible= true;
+ }
fJRE50InfoText.setVisible(isVisible);
fJRE50InfoImage.setImage(isVisible ? image : null);
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 b03ddf1eb5..1b6558b697 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
@@ -6,6 +6,10 @@
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/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.
+ *
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
@@ -828,6 +832,7 @@ public final class PreferencesMessages extends NLS {
public static String ComplianceConfigurationBlock_version9;
public static String ComplianceConfigurationBlock_version10;
public static String ComplianceConfigurationBlock_version_11;
+ public static String ComplianceConfigurationBlock_version_12;
public static String ComplianceConfigurationBlock_versionCLDC11;
public static String ComplianceConfigurationBlock_src_greater_compliance;
public static String ComplianceConfigurationBlock_classfile_greater_compliance;
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 05c3fc4dc4..8da784d221 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
@@ -8,6 +8,10 @@
#
# 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
# John Kaplan, johnkaplantech@gmail.com - 108071 [code templates] template for body of newly created class
@@ -586,6 +590,7 @@ ComplianceConfigurationBlock_version18=1.8
ComplianceConfigurationBlock_version9=9
ComplianceConfigurationBlock_version10=10
ComplianceConfigurationBlock_version_11=11
+ComplianceConfigurationBlock_version_12=12 (BETA)
ComplianceConfigurationBlock_versionCLDC11=CLDC 1.1
ComplianceConfigurationBlock_needsbuild_title=Compiler Settings Changed

Back to the top