Bug 525844 - [JUnit] ClassNotFoundException trying to run JUnit-Tests
under Java9

Change-Id: Ib563754c86f4329dfc86d32e54c6f634f542c54e
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 665d913..033c0c6 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
@@ -66,6 +66,7 @@
 import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.internal.core.JavaProject;
 import org.eclipse.jdt.internal.launching.CompositeId;
 import org.eclipse.jdt.internal.launching.DefaultEntryResolver;
 import org.eclipse.jdt.internal.launching.DefaultProjectClasspathEntry;
@@ -896,8 +897,12 @@
 	 * @since 3.10
 	 */
 	public static IRuntimeClasspathEntry[] computeUnresolvedRuntimeDependencies(IJavaProject project) throws CoreException {
-		IClasspathEntry[] entries = project.getResolvedClasspath(true);
 		List<IRuntimeClasspathEntry> classpathEntries = new ArrayList<>(3);
+		if (!(project instanceof JavaProject)) {
+			return classpathEntries.toArray(new IRuntimeClasspathEntry[classpathEntries.size()]);
+		}
+		JavaProject javaProject = (JavaProject) project;
+		IClasspathEntry[] entries = javaProject.getExpandedClasspath();
 
 		IClasspathEntry entry1 = JavaCore.newProjectEntry(project.getProject().getFullPath());
 		if (isModularProject(project)) {
@@ -935,11 +940,11 @@
 				case IClasspathEntry.CPE_PROJECT:
 					String name = entry.getPath().lastSegment();
 					IProject dep = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
-					IJavaProject javaProject = JavaCore.create(dep);
+					IJavaProject javaProject1 = JavaCore.create(dep);
 					if (isModule(entry, project)) {
-						classpathEntries.add(newProjectRuntimeClasspathEntry(javaProject, IRuntimeClasspathEntry.MODULE_PATH));
+						classpathEntries.add(newProjectRuntimeClasspathEntry(javaProject1, IRuntimeClasspathEntry.MODULE_PATH));
 					} else {
-						classpathEntries.add(newProjectRuntimeClasspathEntry(javaProject, IRuntimeClasspathEntry.CLASS_PATH));
+						classpathEntries.add(newProjectRuntimeClasspathEntry(javaProject1, IRuntimeClasspathEntry.CLASS_PATH));
 					}
 					break;
 				case IClasspathEntry.CPE_VARIABLE: