diff options
author | Stephan Herrmann | 2019-08-14 20:36:27 +0000 |
---|---|---|
committer | Stephan Herrmann | 2019-08-15 15:17:09 +0000 |
commit | 80c9526e9d140ebd12dc7fda8ba293405ffaacf6 (patch) | |
tree | e8ee2935031a144b5d82482508f3cf39129183cd | |
parent | d6be9a90acbfe69f7541bc1a20c414969c3b243b (diff) | |
download | eclipse.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.java | 10 | ||||
-rw-r--r-- | org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java | 4 |
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 |