diff options
author | liu fengyun <liufengyunchina@gmail.com> | 2016-08-08 10:44:41 +0200 |
---|---|---|
committer | liu fengyun <liu@fengy.me> | 2016-10-13 11:00:22 +0200 |
commit | 92ebb46afedaba26dff0f579b78c704e7ded4b96 (patch) | |
tree | 99e7b71c0870aabe303710f2d9520ceb80f54ae7 /src/dotty/tools/dotc/config/PathResolver.scala | |
parent | a90a7845ef5fb44d842dc316de2c4fdc52946b41 (diff) | |
download | dotty-92ebb46afedaba26dff0f579b78c704e7ded4b96.tar.gz dotty-92ebb46afedaba26dff0f579b78c704e7ded4b96.tar.bz2 dotty-92ebb46afedaba26dff0f579b78c704e7ded4b96.zip |
fix #1274: test for dotty bootstrap based on tasty
Diffstat (limited to 'src/dotty/tools/dotc/config/PathResolver.scala')
-rw-r--r-- | src/dotty/tools/dotc/config/PathResolver.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/config/PathResolver.scala b/src/dotty/tools/dotc/config/PathResolver.scala index f9f698e72..55d585e94 100644 --- a/src/dotty/tools/dotc/config/PathResolver.scala +++ b/src/dotty/tools/dotc/config/PathResolver.scala @@ -180,6 +180,7 @@ class PathResolver(implicit ctx: Context) { case "extdirs" => settings.extdirs.value case "classpath" | "cp" => settings.classpath.value case "sourcepath" => settings.sourcepath.value + case "priorityclasspath" => settings.priorityclasspath.value } /** Calculated values based on any given command line options, falling back on @@ -193,6 +194,7 @@ class PathResolver(implicit ctx: Context) { def javaUserClassPath = if (useJavaClassPath) Defaults.javaUserClassPath else "" def scalaBootClassPath = cmdLineOrElse("bootclasspath", Defaults.scalaBootClassPath) def scalaExtDirs = cmdLineOrElse("extdirs", Defaults.scalaExtDirs) + def priorityClassPath = cmdLineOrElse("prioritypath", "") /** Scaladoc doesn't need any bootstrapping, otherwise will create errors such as: * [scaladoc] ../scala-trunk/src/reflect/scala/reflect/macros/Reifiers.scala:89: error: object api is not a member of package reflect * [scaladoc] case class ReificationException(val pos: reflect.api.PositionApi, val msg: String) extends Throwable(msg) @@ -220,7 +222,9 @@ class PathResolver(implicit ctx: Context) { import context._ // Assemble the elements! + // priority class path takes precedence def basis = List[Traversable[ClassPath]]( + classesInExpandedPath(priorityClassPath), // 0. The priority class path (for testing). classesInPath(javaBootClassPath), // 1. The Java bootstrap class path. contentsOfDirsInPath(javaExtDirs), // 2. The Java extension class path. classesInExpandedPath(javaUserClassPath), // 3. The Java application class path. @@ -235,6 +239,7 @@ class PathResolver(implicit ctx: Context) { override def toString = """ |object Calculated { | scalaHome = %s + | priorityClassPath = %s | javaBootClassPath = %s | javaExtDirs = %s | javaUserClassPath = %s @@ -244,7 +249,7 @@ class PathResolver(implicit ctx: Context) { | userClassPath = %s | sourcePath = %s |}""".trim.stripMargin.format( - scalaHome, + scalaHome, ppcp(priorityClassPath), ppcp(javaBootClassPath), ppcp(javaExtDirs), ppcp(javaUserClassPath), useJavaClassPath, ppcp(scalaBootClassPath), ppcp(scalaExtDirs), ppcp(userClassPath), |