Bug 548923 - Replace chain of ifs with switch
Sometimes if statements are chained and form a series of == comparisons
against constants. Such situation is more readable if written using
switch statement.
Change-Id: I0e5bc14be7514aaef6953b58b51e0dab7d74a18a
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/core/EEDefinitionTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/core/EEDefinitionTests.java
index 45d69bd..9af53b2 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/core/EEDefinitionTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/core/EEDefinitionTests.java
@@ -88,16 +88,20 @@
String[] expected = new String[]{"end.jar", "classes.txt", "others.txt", "add.jar", "ext1.jar", "ext2.jar", "opt-ext.jar"};
assertEquals("Wrong number of libraries", expected.length, libs.length);
for (int i = 0; i < expected.length; i++) {
- if (i == 4) {
+ switch (i) {
+ case 4:
// ext1 and ext2 can be in either order due to file system ordering
assertTrue("Wrong library", expected[i].equals(libs[i].getSystemLibraryPath().lastSegment()) ||
- expected[i].equals(libs[i+1].getSystemLibraryPath().lastSegment()));
- } else if (i == 5) {
+ expected[i].equals(libs[i+1].getSystemLibraryPath().lastSegment()));
+ break;
+ case 5:
// ext1 and ext2 can be in either order due to file system ordering
assertTrue("Wrong library", expected[i].equals(libs[i].getSystemLibraryPath().lastSegment()) ||
- expected[i].equals(libs[i-1].getSystemLibraryPath().lastSegment()));
- } else {
+ expected[i].equals(libs[i-1].getSystemLibraryPath().lastSegment()));
+ break;
+ default:
assertEquals("Wrong library", expected[i], libs[i].getSystemLibraryPath().lastSegment());
+ break;
}
if ("classes.txt".equals(expected[i])) {
assertEquals("source.txt", libs[i].getSystemLibrarySourcePath().lastSegment());
@@ -116,18 +120,23 @@
String[] expected = new String[]{"end.txt", "source.txt", "source.txt", "sourceaddsource.jar", "extra1-src.txt", "extra2-src.txt", ""};
assertEquals("Wrong number of libraries", expected.length, libs.length);
for (int i = 0; i < expected.length; i++) {
- if (i == 4) {
+ switch (i) {
+ case 4:
// ext1 and ext2 can be in either order due to file system ordering
assertTrue("Wrong attachment", expected[i].equals(libs[i].getSystemLibrarySourcePath().lastSegment()) ||
- expected[i].equals(libs[i+1].getSystemLibrarySourcePath().lastSegment()));
- } else if (i == 5) {
+ expected[i].equals(libs[i+1].getSystemLibrarySourcePath().lastSegment()));
+ break;
+ case 5:
// ext1 and ext2 can be in either order due to file system ordering
assertTrue("Wrong attachment", expected[i].equals(libs[i].getSystemLibrarySourcePath().lastSegment()) ||
- expected[i].equals(libs[i-1].getSystemLibrarySourcePath().lastSegment()));
- } else if (i == 6){
+ expected[i].equals(libs[i-1].getSystemLibrarySourcePath().lastSegment()));
+ break;
+ case 6:
assertEquals("Wrong attachment", Path.EMPTY, libs[i].getSystemLibrarySourcePath());
- } else {
+ break;
+ default:
assertEquals("Wrong attachment", expected[i], libs[i].getSystemLibrarySourcePath().lastSegment());
+ break;
}
}
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/core/refactoring/JDTDebugRefactoringUtil.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/core/refactoring/JDTDebugRefactoringUtil.java
index b05d0d2..2e2e672 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/core/refactoring/JDTDebugRefactoringUtil.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/core/refactoring/JDTDebugRefactoringUtil.java
@@ -41,13 +41,12 @@
*/
public static Change createChangeFromList(List<Change> changes, String changeLabel) {
int nbChanges= changes.size();
- if (nbChanges == 0) {
+ switch (nbChanges) {
+ case 0:
return null;
- }
- else if (nbChanges == 1) {
+ case 1:
return changes.get(0);
- }
- else {
+ default:
return new CompositeChange(changeLabel, changes.toArray(new Change[changes.size()]));
}
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
index f846a4a..17bbae8 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/actions/ExpressionInputDialog.java
@@ -259,24 +259,34 @@
char[] chars = currentValue.toCharArray();
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
- if (c == '\b') {
- buffer.append("\\b"); //$NON-NLS-1$
- } else if (c == '\t') {
- buffer.append("\\t"); //$NON-NLS-1$
- } else if (c == '\n') {
- buffer.append("\\n"); //$NON-NLS-1$
- } else if (c == '\f') {
- buffer.append("\\f"); //$NON-NLS-1$
- } else if (c == '\r') {
- buffer.append("\\r"); //$NON-NLS-1$
- } else if (c == '"') {
- buffer.append("\\\""); //$NON-NLS-1$
- } else if (c == '\'') {
- buffer.append("\\\'"); //$NON-NLS-1$
- } else if (c == '\\') {
- buffer.append("\\\\"); //$NON-NLS-1$
- } else {
- buffer.append(c);
+ switch (c) {
+ case '\b':
+ buffer.append("\\b"); //$NON-NLS-1$
+ break;
+ case '\t':
+ buffer.append("\\t"); //$NON-NLS-1$
+ break;
+ case '\n':
+ buffer.append("\\n"); //$NON-NLS-1$
+ break;
+ case '\f':
+ buffer.append("\\f"); //$NON-NLS-1$
+ break;
+ case '\r':
+ buffer.append("\\r"); //$NON-NLS-1$
+ break;
+ case '"':
+ buffer.append("\\\""); //$NON-NLS-1$
+ break;
+ case '\'':
+ buffer.append("\\\'"); //$NON-NLS-1$
+ break;
+ case '\\':
+ buffer.append("\\\\"); //$NON-NLS-1$
+ break;
+ default:
+ buffer.append(c);
+ break;
}
}
buffer.append('"'); // Surround value in quotes
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java
index 0dd221c..99f35a5 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/JREsPreferencePage.java
@@ -355,15 +355,20 @@
JREMessages.JREsPreferencePage_8 };
MessageDialog dialog = new MessageDialog(getShell(), title, null, message, MessageDialog.QUESTION, buttonLabels, 0);
int res = dialog.open();
- if (res == 0) { // apply
+ switch (res) {
+ case 0:
+ // apply
return performOk() && super.okToLeave();
- } else if (res == 1) { // discard
+ case 1:
+ // discard
fJREBlock.fillWithWorkspaceJREs();
fJREBlock.restoreColumnSettings(JDIDebugUIPlugin.getDefault().getDialogSettings(), IJavaDebugHelpContextIds.JRE_PREFERENCE_PAGE);
initDefaultVM();
fJREBlock.initializeTimeStamp();
- } else {
+ break;
+ default:
// apply later
+ break;
}
}
return super.okToLeave();
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java
index 3ae7fce..cbd1143 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/LibraryLabelProvider.java
@@ -91,7 +91,8 @@
} else if (element instanceof SubElement) {
SubElement subElement= (SubElement) element;
StringBuilder text= new StringBuilder();
- if (subElement.getType() == SubElement.SOURCE_PATH) {
+ switch (subElement.getType()) {
+ case SubElement.SOURCE_PATH:
text.append(JREMessages.VMLibraryBlock_0);
IPath systemLibrarySourcePath= subElement.getParent().getSystemLibrarySourcePath();
if (systemLibrarySourcePath != null && !Path.EMPTY.equals(systemLibrarySourcePath)) {
@@ -99,7 +100,8 @@
} else {
text.append(JREMessages.VMLibraryBlock_1);
}
- } else if(subElement.getType() == SubElement.JAVADOC_URL){
+ break;
+ case SubElement.JAVADOC_URL:
text.append(JREMessages.LibraryLabelProvider_0);
URL javadocLocation= subElement.getParent().getJavadocLocation();
if (javadocLocation != null) {
@@ -107,7 +109,8 @@
} else {
text.append(JREMessages.VMLibraryBlock_1);
}
- } else if (subElement.getType() == SubElement.EXTERNAL_ANNOTATIONS_PATH) {
+ break;
+ case SubElement.EXTERNAL_ANNOTATIONS_PATH:
text.append(JREMessages.VMExternalAnnsBlock_1);
IPath externalAnnotationsPath = subElement.getParent().getExternalAnnotationsPath();
if (externalAnnotationsPath != null && !Path.EMPTY.equals(externalAnnotationsPath)) {
@@ -115,6 +118,9 @@
} else {
text.append(JREMessages.VMExternalAnnsBlock_2);
}
+ break;
+ default:
+ break;
}
return text.toString();
}
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/VMLibraryBlock.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/VMLibraryBlock.java
index 4c9b867..d3ed19e 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/VMLibraryBlock.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/internal/debug/ui/jres/VMLibraryBlock.java
@@ -342,33 +342,40 @@
}
if(standin != null) {
LibraryLocation library = standin.toLibraryLocation();
- if (type == SubElement.JAVADOC_URL) {
+ switch (type) {
+ case SubElement.JAVADOC_URL:
URL[] urls = BuildPathDialogAccess.configureJavadocLocation(fLibraryViewer.getControl().getShell(), library.getSystemLibraryPath().toOSString(), library.getJavadocLocation());
if (urls != null) {
fLibraryContentProvider.setJavadoc(urls[0], selection);
}
- }
- else if(type == SubElement.SOURCE_PATH){
- IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(library.getSystemLibraryPath());
- entry.setSourceAttachmentPath(library.getSystemLibrarySourcePath());
- entry.setSourceAttachmentRootPath(library.getPackageRootPath());
- IClasspathEntry classpathEntry = BuildPathDialogAccess.configureSourceAttachment(fLibraryViewer.getControl().getShell(), entry.getClasspathEntry());
- if (classpathEntry != null) {
- fLibraryContentProvider.setSourcePath(classpathEntry.getSourceAttachmentPath(), classpathEntry.getSourceAttachmentRootPath(), selection);
+ break;
+ case SubElement.SOURCE_PATH:
+ {
+ IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(library.getSystemLibraryPath());
+ entry.setSourceAttachmentPath(library.getSystemLibrarySourcePath());
+ entry.setSourceAttachmentRootPath(library.getPackageRootPath());
+ IClasspathEntry classpathEntry = BuildPathDialogAccess.configureSourceAttachment(fLibraryViewer.getControl().getShell(), entry.getClasspathEntry());
+ if (classpathEntry != null) {
+ fLibraryContentProvider.setSourcePath(classpathEntry.getSourceAttachmentPath(), classpathEntry.getSourceAttachmentRootPath(), selection);
+ }
+ break;
}
- }
- else if(type == SubElement.EXTERNAL_ANNOTATIONS_PATH) {
- IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(library.getSystemLibraryPath());
- entry.setExternalAnnotationsPath(library.getExternalAnnotationsPath());
- IClasspathAttribute[] extraAttributes = entry.getClasspathEntry().getExtraAttributes();
- String annotationPathString = findClasspathAttribute(extraAttributes, IClasspathAttribute.EXTERNAL_ANNOTATION_PATH);
- IPath annotationPath = null == annotationPathString ? null : new Path(annotationPathString);
-
- IPath newPath = BuildPathDialogAccess.configureExternalAnnotationsAttachment(fLibraryViewer.getControl().getShell(), annotationPath);
- if (null == newPath) {
- return;
+ case SubElement.EXTERNAL_ANNOTATIONS_PATH:
+ {
+ IRuntimeClasspathEntry entry = JavaRuntime.newArchiveRuntimeClasspathEntry(library.getSystemLibraryPath());
+ entry.setExternalAnnotationsPath(library.getExternalAnnotationsPath());
+ IClasspathAttribute[] extraAttributes = entry.getClasspathEntry().getExtraAttributes();
+ String annotationPathString = findClasspathAttribute(extraAttributes, IClasspathAttribute.EXTERNAL_ANNOTATION_PATH);
+ IPath annotationPath = null == annotationPathString ? null : new Path(annotationPathString);
+ IPath newPath = BuildPathDialogAccess.configureExternalAnnotationsAttachment(fLibraryViewer.getControl().getShell(), annotationPath);
+ if (null == newPath) {
+ return;
+ }
+ fLibraryContentProvider.setAnnotationsPath(newPath.segmentCount() == 0 ? null : newPath, selection);
+ break;
}
- fLibraryContentProvider.setAnnotationsPath(newPath.segmentCount() == 0 ? null : newPath, selection);
+ default:
+ break;
}
}
}
diff --git a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/SourceDebugExtensionParser.java b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/SourceDebugExtensionParser.java
index e3e9785..ed2fbeb 100644
--- a/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/SourceDebugExtensionParser.java
+++ b/org.eclipse.jdt.debug/jdi/org/eclipse/jdi/internal/SourceDebugExtensionParser.java
@@ -413,34 +413,34 @@
*/
private void parseFileInfo(Lexer lexer) throws AbsentInformationException {
int lexemType = lexer.lexemType();
- if (lexemType == Lexer.NUMBER) {
- int fileId = integerValue(lexer.lexem());
- if (isAsteriskLexem(lexer.nextLexem())) {
- throw new AbsentInformationException(
- JDIMessages.SourceDebugExtensionParser_16);
- }
- fCurrentStratum.addFileInfo(fileId, getNonAsteriskString(lexer));
- } else if (lexemType == Lexer.PLUS) {
- if (lexer.nextLexem() != Lexer.NUMBER) {
- throw new AbsentInformationException(
- JDIMessages.SourceDebugExtensionParser_17);
- }
- int fileId = integerValue(lexer.lexem());
- if (isAsteriskLexem(lexer.nextLexem())) {
- throw new AbsentInformationException(
- JDIMessages.SourceDebugExtensionParser_16);
- }
- String fileName = getNonAsteriskString(lexer);
- if (isAsteriskLexem(lexer.lexemType())) {
- throw new AbsentInformationException(
- JDIMessages.SourceDebugExtensionParser_19);
- }
- fCurrentStratum.addFileInfo(fileId, fileName,
- getNonAsteriskString(lexer));
- } else {
- throw new AbsentInformationException(NLS.bind(
- JDIMessages.SourceDebugExtensionParser_12,
- new String[] { new String(lexer.lexem()) }));
+ switch (lexemType) {
+ case Lexer.NUMBER:
+ int fileId = integerValue(lexer.lexem());
+ if (isAsteriskLexem(lexer.nextLexem())) {
+ throw new AbsentInformationException(
+ JDIMessages.SourceDebugExtensionParser_16);
+ }
+ fCurrentStratum.addFileInfo(fileId, getNonAsteriskString(lexer));
+ break;
+ case Lexer.PLUS:
+ if (lexer.nextLexem() != Lexer.NUMBER) {
+ throw new AbsentInformationException(
+ JDIMessages.SourceDebugExtensionParser_17);
+ }
+ fileId = integerValue(lexer.lexem());
+ if (isAsteriskLexem(lexer.nextLexem())) {
+ throw new AbsentInformationException(
+ JDIMessages.SourceDebugExtensionParser_16);
+ }
+ String fileName = getNonAsteriskString(lexer);
+ if (isAsteriskLexem(lexer.lexemType())) {
+ throw new AbsentInformationException(
+ JDIMessages.SourceDebugExtensionParser_19);
+ }
+ fCurrentStratum.addFileInfo(fileId, fileName, getNonAsteriskString(lexer));
+ break;
+ default:
+ throw new AbsentInformationException(NLS.bind(JDIMessages.SourceDebugExtensionParser_12, new String[] { new String(lexer.lexem()) }));
}
}
diff --git a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
index f7b5255..4c51147 100644
--- a/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
+++ b/org.eclipse.jdt.debug/model/org/eclipse/jdt/internal/debug/core/model/JDIStackFrame.java
@@ -60,7 +60,6 @@
import org.eclipse.jdt.internal.debug.core.JavaDebugUtils;
import org.eclipse.jdt.internal.debug.core.logicalstructures.JDILambdaVariable;
import org.eclipse.jdt.internal.debug.core.logicalstructures.JDIReturnValueVariable;
-import org.eclipse.jdt.internal.debug.core.model.MethodResult.ResultType;
import com.sun.jdi.AbsentInformationException;
import com.sun.jdi.ClassNotLoadedException;
@@ -530,30 +529,42 @@
private void addStepReturnValue(List<IJavaVariable> variables) {
if (fIsTop) {
MethodResult methodResult = fThread.getMethodResult();
- if (methodResult != null) {
- if (methodResult.fResultType == ResultType.returned) {
- if (fDepth + 1 != methodResult.fTargetFrameCount) {
- // can happen e.g., because of checkPackageAccess/System.getSecurityManager()
- return;
+ if (methodResult != null && methodResult.fResultType != null) {
+ switch (methodResult.fResultType) {
+ case returned:{
+ if (fDepth + 1 != methodResult.fTargetFrameCount) {
+ // can happen e.g., because of checkPackageAccess/System.getSecurityManager()
+ return;
+ }
+ String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ReturnValue, methodResult.fMethod.name());
+ variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
+ break;
}
- String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ReturnValue, methodResult.fMethod.name());
- variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
- } else if (methodResult.fResultType == ResultType.returning) {
- String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ReturningValue, methodResult.fMethod.name());
- variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
- } else if (methodResult.fResultType == ResultType.threw) {
- if (fDepth + 1 > methodResult.fTargetFrameCount) {
- // don't know if this really can happen, but other jvm suprises were not expected either
- return;
+ case returning:{
+ String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ReturningValue, methodResult.fMethod.name());
+ variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
+ break;
}
- String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ExceptionThrown, methodResult.fMethod.name());
- variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
- } else if (methodResult.fResultType == ResultType.throwing) {
- String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ThrowingException, methodResult.fMethod.name());
- variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
- } else if (methodResult.fResultType == ResultType.step_timeout) {
- String msg = JDIDebugModelMessages.JDIStackFrame_NotObservedBecauseOfTimeout;
- variables.add(0, new JDIReturnValueVariable(JDIDebugModelMessages.JDIStackFrame_NoMethodReturnValue, new JDIPlaceholderValue(getJavaDebugTarget(), msg), false));
+ case threw:{
+ if (fDepth + 1 > methodResult.fTargetFrameCount) {
+ // don't know if this really can happen, but other jvm suprises were not expected either
+ return;
+ }
+ String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ExceptionThrown, methodResult.fMethod.name());
+ variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
+ break;
+ }
+ case throwing:{
+ String name = MessageFormat.format(JDIDebugModelMessages.JDIStackFrame_ThrowingException, methodResult.fMethod.name());
+ variables.add(0, new JDIReturnValueVariable(name, JDIValue.createValue(getJavaDebugTarget(), methodResult.fValue), true));
+ break;
+ }
+ case step_timeout:
+ String msg = JDIDebugModelMessages.JDIStackFrame_NotObservedBecauseOfTimeout;
+ variables.add(0, new JDIReturnValueVariable(JDIDebugModelMessages.JDIStackFrame_NoMethodReturnValue, new JDIPlaceholderValue(getJavaDebugTarget(), msg), false));
+ break;
+ default:
+ break;
}
} else if (JDIThread.showStepResultIsEnabled(getDebugTarget())) {
variables.add(0, new JDIReturnValueVariable(JDIDebugModelMessages.JDIStackFrame_NoMethodReturnValue, new JDIPlaceholderValue(getJavaDebugTarget(), ""), false)); //$NON-NLS-1$
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
index e511152..82e7b1b 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/AbstractJavaLaunchConfigurationDelegate.java
@@ -473,22 +473,27 @@
for (IRuntimeClasspathEntry entry : entries) {
String location = entry.getLocation();
if (location != null) {
- if (entry.getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) {
+ switch (entry.getClasspathProperty()) {
+ case IRuntimeClasspathEntry.USER_CLASSES:
if (!classpathSet.contains(location)) {
classpathEntries.add(location);
classpathSet.add(location);
}
- } else if (entry.getClasspathProperty() == IRuntimeClasspathEntry.CLASS_PATH) {
+ break;
+ case IRuntimeClasspathEntry.CLASS_PATH:
if (!classpathSet.contains(location)) {
classpathEntries.add(location);
classpathSet.add(location);
}
-
- } else if (entry.getClasspathProperty() == IRuntimeClasspathEntry.MODULE_PATH) {
+ break;
+ case IRuntimeClasspathEntry.MODULE_PATH:
if (!modulepathSet.contains(location)) {
modulepathEntries.add(location);
modulepathSet.add(location);
}
+ break;
+ default:
+ break;
}
}
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
index fdfbba1..99e3d18 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
@@ -1561,14 +1561,19 @@
int property = -1;
switch (container.getKind()) {
case IClasspathContainer.K_APPLICATION:
- if (entry.getClasspathProperty() == IRuntimeClasspathEntry.MODULE_PATH) {
- property = IRuntimeClasspathEntry.MODULE_PATH;
- } else if (entry.getClasspathProperty() == IRuntimeClasspathEntry.CLASS_PATH) {
- property = IRuntimeClasspathEntry.CLASS_PATH;
- } else {
- property = IRuntimeClasspathEntry.USER_CLASSES;
+ switch (entry.getClasspathProperty()) {
+ case IRuntimeClasspathEntry.MODULE_PATH:
+ property = IRuntimeClasspathEntry.MODULE_PATH;
+ break;
+ case IRuntimeClasspathEntry.CLASS_PATH:
+ property = IRuntimeClasspathEntry.CLASS_PATH;
+ break;
+ default:
+ property = IRuntimeClasspathEntry.USER_CLASSES;
+ break;
}
break;
+
case IClasspathContainer.K_DEFAULT_SYSTEM:
property = IRuntimeClasspathEntry.STANDARD_CLASSES;
break;