aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/config/PathResolver.scala
diff options
context:
space:
mode:
authorliu fengyun <liufengyunchina@gmail.com>2016-08-08 10:44:41 +0200
committerliu fengyun <liu@fengy.me>2016-10-13 11:00:22 +0200
commit92ebb46afedaba26dff0f579b78c704e7ded4b96 (patch)
tree99e7b71c0870aabe303710f2d9520ceb80f54ae7 /src/dotty/tools/dotc/config/PathResolver.scala
parenta90a7845ef5fb44d842dc316de2c4fdc52946b41 (diff)
downloaddotty-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.scala7
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),