Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2019-08-14 20:36:27 +0000
committerStephan Herrmann2019-08-15 15:17:09 +0000
commit80c9526e9d140ebd12dc7fda8ba293405ffaacf6 (patch)
treee8ee2935031a144b5d82482508f3cf39129183cd
parentd6be9a90acbfe69f7541bc1a20c414969c3b243b (diff)
downloadeclipse.jdt.core-80c9526e9d140ebd12dc7fda8ba293405ffaacf6.tar.gz
eclipse.jdt.core-80c9526e9d140ebd12dc7fda8ba293405ffaacf6.tar.xz
eclipse.jdt.core-80c9526e9d140ebd12dc7fda8ba293405ffaacf6.zip
Bug 550081 - [impl] JavaCore.getAllVersions() should return an immutable
list (or a copy) Change-Id: I5594fbcba41cec251c214b9a4ab936e3d1127df1
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/OptionTests.java10
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java4
2 files changed, 12 insertions, 2 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/OptionTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/OptionTests.java
index 35fac8d0ac..81e2ef8ea0 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/OptionTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/OptionTests.java
@@ -15,6 +15,7 @@
package org.eclipse.jdt.core.tests.model;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
@@ -959,4 +960,13 @@ public void testBug324987_Workspace04() throws CoreException {
deleteProject("P");
}
}
+public void testBug550081() {
+ String latestVersion = JavaCore.latestSupportedJavaVersion();
+ try {
+ Collections.reverse(JavaCore.getAllVersions());
+ } catch (UnsupportedOperationException e) {
+ // ignore
+ }
+ assertEquals("latest should be unchanged", latestVersion, JavaCore.latestSupportedJavaVersion());
+}
}
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
index 48af8a2502..a0a596de5b 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
@@ -3063,8 +3063,8 @@ public final class JavaCore extends Plugin {
* @category OptionValue
*/
public static final String VERSION_CLDC_1_1 = "cldc1.1"; //$NON-NLS-1$
- private static List<String> allVersions = Arrays.asList(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_12);
+ private static List<String> allVersions = Collections.unmodifiableList(Arrays.asList(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_12));
/**
* Returns all {@link JavaCore}{@code #VERSION_*} levels in the order of their

Back to the top