diff --git a/.gitignore b/.gitignore index 7c5baf8f8ece..9d9f8fa3b797 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ *.log *.swp *~ +tags # sbt specific dist/* @@ -31,6 +32,7 @@ classes/ # Partest dotty.jar +dotty-lib.jar tests/partest-generated/ tests/locks/ /test-classes/ diff --git a/bench/src/test/scala/Benchmarks.scala b/bench/test/dotty/tools/benchmarks/Benchmarks.scala similarity index 93% rename from bench/src/test/scala/Benchmarks.scala rename to bench/test/dotty/tools/benchmarks/Benchmarks.scala index b85f95d6eb32..fe5517ad9ddd 100644 --- a/bench/src/test/scala/Benchmarks.scala +++ b/bench/test/dotty/tools/benchmarks/Benchmarks.scala @@ -1,12 +1,11 @@ package dotty.tools.benchmarks - import org.scalameter.Key.reports._ import org.scalameter.PerformanceTest.OnlineRegressionReport import org.scalameter.api._ import org.scalameter.{Context, History, currentContext, persistence} import org.scalameter.reporting.RegressionReporter.Tester -import test.CompilerTest +import dotty.tools.dotc.CompilerTest import scala.io.Source @@ -46,13 +45,14 @@ object BenchTests extends OnlineRegressionReport { implicit val defaultOptions = List("-d", outputDir) val scala2mode = List("-language:Scala2") - val dottyDir = "./src/dotty/" + val dottyDir = "../compiler/src/dotty/" - val stdlibFiles = Source.fromFile("./test/dotc/scala-collections.whitelist", "UTF8").getLines() + val stdlibFiles = Source.fromFile("../compiler/test/dotc/scala-collections.whitelist", "UTF8").getLines() .map(_.trim) // allow identation .filter(!_.startsWith("#")) // allow comment lines prefixed by # .map(_.takeWhile(_ != '#').trim) // allow comments in the end of line .filter(_.nonEmpty) + .map("." + _) .toList def stdLib = compiler.compileList("compileStdLib", stdlibFiles, "-migration" :: scala2mode) diff --git a/bin/common b/bin/common index 8f46773302ff..1cb79fc1407e 100755 --- a/bin/common +++ b/bin/common @@ -58,7 +58,7 @@ function build_jar { local sedjar="$3" if [ "$sedjar" == "" ]; then - sedjar="/.*\.jar/p" + sedjar="/tests/d; /javadoc/d; /.*\.jar/p" fi if [ "$jar" == "" ]; then @@ -74,6 +74,7 @@ function build_jar { function update_packages { echo "$INTERFACES_JAR" > $DOTTY_ROOT/.packages echo "$MAIN_JAR" >> $DOTTY_ROOT/.packages + echo "$DOTTY_LIB_JAR" >> $DOTTY_ROOT/.packages echo "$TEST_JAR" >> $DOTTY_ROOT/.packages } @@ -84,12 +85,16 @@ function build_all { INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target) printf "done\n" - printf "Building dotty..." - MAIN_JAR=$(build_jar package "target/scala-$SCALA_BINARY_VERSION") + printf "Building dotty-compiler..." + MAIN_JAR=$(build_jar dotty-compiler/package "compiler/target/scala-$SCALA_BINARY_VERSION") + printf "done\n" + + printf "Building dotty library..." + DOTTY_LIB_JAR=$(build_jar dotty-library/package "library/target/scala-$SCALA_BINARY_VERSION") printf "done\n" printf "Building tests..." - TEST_JAR=$(build_jar test:package "target/scala-$SCALA_BINARY_VERSION" '/dotty.*-tests\.jar/p') + TEST_JAR=$(build_jar test:package "compiler/target/scala-$SCALA_BINARY_VERSION" '/dotty.*-tests\.jar/p') printf "done\n" update_packages @@ -101,10 +106,11 @@ if [ ! -f "$DOTTY_ROOT/.packages" ]; then else IFS=$'\r\n' GLOBIGNORE='*' command eval 'JARS=($(cat $DOTTY_ROOT/.packages))' - if [ "${#JARS[@]}" == "3" ]; then + if [ "${#JARS[@]}" == "4" ]; then INTERFACES_JAR="${JARS[0]}" MAIN_JAR="${JARS[1]}" - TEST_JAR="${JARS[2]}" + DOTTY_LIB_JAR="${JARS[2]}" + TEST_JAR="${JARS[3]}" else echo "Failed to parse .packages file" build_all @@ -118,15 +124,17 @@ function check_jar { local new_files="$(find "$DOTTY_ROOT/$3" \( -iname "*.scala" -o -iname "*.java" \) -newer "$2")" if [ ! -z "$new_files" ]; then printf "New files detected in $1, rebuilding..." + rm $2 eval "$4" printf "done\n" update_packages fi } -check_jar "dotty-interfaces" $INTERFACES_JAR "interfaces" 'INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)' -check_jar "dotty" $MAIN_JAR "src" 'MAIN_JAR=$(build_jar package target/scala-$SCALA_BINARY_VERSION)' -check_jar "dotty-tests" $TEST_JAR "test" 'TEST_JAR=$(build_jar test:package target/scala-$SCALA_BINARY_VERSION /dotty.*-tests\.jar/p)' +check_jar "dotty-interfaces" $INTERFACES_JAR "interfaces/src" 'INTERFACES_JAR=$(build_jar dotty-interfaces/package interfaces/target)' +check_jar "dotty-compiler" $MAIN_JAR "compiler/src" 'MAIN_JAR=$(build_jar dotty-compiler/package compiler/target/scala-$SCALA_BINARY_VERSION)' +check_jar "dotty-library" $DOTTY_LIB_JAR "library/src" 'DOTTY_LIB_JAR=$(build_jar dotty-library/package library/target/scala-$SCALA_BINARY_VERSION)' +check_jar "dotty-tests" $TEST_JAR "compiler/test" 'TEST_JAR=$(build_jar dotty-compiler/test:package compiler/target/scala-$SCALA_BINARY_VERSION /dotty.*-tests\.jar/p)' # Autodetecting the scala-library location, in case it wasn't provided by an environment variable if [ "$SCALA_LIBRARY_JAR" == "" ]; then diff --git a/bin/dotc b/bin/dotc index 3f529194c3af..57e97ba5c7cf 100755 --- a/bin/dotc +++ b/bin/dotc @@ -115,12 +115,12 @@ trap onExit INT classpathArgs () { if [[ "true" == $bootstrapped ]]; then check_jar "dotty-bootstrapped" $DOTTY_JAR "target" 'build_jar "test:runMain dotc.build" target' &> /dev/null - toolchain="$DOTTY_JAR:$SCALA_LIBRARY_JAR:$SCALA_REFLECT_JAR:$SCALA_COMPILER_JAR:$SBT_INTERFACE_JAR" + toolchain="$DOTTY_JAR:$DOTTY_LIB_JAR:$SCALA_LIBRARY_JAR:$SCALA_REFLECT_JAR:$SCALA_COMPILER_JAR:$SBT_INTERFACE_JAR" else - toolchain="$SCALA_LIBRARY_JAR:$SCALA_REFLECT_JAR:$SCALA_COMPILER_JAR:$SBT_INTERFACE_JAR" + toolchain="$SCALA_LIBRARY_JAR:$DOTTY_LIB_JAR:$SCALA_REFLECT_JAR:$SCALA_COMPILER_JAR:$SBT_INTERFACE_JAR" fi - bcpJars="$INTERFACES_JAR:$MAIN_JAR" - cpJars="$INTERFACES_JAR:$MAIN_JAR:$TEST_JAR" + bcpJars="$INTERFACES_JAR:$MAIN_JAR:$DOTTY_LIB_JAR" + cpJars="$INTERFACES_JAR:$MAIN_JAR:$DOTTY_LIB_JAR:$TEST_JAR" if [[ -n "$cygwin" ]]; then if [[ "$OS" = "Windows_NT" ]] && cygpath -m .>/dev/null 2>/dev/null ; then diff --git a/bin/dotr b/bin/dotr index 8a495e780fa1..553b831caf6f 100755 --- a/bin/dotr +++ b/bin/dotr @@ -11,8 +11,7 @@ DOTTY_ROOT="$( cd "$DOTTY_ROOT" >& /dev/null && pwd )/.." # absolute # Load common functions and variables source $DOTTY_ROOT/bin/common -# CLASS_PATH is derived from the DOTTY_ROOT and SCALA_LIBRARY_JAR -CLASS_PATH="-Xbootclasspath/a:.:$DOTTY_ROOT/target/scala-$SCALA_BINARY_VERSION/classes/:.:$SCALA_LIBRARY_JAR" +CLASS_PATH="-classpath .:$DOTTY_LIB_JAR:.:$SCALA_LIBRARY_JAR" function runMain { local jbin=$(which "java") diff --git a/test/scripts/TestDotc.scala b/bin/test/TestScripts.scala similarity index 70% rename from test/scripts/TestDotc.scala rename to bin/test/TestScripts.scala index f662a269501d..0558c0480ccf 100644 --- a/test/scripts/TestDotc.scala +++ b/bin/test/TestScripts.scala @@ -7,7 +7,7 @@ import scala.io.Source import scala.sys.process.{Process, ProcessLogger} import java.io.{File => JFile, FileNotFoundException} -class TestDotc { +class TestScripts { private val lineSep = util.Properties.lineSeparator private def doUnlessWindows(op: => Unit) = if (!System.getProperty("os.name").toLowerCase.contains("windows")) @@ -28,11 +28,13 @@ class TestDotc { } try { - for (jar <- Source.fromFile(".packages").getLines()) + for (jar <- Source.fromFile("./.packages").getLines()) delete(jar) - delete(".packages") - delete("src/dotty/tools/dotc/Dummy.scala") + delete("./.packages") + delete("./compiler/src/dotty/tools/dotc/Dummy.scala") + delete("./HelloWorld.class") + delete("./HelloWorld$.class") } catch { case _: FileNotFoundException => () } @@ -45,7 +47,7 @@ class TestDotc { * execute it using dotr */ @Test def buildAndRunHelloWorld = doUnlessWindows { - val (retDotc, dotcOutput) = executeScript("bin/dotc tests/pos/HelloWorld.scala") + val (retDotc, dotcOutput) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") // Check correct output of building and running dotc assert( @@ -53,7 +55,7 @@ class TestDotc { s"bin/dotc script did not run properly. Output:$lineSep$dotcOutput" ) - val (retDotr, dotrOutput) = executeScript("bin/dotr HelloWorld") + val (retDotr, dotrOutput) = executeScript("./bin/dotr HelloWorld") assert( retDotr == 0 && dotrOutput == "hello world", s"Running hello world exited with status: $retDotr and output: $dotrOutput" @@ -64,13 +66,13 @@ class TestDotc { * rebuild dotty if needed */ @Test def rebuildIfNecessary = doUnlessWindows { - val (retFirstBuild, _) = executeScript("bin/dotc tests/pos/HelloWorld.scala") - assert(retFirstBuild == 0, "building dotc failed") + val (retFirstBuild, out1) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") + assert(retFirstBuild == 0, s"building dotc failed: $out1") - // Create a new file - new JFile("src/dotty/tools/dotc/Dummy.scala").createNewFile() + // Create a new file to force rebuild + new JFile("./compiler/src/dotty/tools/dotc/Dummy.scala").createNewFile() - val (retSecondBuild, output) = executeScript("bin/dotc tests/pos/HelloWorld.scala") + val (retSecondBuild, output) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") assert( retSecondBuild == 0 && output.contains("rebuilding"), s"Rebuilding the tool should result in jar files being rebuilt. Status: $retSecondBuild, output:$lineSep$output") @@ -78,10 +80,10 @@ class TestDotc { /** if no changes to dotty, dotc script should be fast */ @Test def beFastOnNoChanges = doUnlessWindows { - val (retFirstBuild, _) = executeScript("bin/dotc tests/pos/HelloWorld.scala") + val (retFirstBuild, _) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") assert(retFirstBuild == 0, "building dotc failed") - val (ret, output) = executeScript("bin/dotc tests/pos/HelloWorld.scala") + val (ret, output) = executeScript("./bin/dotc ./tests/pos/HelloWorld.scala") assert( ret == 0 && !output.contains("rebuilding"), s"Project recompiled when it didn't need to be. Status $ret, output:$lineSep$output") diff --git a/src/dotty/tools/backend/sjs/GenSJSIR.scala b/compiler/sjs/backend/sjs/GenSJSIR.scala similarity index 100% rename from src/dotty/tools/backend/sjs/GenSJSIR.scala rename to compiler/sjs/backend/sjs/GenSJSIR.scala diff --git a/src/dotty/tools/backend/sjs/JSCodeGen.scala b/compiler/sjs/backend/sjs/JSCodeGen.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSCodeGen.scala rename to compiler/sjs/backend/sjs/JSCodeGen.scala diff --git a/src/dotty/tools/backend/sjs/JSDefinitions.scala b/compiler/sjs/backend/sjs/JSDefinitions.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSDefinitions.scala rename to compiler/sjs/backend/sjs/JSDefinitions.scala diff --git a/src/dotty/tools/backend/sjs/JSEncoding.scala b/compiler/sjs/backend/sjs/JSEncoding.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSEncoding.scala rename to compiler/sjs/backend/sjs/JSEncoding.scala diff --git a/src/dotty/tools/backend/sjs/JSInterop.scala b/compiler/sjs/backend/sjs/JSInterop.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSInterop.scala rename to compiler/sjs/backend/sjs/JSInterop.scala diff --git a/src/dotty/tools/backend/sjs/JSPositions.scala b/compiler/sjs/backend/sjs/JSPositions.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSPositions.scala rename to compiler/sjs/backend/sjs/JSPositions.scala diff --git a/src/dotty/tools/backend/sjs/JSPrimitives.scala b/compiler/sjs/backend/sjs/JSPrimitives.scala similarity index 100% rename from src/dotty/tools/backend/sjs/JSPrimitives.scala rename to compiler/sjs/backend/sjs/JSPrimitives.scala diff --git a/src/dotty/tools/backend/sjs/ScopedVar.scala b/compiler/sjs/backend/sjs/ScopedVar.scala similarity index 100% rename from src/dotty/tools/backend/sjs/ScopedVar.scala rename to compiler/sjs/backend/sjs/ScopedVar.scala diff --git a/src/dotty/tools/dotc/config/SJSPlatform.scala b/compiler/sjs/tools/dotc/config/SJSPlatform.scala similarity index 100% rename from src/dotty/tools/dotc/config/SJSPlatform.scala rename to compiler/sjs/tools/dotc/config/SJSPlatform.scala diff --git a/src/dotty/tools/backend/jvm/CollectEntryPoints.scala b/compiler/src/dotty/tools/backend/jvm/CollectEntryPoints.scala similarity index 100% rename from src/dotty/tools/backend/jvm/CollectEntryPoints.scala rename to compiler/src/dotty/tools/backend/jvm/CollectEntryPoints.scala diff --git a/src/dotty/tools/backend/jvm/CollectSuperCalls.scala b/compiler/src/dotty/tools/backend/jvm/CollectSuperCalls.scala similarity index 100% rename from src/dotty/tools/backend/jvm/CollectSuperCalls.scala rename to compiler/src/dotty/tools/backend/jvm/CollectSuperCalls.scala diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/compiler/src/dotty/tools/backend/jvm/DottyBackendInterface.scala similarity index 100% rename from src/dotty/tools/backend/jvm/DottyBackendInterface.scala rename to compiler/src/dotty/tools/backend/jvm/DottyBackendInterface.scala diff --git a/src/dotty/tools/backend/jvm/GenBCode.scala b/compiler/src/dotty/tools/backend/jvm/GenBCode.scala similarity index 100% rename from src/dotty/tools/backend/jvm/GenBCode.scala rename to compiler/src/dotty/tools/backend/jvm/GenBCode.scala diff --git a/src/dotty/tools/backend/jvm/LabelDefs.scala b/compiler/src/dotty/tools/backend/jvm/LabelDefs.scala similarity index 100% rename from src/dotty/tools/backend/jvm/LabelDefs.scala rename to compiler/src/dotty/tools/backend/jvm/LabelDefs.scala diff --git a/src/dotty/tools/backend/jvm/scalaPrimitives.scala b/compiler/src/dotty/tools/backend/jvm/scalaPrimitives.scala similarity index 100% rename from src/dotty/tools/backend/jvm/scalaPrimitives.scala rename to compiler/src/dotty/tools/backend/jvm/scalaPrimitives.scala diff --git a/src/dotty/tools/dotc/Bench.scala b/compiler/src/dotty/tools/dotc/Bench.scala similarity index 100% rename from src/dotty/tools/dotc/Bench.scala rename to compiler/src/dotty/tools/dotc/Bench.scala diff --git a/src/dotty/tools/dotc/CompilationUnit.scala b/compiler/src/dotty/tools/dotc/CompilationUnit.scala similarity index 100% rename from src/dotty/tools/dotc/CompilationUnit.scala rename to compiler/src/dotty/tools/dotc/CompilationUnit.scala diff --git a/src/dotty/tools/dotc/Compiler.scala b/compiler/src/dotty/tools/dotc/Compiler.scala similarity index 93% rename from src/dotty/tools/dotc/Compiler.scala rename to compiler/src/dotty/tools/dotc/Compiler.scala index 4bc5263e901e..ad3249be2427 100644 --- a/src/dotty/tools/dotc/Compiler.scala +++ b/compiler/src/dotty/tools/dotc/Compiler.scala @@ -17,7 +17,6 @@ import core.DenotTransformers.DenotTransformer import core.Denotations.SingleDenotation import dotty.tools.backend.jvm.{LabelDefs, GenBCode, CollectSuperCalls} -import dotty.tools.backend.sjs.GenSJSIR /** The central class of the dotc compiler. The job of a compiler is to create * runs, which process given `phases` in a given `rootContext`. @@ -98,7 +97,6 @@ class Compiler { new DropInlined, // Drop Inlined nodes, since backend has no use for them new MoveStatics, // Move static methods to companion classes new LabelDefs), // Converts calls to labels to jumps - List(new GenSJSIR), // Generate .js code List(new GenBCode) // Generate JVM bytecode ) @@ -117,20 +115,7 @@ class Compiler { */ def rootContext(implicit ctx: Context): Context = { ctx.initialize()(ctx) - val actualPhases = if (ctx.settings.scalajs.value) { - // Remove phases that Scala.js does not want - phases.mapConserve(_.filter { - case _: FunctionalInterfaces => false - case _ => true - }).filter(_.nonEmpty) - } else { - // Remove Scala.js-related phases - phases.mapConserve(_.filter { - case _: GenSJSIR => false - case _ => true - }).filter(_.nonEmpty) - } - ctx.setPhasePlan(actualPhases) + ctx.setPhasePlan(phases) val rootScope = new MutableScope val bootstrap = ctx.fresh .setPeriod(Period(nextRunId, FirstPhaseId)) diff --git a/src/dotty/tools/dotc/Driver.scala b/compiler/src/dotty/tools/dotc/Driver.scala similarity index 100% rename from src/dotty/tools/dotc/Driver.scala rename to compiler/src/dotty/tools/dotc/Driver.scala diff --git a/src/dotty/tools/dotc/FromTasty.scala b/compiler/src/dotty/tools/dotc/FromTasty.scala similarity index 100% rename from src/dotty/tools/dotc/FromTasty.scala rename to compiler/src/dotty/tools/dotc/FromTasty.scala diff --git a/src/dotty/tools/dotc/Main.scala b/compiler/src/dotty/tools/dotc/Main.scala similarity index 100% rename from src/dotty/tools/dotc/Main.scala rename to compiler/src/dotty/tools/dotc/Main.scala diff --git a/src/dotty/tools/dotc/Resident.scala b/compiler/src/dotty/tools/dotc/Resident.scala similarity index 100% rename from src/dotty/tools/dotc/Resident.scala rename to compiler/src/dotty/tools/dotc/Resident.scala diff --git a/src/dotty/tools/dotc/Run.scala b/compiler/src/dotty/tools/dotc/Run.scala similarity index 100% rename from src/dotty/tools/dotc/Run.scala rename to compiler/src/dotty/tools/dotc/Run.scala diff --git a/src/dotty/tools/dotc/ast/CheckTrees.scala.disabled b/compiler/src/dotty/tools/dotc/ast/CheckTrees.scala.disabled similarity index 100% rename from src/dotty/tools/dotc/ast/CheckTrees.scala.disabled rename to compiler/src/dotty/tools/dotc/ast/CheckTrees.scala.disabled diff --git a/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala similarity index 99% rename from src/dotty/tools/dotc/ast/Desugar.scala rename to compiler/src/dotty/tools/dotc/ast/Desugar.scala index 366a0e2257af..4b2ff1bc313f 100644 --- a/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -179,7 +179,7 @@ object desugar { DefDef( name = meth.name.defaultGetterName(n), tparams = meth.tparams.map(tparam => dropContextBound(toDefParam(tparam))), - vparamss = takeUpTo(normalizedVparamss, n), + vparamss = takeUpTo(normalizedVparamss.nestedMap(toDefParam), n), tpt = TypeTree(), rhs = vparam.rhs ).withMods(Modifiers(mods.flags & AccessFlags, mods.privateWithin)) diff --git a/src/dotty/tools/dotc/ast/NavigateAST.scala b/compiler/src/dotty/tools/dotc/ast/NavigateAST.scala similarity index 100% rename from src/dotty/tools/dotc/ast/NavigateAST.scala rename to compiler/src/dotty/tools/dotc/ast/NavigateAST.scala diff --git a/src/dotty/tools/dotc/ast/PluggableTransformers.scala b/compiler/src/dotty/tools/dotc/ast/PluggableTransformers.scala similarity index 100% rename from src/dotty/tools/dotc/ast/PluggableTransformers.scala rename to compiler/src/dotty/tools/dotc/ast/PluggableTransformers.scala diff --git a/src/dotty/tools/dotc/ast/Positioned.scala b/compiler/src/dotty/tools/dotc/ast/Positioned.scala similarity index 100% rename from src/dotty/tools/dotc/ast/Positioned.scala rename to compiler/src/dotty/tools/dotc/ast/Positioned.scala diff --git a/src/dotty/tools/dotc/ast/TreeInfo.scala b/compiler/src/dotty/tools/dotc/ast/TreeInfo.scala similarity index 100% rename from src/dotty/tools/dotc/ast/TreeInfo.scala rename to compiler/src/dotty/tools/dotc/ast/TreeInfo.scala diff --git a/src/dotty/tools/dotc/ast/TreeTypeMap.scala b/compiler/src/dotty/tools/dotc/ast/TreeTypeMap.scala similarity index 100% rename from src/dotty/tools/dotc/ast/TreeTypeMap.scala rename to compiler/src/dotty/tools/dotc/ast/TreeTypeMap.scala diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/compiler/src/dotty/tools/dotc/ast/Trees.scala similarity index 100% rename from src/dotty/tools/dotc/ast/Trees.scala rename to compiler/src/dotty/tools/dotc/ast/Trees.scala diff --git a/src/dotty/tools/dotc/ast/tpd.scala b/compiler/src/dotty/tools/dotc/ast/tpd.scala similarity index 99% rename from src/dotty/tools/dotc/ast/tpd.scala rename to compiler/src/dotty/tools/dotc/ast/tpd.scala index 44e1cf188704..cd6b3fcf212f 100644 --- a/src/dotty/tools/dotc/ast/tpd.scala +++ b/compiler/src/dotty/tools/dotc/ast/tpd.scala @@ -464,7 +464,7 @@ object tpd extends Trees.Instance[Type] with TypedTreeInfo { case tree: Select if qualifier.tpe eq tree.qualifier.tpe => tree1.withTypeUnchecked(tree.tpe) case _ => tree.tpe match { - case tpe: NamedType => tree1.withType(tpe.derivedSelect(qualifier.tpe)) + case tpe: NamedType => tree1.withType(tpe.derivedSelect(qualifier.tpe.widenIfUnstable)) case _ => tree1.withTypeUnchecked(tree.tpe) } } diff --git a/src/dotty/tools/dotc/ast/untpd.scala b/compiler/src/dotty/tools/dotc/ast/untpd.scala similarity index 100% rename from src/dotty/tools/dotc/ast/untpd.scala rename to compiler/src/dotty/tools/dotc/ast/untpd.scala diff --git a/src/dotty/tools/dotc/config/CompilerCommand.scala b/compiler/src/dotty/tools/dotc/config/CompilerCommand.scala similarity index 100% rename from src/dotty/tools/dotc/config/CompilerCommand.scala rename to compiler/src/dotty/tools/dotc/config/CompilerCommand.scala diff --git a/src/dotty/tools/dotc/config/Config.scala b/compiler/src/dotty/tools/dotc/config/Config.scala similarity index 100% rename from src/dotty/tools/dotc/config/Config.scala rename to compiler/src/dotty/tools/dotc/config/Config.scala diff --git a/src/dotty/tools/dotc/config/JavaPlatform.scala b/compiler/src/dotty/tools/dotc/config/JavaPlatform.scala similarity index 97% rename from src/dotty/tools/dotc/config/JavaPlatform.scala rename to compiler/src/dotty/tools/dotc/config/JavaPlatform.scala index 433b5b3f00c2..a695202d33fc 100644 --- a/src/dotty/tools/dotc/config/JavaPlatform.scala +++ b/compiler/src/dotty/tools/dotc/config/JavaPlatform.scala @@ -16,7 +16,9 @@ class JavaPlatform extends Platform { def classPath(implicit ctx: Context): ClassPath = { if (currentClassPath.isEmpty) currentClassPath = Some(new PathResolver().result) - currentClassPath.get + val cp = currentClassPath.get + //println(cp) + cp } // The given symbol is a method with the right name and signature to be a runnable java program. diff --git a/src/dotty/tools/dotc/config/OutputDirs.scala b/compiler/src/dotty/tools/dotc/config/OutputDirs.scala similarity index 100% rename from src/dotty/tools/dotc/config/OutputDirs.scala rename to compiler/src/dotty/tools/dotc/config/OutputDirs.scala diff --git a/src/dotty/tools/dotc/config/PathResolver.scala b/compiler/src/dotty/tools/dotc/config/PathResolver.scala similarity index 91% rename from src/dotty/tools/dotc/config/PathResolver.scala rename to compiler/src/dotty/tools/dotc/config/PathResolver.scala index 55d585e9488d..aa4d8aeb05e6 100644 --- a/src/dotty/tools/dotc/config/PathResolver.scala +++ b/compiler/src/dotty/tools/dotc/config/PathResolver.scala @@ -20,7 +20,7 @@ object PathResolver { // security exceptions. import AccessControl._ - def firstNonEmpty(xs: String*) = xs find (_ != "") getOrElse "" + def firstNonEmpty(xs: String*) = xs find (_ != "") getOrElse "" /** Map all classpath elements to absolute paths and reconstruct the classpath. */ @@ -47,6 +47,7 @@ object PathResolver { def sourcePathEnv = envOrElse("SOURCEPATH", "") def javaBootClassPath = propOrElse("sun.boot.class.path", searchForBootClasspath) + def javaExtDirs = propOrEmpty("java.ext.dirs") def scalaHome = propOrEmpty("scala.home") def scalaExtDirs = propOrEmpty("scala.ext.dirs") @@ -55,20 +56,14 @@ object PathResolver { def javaUserClassPath = propOrElse("java.class.path", "") def useJavaClassPath = propOrFalse("scala.usejavacp") - override def toString = """ + override def toString = s""" |object Environment { - | scalaHome = %s (useJavaClassPath = %s) - | javaBootClassPath = <%d chars> - | javaExtDirs = %s - | javaUserClassPath = %s - | scalaExtDirs = %s - |}""".trim.stripMargin.format( - scalaHome, useJavaClassPath, - javaBootClassPath.length, - ppcp(javaExtDirs), - ppcp(javaUserClassPath), - ppcp(scalaExtDirs) - ) + | scalaHome = $scalaHome (useJavaClassPath = $useJavaClassPath) + | javaBootClassPath = <${javaBootClassPath.length} chars> + | javaExtDirs = ${ppcp(javaExtDirs)} + | javaUserClassPath = ${ppcp(javaUserClassPath)} + | scalaExtDirs = ${ppcp(scalaExtDirs)} + |}""".trim.stripMargin } /** Default values based on those in Environment as interpreted according @@ -194,7 +189,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", "") + def priorityClassPath = cmdLineOrElse("priorityclasspath", "") /** 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) @@ -213,11 +208,11 @@ class PathResolver(implicit ctx: Context) { * - Otherwise, if CLASSPATH is set, it is that * - If neither of those, then "." is used. */ - def userClassPath = ( + def userClassPath = { if (!settings.classpath.isDefault) settings.classpath.value else sys.env.getOrElse("CLASSPATH", ".") - ) + } import context._ @@ -243,7 +238,7 @@ class PathResolver(implicit ctx: Context) { | javaBootClassPath = %s | javaExtDirs = %s | javaUserClassPath = %s - | useJavaClassPath = %s + | useJavaClassPath = %s | scalaBootClassPath = %s | scalaExtDirs = %s | userClassPath = %s @@ -260,7 +255,15 @@ class PathResolver(implicit ctx: Context) { def containers = Calculated.containers lazy val result: JavaClassPath = { - val cp = new JavaClassPath(containers.toIndexedSeq, context) + // Prioritize `dotty.jar` and `dotty-lib.jar` to shadow others + val (dottyJars, others) = + containers.partition(x => x.name.contains("dotty-lib.jar") || x.name.contains("dotty.jar")) + // Then any jars with `dotty` in the name - putting them before scala-library + val (dottyCp, remaining) = + others.partition(_.name.contains("dotty-")) + + val cp = new JavaClassPath((dottyJars ++ dottyCp ++ remaining).toIndexedSeq, context) + if (settings.Ylogcp.value) { Console.println("Classpath built from " + settings.toConciseString(ctx.sstate)) Console.println("Defaults: " + PathResolver.Defaults) diff --git a/src/dotty/tools/dotc/config/Platform.scala b/compiler/src/dotty/tools/dotc/config/Platform.scala similarity index 100% rename from src/dotty/tools/dotc/config/Platform.scala rename to compiler/src/dotty/tools/dotc/config/Platform.scala diff --git a/src/dotty/tools/dotc/config/Printers.scala b/compiler/src/dotty/tools/dotc/config/Printers.scala similarity index 100% rename from src/dotty/tools/dotc/config/Printers.scala rename to compiler/src/dotty/tools/dotc/config/Printers.scala diff --git a/src/dotty/tools/dotc/config/Properties.scala b/compiler/src/dotty/tools/dotc/config/Properties.scala similarity index 100% rename from src/dotty/tools/dotc/config/Properties.scala rename to compiler/src/dotty/tools/dotc/config/Properties.scala diff --git a/src/dotty/tools/dotc/config/ScalaSettings.scala b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala similarity index 99% rename from src/dotty/tools/dotc/config/ScalaSettings.scala rename to compiler/src/dotty/tools/dotc/config/ScalaSettings.scala index 8f47e08bf302..fd2ded0b5d95 100644 --- a/src/dotty/tools/dotc/config/ScalaSettings.scala +++ b/compiler/src/dotty/tools/dotc/config/ScalaSettings.scala @@ -42,7 +42,7 @@ class ScalaSettings extends Settings.SettingGroup { val usejavacp = BooleanSetting("-usejavacp", "Utilize the java.class.path in classpath resolution.") val verbose = BooleanSetting("-verbose", "Output messages about what the compiler is doing.") val version = BooleanSetting("-version", "Print product version and exit.") - val pageWidth = IntSetting("-pagewidth", "Set page width", 120) + val pageWidth = IntSetting("-pagewidth", "Set page width", 80) val jvmargs = PrefixSetting("-J", "-J", "Pass directly to the runtime system.") val defines = PrefixSetting("-Dproperty=value", "-D", "Pass -Dproperty=value directly to the runtime system.") diff --git a/src/dotty/tools/dotc/config/ScalaVersion.scala b/compiler/src/dotty/tools/dotc/config/ScalaVersion.scala similarity index 100% rename from src/dotty/tools/dotc/config/ScalaVersion.scala rename to compiler/src/dotty/tools/dotc/config/ScalaVersion.scala diff --git a/src/dotty/tools/dotc/config/Settings.scala b/compiler/src/dotty/tools/dotc/config/Settings.scala similarity index 100% rename from src/dotty/tools/dotc/config/Settings.scala rename to compiler/src/dotty/tools/dotc/config/Settings.scala diff --git a/src/dotty/tools/dotc/config/WrappedProperties.scala b/compiler/src/dotty/tools/dotc/config/WrappedProperties.scala similarity index 100% rename from src/dotty/tools/dotc/config/WrappedProperties.scala rename to compiler/src/dotty/tools/dotc/config/WrappedProperties.scala diff --git a/src/dotty/tools/dotc/core/Annotations.scala b/compiler/src/dotty/tools/dotc/core/Annotations.scala similarity index 89% rename from src/dotty/tools/dotc/core/Annotations.scala rename to compiler/src/dotty/tools/dotc/core/Annotations.scala index 0e8e5a1f0dab..985b1ea3d638 100644 --- a/src/dotty/tools/dotc/core/Annotations.scala +++ b/compiler/src/dotty/tools/dotc/core/Annotations.scala @@ -34,14 +34,15 @@ object Annotations { def tree(implicit ctx: Context): Tree = t } - abstract case class LazyAnnotation(sym: Symbol) extends Annotation { + abstract class LazyAnnotation extends Annotation { + override def symbol(implicit ctx: Context): Symbol + def complete(implicit ctx: Context): Tree + private var myTree: Tree = null def tree(implicit ctx: Context) = { if (myTree == null) myTree = complete(ctx) myTree } - def complete(implicit ctx: Context): Tree - override def symbol(implicit ctx: Context): Symbol = sym } /** An annotation indicating the body of a right-hand side, @@ -108,8 +109,19 @@ object Annotations { apply(resolveConstructor(atp, args)) } + /** Create an annotation where the tree is computed lazily. */ def deferred(sym: Symbol, treeFn: Context => Tree)(implicit ctx: Context): Annotation = - new LazyAnnotation(sym) { + new LazyAnnotation { + override def symbol(implicit ctx: Context): Symbol = sym + def complete(implicit ctx: Context) = treeFn(ctx) + } + + /** Create an annotation where the symbol and the tree are computed lazily. */ + def deferredSymAndTree(sym: => Symbol, treeFn: Context => Tree)(implicit ctx: Context): Annotation = + new LazyAnnotation { + lazy val symf = sym + + override def symbol(implicit ctx: Context): Symbol = symf def complete(implicit ctx: Context) = treeFn(ctx) } diff --git a/src/dotty/tools/dotc/core/CheckRealizable.scala b/compiler/src/dotty/tools/dotc/core/CheckRealizable.scala similarity index 100% rename from src/dotty/tools/dotc/core/CheckRealizable.scala rename to compiler/src/dotty/tools/dotc/core/CheckRealizable.scala diff --git a/src/dotty/tools/dotc/core/Comments.scala b/compiler/src/dotty/tools/dotc/core/Comments.scala similarity index 100% rename from src/dotty/tools/dotc/core/Comments.scala rename to compiler/src/dotty/tools/dotc/core/Comments.scala diff --git a/src/dotty/tools/dotc/core/Constants.scala b/compiler/src/dotty/tools/dotc/core/Constants.scala similarity index 100% rename from src/dotty/tools/dotc/core/Constants.scala rename to compiler/src/dotty/tools/dotc/core/Constants.scala diff --git a/src/dotty/tools/dotc/core/Constraint.scala b/compiler/src/dotty/tools/dotc/core/Constraint.scala similarity index 100% rename from src/dotty/tools/dotc/core/Constraint.scala rename to compiler/src/dotty/tools/dotc/core/Constraint.scala diff --git a/src/dotty/tools/dotc/core/ConstraintHandling.scala b/compiler/src/dotty/tools/dotc/core/ConstraintHandling.scala similarity index 100% rename from src/dotty/tools/dotc/core/ConstraintHandling.scala rename to compiler/src/dotty/tools/dotc/core/ConstraintHandling.scala diff --git a/src/dotty/tools/dotc/core/ConstraintRunInfo.scala b/compiler/src/dotty/tools/dotc/core/ConstraintRunInfo.scala similarity index 100% rename from src/dotty/tools/dotc/core/ConstraintRunInfo.scala rename to compiler/src/dotty/tools/dotc/core/ConstraintRunInfo.scala diff --git a/src/dotty/tools/dotc/core/Contexts.scala b/compiler/src/dotty/tools/dotc/core/Contexts.scala similarity index 99% rename from src/dotty/tools/dotc/core/Contexts.scala rename to compiler/src/dotty/tools/dotc/core/Contexts.scala index edc68588d6f7..639c4d111097 100644 --- a/src/dotty/tools/dotc/core/Contexts.scala +++ b/compiler/src/dotty/tools/dotc/core/Contexts.scala @@ -27,7 +27,7 @@ import reporting._ import collection.mutable import collection.immutable.BitSet import printing._ -import config.{Settings, ScalaSettings, Platform, JavaPlatform, SJSPlatform} +import config.{Settings, ScalaSettings, Platform, JavaPlatform} import language.implicitConversions import DenotTransformers.DenotTransformer import util.Property.Key @@ -550,8 +550,7 @@ object Contexts { } protected def newPlatform(implicit ctx: Context): Platform = - if (settings.scalajs.value) new SJSPlatform - else new JavaPlatform + new JavaPlatform /** The loader that loads the members of _root_ */ def rootLoader(root: TermSymbol)(implicit ctx: Context): SymbolLoader = platform.rootLoader(root) diff --git a/src/dotty/tools/dotc/core/Decorators.scala b/compiler/src/dotty/tools/dotc/core/Decorators.scala similarity index 100% rename from src/dotty/tools/dotc/core/Decorators.scala rename to compiler/src/dotty/tools/dotc/core/Decorators.scala diff --git a/src/dotty/tools/dotc/core/Definitions.scala b/compiler/src/dotty/tools/dotc/core/Definitions.scala similarity index 100% rename from src/dotty/tools/dotc/core/Definitions.scala rename to compiler/src/dotty/tools/dotc/core/Definitions.scala diff --git a/src/dotty/tools/dotc/core/DenotTransformers.scala b/compiler/src/dotty/tools/dotc/core/DenotTransformers.scala similarity index 100% rename from src/dotty/tools/dotc/core/DenotTransformers.scala rename to compiler/src/dotty/tools/dotc/core/DenotTransformers.scala diff --git a/src/dotty/tools/dotc/core/Denotations.scala b/compiler/src/dotty/tools/dotc/core/Denotations.scala similarity index 100% rename from src/dotty/tools/dotc/core/Denotations.scala rename to compiler/src/dotty/tools/dotc/core/Denotations.scala diff --git a/src/dotty/tools/dotc/core/Flags.scala b/compiler/src/dotty/tools/dotc/core/Flags.scala similarity index 100% rename from src/dotty/tools/dotc/core/Flags.scala rename to compiler/src/dotty/tools/dotc/core/Flags.scala diff --git a/src/dotty/tools/dotc/core/Hashable.scala b/compiler/src/dotty/tools/dotc/core/Hashable.scala similarity index 100% rename from src/dotty/tools/dotc/core/Hashable.scala rename to compiler/src/dotty/tools/dotc/core/Hashable.scala diff --git a/src/dotty/tools/dotc/core/Mode.scala b/compiler/src/dotty/tools/dotc/core/Mode.scala similarity index 100% rename from src/dotty/tools/dotc/core/Mode.scala rename to compiler/src/dotty/tools/dotc/core/Mode.scala diff --git a/src/dotty/tools/dotc/core/NameOps.scala b/compiler/src/dotty/tools/dotc/core/NameOps.scala similarity index 100% rename from src/dotty/tools/dotc/core/NameOps.scala rename to compiler/src/dotty/tools/dotc/core/NameOps.scala diff --git a/src/dotty/tools/dotc/core/Names.scala b/compiler/src/dotty/tools/dotc/core/Names.scala similarity index 100% rename from src/dotty/tools/dotc/core/Names.scala rename to compiler/src/dotty/tools/dotc/core/Names.scala diff --git a/src/dotty/tools/dotc/core/OrderingConstraint.scala b/compiler/src/dotty/tools/dotc/core/OrderingConstraint.scala similarity index 100% rename from src/dotty/tools/dotc/core/OrderingConstraint.scala rename to compiler/src/dotty/tools/dotc/core/OrderingConstraint.scala diff --git a/src/dotty/tools/dotc/core/Periods.scala b/compiler/src/dotty/tools/dotc/core/Periods.scala similarity index 100% rename from src/dotty/tools/dotc/core/Periods.scala rename to compiler/src/dotty/tools/dotc/core/Periods.scala diff --git a/src/dotty/tools/dotc/core/Phases.scala b/compiler/src/dotty/tools/dotc/core/Phases.scala similarity index 100% rename from src/dotty/tools/dotc/core/Phases.scala rename to compiler/src/dotty/tools/dotc/core/Phases.scala diff --git a/src/dotty/tools/dotc/core/Scopes.scala b/compiler/src/dotty/tools/dotc/core/Scopes.scala similarity index 100% rename from src/dotty/tools/dotc/core/Scopes.scala rename to compiler/src/dotty/tools/dotc/core/Scopes.scala diff --git a/src/dotty/tools/dotc/core/Signature.scala b/compiler/src/dotty/tools/dotc/core/Signature.scala similarity index 100% rename from src/dotty/tools/dotc/core/Signature.scala rename to compiler/src/dotty/tools/dotc/core/Signature.scala diff --git a/src/dotty/tools/dotc/core/StdNames.scala b/compiler/src/dotty/tools/dotc/core/StdNames.scala similarity index 100% rename from src/dotty/tools/dotc/core/StdNames.scala rename to compiler/src/dotty/tools/dotc/core/StdNames.scala diff --git a/src/dotty/tools/dotc/core/Substituters.scala b/compiler/src/dotty/tools/dotc/core/Substituters.scala similarity index 100% rename from src/dotty/tools/dotc/core/Substituters.scala rename to compiler/src/dotty/tools/dotc/core/Substituters.scala diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/compiler/src/dotty/tools/dotc/core/SymDenotations.scala similarity index 100% rename from src/dotty/tools/dotc/core/SymDenotations.scala rename to compiler/src/dotty/tools/dotc/core/SymDenotations.scala diff --git a/src/dotty/tools/dotc/core/SymbolLoaders.scala b/compiler/src/dotty/tools/dotc/core/SymbolLoaders.scala similarity index 100% rename from src/dotty/tools/dotc/core/SymbolLoaders.scala rename to compiler/src/dotty/tools/dotc/core/SymbolLoaders.scala diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/compiler/src/dotty/tools/dotc/core/Symbols.scala similarity index 99% rename from src/dotty/tools/dotc/core/Symbols.scala rename to compiler/src/dotty/tools/dotc/core/Symbols.scala index b5bd196d234d..c0427e320010 100644 --- a/src/dotty/tools/dotc/core/Symbols.scala +++ b/compiler/src/dotty/tools/dotc/core/Symbols.scala @@ -574,7 +574,7 @@ object Symbols { /** Copy a symbol, overriding selective fields */ def copy( owner: Symbol = sym.owner, - name: N = sym.name, + name: N = (sym.name: N), // Dotty deviation: type ascription to avoid leaking private sym (only happens in unpickling), won't be needed once #1723 is fixed flags: FlagSet = sym.flags, info: Type = sym.info, privateWithin: Symbol = sym.privateWithin, diff --git a/src/dotty/tools/dotc/core/TypeApplications.scala b/compiler/src/dotty/tools/dotc/core/TypeApplications.scala similarity index 100% rename from src/dotty/tools/dotc/core/TypeApplications.scala rename to compiler/src/dotty/tools/dotc/core/TypeApplications.scala diff --git a/src/dotty/tools/dotc/core/TypeComparer.scala b/compiler/src/dotty/tools/dotc/core/TypeComparer.scala similarity index 100% rename from src/dotty/tools/dotc/core/TypeComparer.scala rename to compiler/src/dotty/tools/dotc/core/TypeComparer.scala diff --git a/src/dotty/tools/dotc/core/TypeErasure.scala b/compiler/src/dotty/tools/dotc/core/TypeErasure.scala similarity index 100% rename from src/dotty/tools/dotc/core/TypeErasure.scala rename to compiler/src/dotty/tools/dotc/core/TypeErasure.scala diff --git a/src/dotty/tools/dotc/core/TypeOps.scala b/compiler/src/dotty/tools/dotc/core/TypeOps.scala similarity index 100% rename from src/dotty/tools/dotc/core/TypeOps.scala rename to compiler/src/dotty/tools/dotc/core/TypeOps.scala diff --git a/src/dotty/tools/dotc/core/TypeParamInfo.scala b/compiler/src/dotty/tools/dotc/core/TypeParamInfo.scala similarity index 100% rename from src/dotty/tools/dotc/core/TypeParamInfo.scala rename to compiler/src/dotty/tools/dotc/core/TypeParamInfo.scala diff --git a/src/dotty/tools/dotc/core/TyperState.scala b/compiler/src/dotty/tools/dotc/core/TyperState.scala similarity index 100% rename from src/dotty/tools/dotc/core/TyperState.scala rename to compiler/src/dotty/tools/dotc/core/TyperState.scala diff --git a/src/dotty/tools/dotc/core/Types.overflow b/compiler/src/dotty/tools/dotc/core/Types.overflow similarity index 100% rename from src/dotty/tools/dotc/core/Types.overflow rename to compiler/src/dotty/tools/dotc/core/Types.overflow diff --git a/src/dotty/tools/dotc/core/Types.scala b/compiler/src/dotty/tools/dotc/core/Types.scala similarity index 100% rename from src/dotty/tools/dotc/core/Types.scala rename to compiler/src/dotty/tools/dotc/core/Types.scala diff --git a/src/dotty/tools/dotc/core/Uniques.scala b/compiler/src/dotty/tools/dotc/core/Uniques.scala similarity index 100% rename from src/dotty/tools/dotc/core/Uniques.scala rename to compiler/src/dotty/tools/dotc/core/Uniques.scala diff --git a/src/dotty/tools/dotc/core/classfile/AbstractFileReader.scala b/compiler/src/dotty/tools/dotc/core/classfile/AbstractFileReader.scala similarity index 100% rename from src/dotty/tools/dotc/core/classfile/AbstractFileReader.scala rename to compiler/src/dotty/tools/dotc/core/classfile/AbstractFileReader.scala diff --git a/src/dotty/tools/dotc/core/classfile/ByteCodecs.scala b/compiler/src/dotty/tools/dotc/core/classfile/ByteCodecs.scala similarity index 100% rename from src/dotty/tools/dotc/core/classfile/ByteCodecs.scala rename to compiler/src/dotty/tools/dotc/core/classfile/ByteCodecs.scala diff --git a/src/dotty/tools/dotc/core/classfile/ClassfileConstants.scala b/compiler/src/dotty/tools/dotc/core/classfile/ClassfileConstants.scala similarity index 100% rename from src/dotty/tools/dotc/core/classfile/ClassfileConstants.scala rename to compiler/src/dotty/tools/dotc/core/classfile/ClassfileConstants.scala diff --git a/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala b/compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala similarity index 100% rename from src/dotty/tools/dotc/core/classfile/ClassfileParser.scala rename to compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala diff --git a/src/dotty/tools/dotc/core/tasty/DottyUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/DottyUnpickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/DottyUnpickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/DottyUnpickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/NameBuffer.scala b/compiler/src/dotty/tools/dotc/core/tasty/NameBuffer.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/NameBuffer.scala rename to compiler/src/dotty/tools/dotc/core/tasty/NameBuffer.scala diff --git a/src/dotty/tools/dotc/core/tasty/PositionPickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/PositionPickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/PositionPickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/PositionPickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/PositionUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/PositionUnpickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/PositionUnpickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/PositionUnpickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyBuffer.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyBuffer.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyBuffer.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyBuffer.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyFormat.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyFormat.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyFormat.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyFormat.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyName.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyName.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyName.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyName.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyPickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyPickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyPickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyPickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala similarity index 98% rename from src/dotty/tools/dotc/core/tasty/TastyPrinter.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala index 7fcd7c29eff1..0dc8d8feadcd 100644 --- a/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala +++ b/compiler/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala @@ -69,7 +69,7 @@ class TastyPrinter(bytes: Array[Byte])(implicit ctx: Context) { case VALDEF | DEFDEF | TYPEDEF | TYPEPARAM | PARAM | NAMEDARG | BIND => printName(); printTrees() case REFINEDtype => - printTree(); printName(); printTrees() + printName(); printTree(); printTrees() case RETURN => printNat(); printTrees() case METHODtype | POLYtype => diff --git a/src/dotty/tools/dotc/core/tasty/TastyReader.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyReader.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyReader.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyReader.scala diff --git a/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TastyUnpickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/TreeBuffer.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreeBuffer.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TreeBuffer.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TreeBuffer.scala diff --git a/src/dotty/tools/dotc/core/tasty/TreePickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/tasty/TreePickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala diff --git a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala similarity index 97% rename from src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala rename to compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala index eba9ab5331d6..66cfcf453b61 100644 --- a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala +++ b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala @@ -14,6 +14,7 @@ import scala.annotation.{tailrec, switch} import scala.collection.mutable.ListBuffer import scala.collection.{ mutable, immutable } import config.Printers.pickling +import typer.Checking /** Unpickler for typed trees * @param reader the reader from which to unpickle @@ -347,6 +348,8 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle ConstantType(Constant(null)) case CLASSconst => ConstantType(Constant(readType())) + case ENUMconst => + ConstantType(Constant(readTermRef().termSymbol)) case BYNAMEtype => ExprType(readType()) } @@ -549,9 +552,9 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle case ANNOTATION => readByte() val end = readEnd() - val sym = readType().typeSymbol + val tp = readType() val lazyAnnotTree = readLater(end, rdr => ctx => rdr.readTerm()(ctx)) - annots += Annotation.deferred(sym, _ => lazyAnnotTree.complete) + annots += Annotation.deferredSymAndTree(tp.typeSymbol, _ => lazyAnnotTree.complete) case _ => assert(false, s"illegal modifier tag at $currentAddr") } @@ -730,6 +733,12 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle // no longer necessary. goto(end) setPos(start, tree) + + // This is also done in PostTyper but needs to be redone here + if (!sym.is(SyntheticOrPrivate) && sym.owner.isClass) { + sym.info = Checking.checkNoPrivateLeaks(sym, tree.pos) + } + tree } private def readTemplate(implicit ctx: Context): Template = { @@ -872,7 +881,7 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle readType() match { case path: TypeRef => TypeTree(path) case path: TermRef => ref(path) - case path: ThisType => This(path.cls) + case path: ThisType => untpd.This(untpd.EmptyTypeIdent).withType(path) case path: ConstantType => Literal(path.value) } } @@ -1017,7 +1026,10 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle case APPLIEDtpt => AppliedTypeTree(readTpt(), until(end)(readTpt())) case ANDtpt => - AndTypeTree(readTpt(), readTpt()) + val tpt1 = readTpt() + val tpt2 = readTpt() + // FIXME: We need to do this instead of "AndType(tpt1, tpt2)" to avoid self-type cyclic reference in tasty_tools + untpd.AndTypeTree(tpt1, tpt2).withType(AndType(tpt1.tpe, tpt2.tpe)) case ORtpt => OrTypeTree(readTpt(), readTpt()) case ANNOTATEDtpt => @@ -1037,7 +1049,8 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle } val tree = if (tag < firstLengthTreeTag) readSimpleTerm() else readLengthTerm() - tree.overwriteType(tree.tpe.simplified) + if (!tree.isInstanceOf[TypTree]) // FIXME: Necessary to avoid self-type cyclic reference in tasty_tools + tree.overwriteType(tree.tpe.simplified) setPos(start, tree) } @@ -1094,12 +1107,6 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle } } - class LazyAnnotationReader(sym: Symbol, reader: TreeReader) extends LazyAnnotation(sym) { - def complete(implicit ctx: Context) = { - reader.readTerm()(ctx.withPhaseNoLater(ctx.picklerPhase)) - } - } - /** A lazy datastructure that records how definitions are nested in TASTY data. * The structure is lazy because it needs to be computed only for forward references * to symbols that happen before the referenced symbol is created (see `symbolAt`). diff --git a/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala b/compiler/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala similarity index 100% rename from src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala rename to compiler/src/dotty/tools/dotc/core/unpickleScala2/PickleBuffer.scala diff --git a/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala b/compiler/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala similarity index 100% rename from src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala rename to compiler/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala diff --git a/src/dotty/tools/dotc/parsing/CharArrayReader.scala b/compiler/src/dotty/tools/dotc/parsing/CharArrayReader.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/CharArrayReader.scala rename to compiler/src/dotty/tools/dotc/parsing/CharArrayReader.scala diff --git a/src/dotty/tools/dotc/parsing/JavaParsers.scala b/compiler/src/dotty/tools/dotc/parsing/JavaParsers.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/JavaParsers.scala rename to compiler/src/dotty/tools/dotc/parsing/JavaParsers.scala diff --git a/src/dotty/tools/dotc/parsing/JavaScanners.scala b/compiler/src/dotty/tools/dotc/parsing/JavaScanners.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/JavaScanners.scala rename to compiler/src/dotty/tools/dotc/parsing/JavaScanners.scala diff --git a/src/dotty/tools/dotc/parsing/JavaTokens.scala b/compiler/src/dotty/tools/dotc/parsing/JavaTokens.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/JavaTokens.scala rename to compiler/src/dotty/tools/dotc/parsing/JavaTokens.scala diff --git a/src/dotty/tools/dotc/parsing/MarkupParserCommon.scala b/compiler/src/dotty/tools/dotc/parsing/MarkupParserCommon.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/MarkupParserCommon.scala rename to compiler/src/dotty/tools/dotc/parsing/MarkupParserCommon.scala diff --git a/src/dotty/tools/dotc/parsing/MarkupParsers.scala b/compiler/src/dotty/tools/dotc/parsing/MarkupParsers.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/MarkupParsers.scala rename to compiler/src/dotty/tools/dotc/parsing/MarkupParsers.scala diff --git a/src/dotty/tools/dotc/parsing/Parsers.scala b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/Parsers.scala rename to compiler/src/dotty/tools/dotc/parsing/Parsers.scala diff --git a/src/dotty/tools/dotc/parsing/Scanners.scala b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/Scanners.scala rename to compiler/src/dotty/tools/dotc/parsing/Scanners.scala diff --git a/src/dotty/tools/dotc/parsing/ScriptParsers.scala b/compiler/src/dotty/tools/dotc/parsing/ScriptParsers.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/ScriptParsers.scala rename to compiler/src/dotty/tools/dotc/parsing/ScriptParsers.scala diff --git a/src/dotty/tools/dotc/parsing/SymbolicXMLBuilder.scala b/compiler/src/dotty/tools/dotc/parsing/SymbolicXMLBuilder.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/SymbolicXMLBuilder.scala rename to compiler/src/dotty/tools/dotc/parsing/SymbolicXMLBuilder.scala diff --git a/src/dotty/tools/dotc/parsing/Tokens.scala b/compiler/src/dotty/tools/dotc/parsing/Tokens.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/Tokens.scala rename to compiler/src/dotty/tools/dotc/parsing/Tokens.scala diff --git a/src/dotty/tools/dotc/parsing/TreeBuilder.scala.unused b/compiler/src/dotty/tools/dotc/parsing/TreeBuilder.scala.unused similarity index 100% rename from src/dotty/tools/dotc/parsing/TreeBuilder.scala.unused rename to compiler/src/dotty/tools/dotc/parsing/TreeBuilder.scala.unused diff --git a/src/dotty/tools/dotc/parsing/Utility.scala b/compiler/src/dotty/tools/dotc/parsing/Utility.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/Utility.scala rename to compiler/src/dotty/tools/dotc/parsing/Utility.scala diff --git a/src/dotty/tools/dotc/parsing/package.scala b/compiler/src/dotty/tools/dotc/parsing/package.scala similarity index 100% rename from src/dotty/tools/dotc/parsing/package.scala rename to compiler/src/dotty/tools/dotc/parsing/package.scala diff --git a/src/dotty/tools/dotc/printing/Formatting.scala b/compiler/src/dotty/tools/dotc/printing/Formatting.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Formatting.scala rename to compiler/src/dotty/tools/dotc/printing/Formatting.scala diff --git a/src/dotty/tools/dotc/printing/Highlighting.scala b/compiler/src/dotty/tools/dotc/printing/Highlighting.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Highlighting.scala rename to compiler/src/dotty/tools/dotc/printing/Highlighting.scala diff --git a/src/dotty/tools/dotc/printing/PlainPrinter.scala b/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala similarity index 99% rename from src/dotty/tools/dotc/printing/PlainPrinter.scala rename to compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala index 4894fa019563..15c382bb09ad 100644 --- a/src/dotty/tools/dotc/printing/PlainPrinter.scala +++ b/compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala @@ -55,6 +55,8 @@ class PlainPrinter(_ctx: Context) extends Printer { homogenize(tp.info) case tp: LazyRef => homogenize(tp.ref) + case HKApply(tycon, args) => + tycon.dealias.appliedTo(args) case _ => tp } diff --git a/src/dotty/tools/dotc/printing/Printer.scala b/compiler/src/dotty/tools/dotc/printing/Printer.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Printer.scala rename to compiler/src/dotty/tools/dotc/printing/Printer.scala diff --git a/src/dotty/tools/dotc/printing/Printers.scala b/compiler/src/dotty/tools/dotc/printing/Printers.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Printers.scala rename to compiler/src/dotty/tools/dotc/printing/Printers.scala diff --git a/src/dotty/tools/dotc/printing/RefinedPrinter.scala b/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala similarity index 98% rename from src/dotty/tools/dotc/printing/RefinedPrinter.scala rename to compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala index 29e1d4869757..00627fc286b7 100644 --- a/src/dotty/tools/dotc/printing/RefinedPrinter.scala +++ b/compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala @@ -288,7 +288,20 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) { val selfName = if (self.name == nme.WILDCARD) "this" else self.name.toString (selfName ~ optText(self.tpt)(": " ~ _) ~ " =>").close } provided !self.isEmpty - val bodyText = "{" ~~ selfText ~~ toTextGlobal(primaryConstrs ::: impl.body, "\n") ~ "}" + + val body = if (ctx.settings.YtestPickler.value) { + // Pickling/unpickling reorders the body members, so we need to homogenize + val (params, rest) = impl.body partition { + case stat: TypeDef => stat.symbol.is(Param) + case stat: ValOrDefDef => + stat.symbol.is(ParamAccessor) && !stat.symbol.isSetter + case _ => false + } + params ::: rest + } else impl.body + + val bodyText = "{" ~~ selfText ~~ toTextGlobal(primaryConstrs ::: body, "\n") ~ "}" + prefix ~ (" extends" provided !ofNew) ~~ parentsText ~~ bodyText } diff --git a/src/dotty/tools/dotc/printing/Showable.scala b/compiler/src/dotty/tools/dotc/printing/Showable.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Showable.scala rename to compiler/src/dotty/tools/dotc/printing/Showable.scala diff --git a/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala b/compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala similarity index 100% rename from src/dotty/tools/dotc/printing/SyntaxHighlighting.scala rename to compiler/src/dotty/tools/dotc/printing/SyntaxHighlighting.scala diff --git a/src/dotty/tools/dotc/printing/Texts.scala b/compiler/src/dotty/tools/dotc/printing/Texts.scala similarity index 100% rename from src/dotty/tools/dotc/printing/Texts.scala rename to compiler/src/dotty/tools/dotc/printing/Texts.scala diff --git a/src/dotty/tools/dotc/printing/package.scala b/compiler/src/dotty/tools/dotc/printing/package.scala similarity index 100% rename from src/dotty/tools/dotc/printing/package.scala rename to compiler/src/dotty/tools/dotc/printing/package.scala diff --git a/src/dotty/tools/dotc/repl/AbstractFileClassLoader.scala b/compiler/src/dotty/tools/dotc/repl/AbstractFileClassLoader.scala similarity index 100% rename from src/dotty/tools/dotc/repl/AbstractFileClassLoader.scala rename to compiler/src/dotty/tools/dotc/repl/AbstractFileClassLoader.scala diff --git a/src/dotty/tools/dotc/repl/AmmoniteReader.scala b/compiler/src/dotty/tools/dotc/repl/AmmoniteReader.scala similarity index 100% rename from src/dotty/tools/dotc/repl/AmmoniteReader.scala rename to compiler/src/dotty/tools/dotc/repl/AmmoniteReader.scala diff --git a/src/dotty/tools/dotc/repl/CompilingInterpreter.scala b/compiler/src/dotty/tools/dotc/repl/CompilingInterpreter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/CompilingInterpreter.scala rename to compiler/src/dotty/tools/dotc/repl/CompilingInterpreter.scala diff --git a/src/dotty/tools/dotc/repl/ConsoleWriter.scala b/compiler/src/dotty/tools/dotc/repl/ConsoleWriter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ConsoleWriter.scala rename to compiler/src/dotty/tools/dotc/repl/ConsoleWriter.scala diff --git a/src/dotty/tools/dotc/repl/InteractiveReader.scala b/compiler/src/dotty/tools/dotc/repl/InteractiveReader.scala similarity index 100% rename from src/dotty/tools/dotc/repl/InteractiveReader.scala rename to compiler/src/dotty/tools/dotc/repl/InteractiveReader.scala diff --git a/src/dotty/tools/dotc/repl/Interpreter.scala b/compiler/src/dotty/tools/dotc/repl/Interpreter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/Interpreter.scala rename to compiler/src/dotty/tools/dotc/repl/Interpreter.scala diff --git a/src/dotty/tools/dotc/repl/InterpreterLoop.scala b/compiler/src/dotty/tools/dotc/repl/InterpreterLoop.scala similarity index 100% rename from src/dotty/tools/dotc/repl/InterpreterLoop.scala rename to compiler/src/dotty/tools/dotc/repl/InterpreterLoop.scala diff --git a/src/dotty/tools/dotc/repl/Main.scala b/compiler/src/dotty/tools/dotc/repl/Main.scala similarity index 100% rename from src/dotty/tools/dotc/repl/Main.scala rename to compiler/src/dotty/tools/dotc/repl/Main.scala diff --git a/src/dotty/tools/dotc/repl/ManifestInfo.scala b/compiler/src/dotty/tools/dotc/repl/ManifestInfo.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ManifestInfo.scala rename to compiler/src/dotty/tools/dotc/repl/ManifestInfo.scala diff --git a/src/dotty/tools/dotc/repl/NewLinePrintWriter.scala b/compiler/src/dotty/tools/dotc/repl/NewLinePrintWriter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/NewLinePrintWriter.scala rename to compiler/src/dotty/tools/dotc/repl/NewLinePrintWriter.scala diff --git a/src/dotty/tools/dotc/repl/REPL.scala b/compiler/src/dotty/tools/dotc/repl/REPL.scala similarity index 100% rename from src/dotty/tools/dotc/repl/REPL.scala rename to compiler/src/dotty/tools/dotc/repl/REPL.scala diff --git a/src/dotty/tools/dotc/repl/SimpleReader.scala b/compiler/src/dotty/tools/dotc/repl/SimpleReader.scala similarity index 100% rename from src/dotty/tools/dotc/repl/SimpleReader.scala rename to compiler/src/dotty/tools/dotc/repl/SimpleReader.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/Ansi.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/Ansi.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/Ansi.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/Ansi.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/Filter.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/Filter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/Filter.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/Filter.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/FilterTools.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/FilterTools.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/FilterTools.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/FilterTools.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/LICENSE b/compiler/src/dotty/tools/dotc/repl/ammonite/LICENSE similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/LICENSE rename to compiler/src/dotty/tools/dotc/repl/ammonite/LICENSE diff --git a/src/dotty/tools/dotc/repl/ammonite/Protocol.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/Protocol.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/Protocol.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/Protocol.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/SpecialKeys.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/SpecialKeys.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/SpecialKeys.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/SpecialKeys.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/Terminal.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/Terminal.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/Terminal.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/Terminal.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/Utils.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/Utils.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/Utils.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/Utils.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/filters/BasicFilters.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/filters/BasicFilters.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/filters/BasicFilters.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/filters/BasicFilters.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/filters/GUILikeFilters.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/filters/GUILikeFilters.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/filters/GUILikeFilters.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/filters/GUILikeFilters.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/filters/HistoryFilter.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/filters/HistoryFilter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/filters/HistoryFilter.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/filters/HistoryFilter.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/filters/ReadlineFilters.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/filters/ReadlineFilters.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/filters/ReadlineFilters.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/filters/ReadlineFilters.scala diff --git a/src/dotty/tools/dotc/repl/ammonite/filters/UndoFilter.scala b/compiler/src/dotty/tools/dotc/repl/ammonite/filters/UndoFilter.scala similarity index 100% rename from src/dotty/tools/dotc/repl/ammonite/filters/UndoFilter.scala rename to compiler/src/dotty/tools/dotc/repl/ammonite/filters/UndoFilter.scala diff --git a/src/dotty/tools/dotc/reporting/ConsoleReporter.scala b/compiler/src/dotty/tools/dotc/reporting/ConsoleReporter.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/ConsoleReporter.scala rename to compiler/src/dotty/tools/dotc/reporting/ConsoleReporter.scala diff --git a/src/dotty/tools/dotc/reporting/HideNonSensicalMessages.scala b/compiler/src/dotty/tools/dotc/reporting/HideNonSensicalMessages.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/HideNonSensicalMessages.scala rename to compiler/src/dotty/tools/dotc/reporting/HideNonSensicalMessages.scala diff --git a/src/dotty/tools/dotc/reporting/MessageRendering.scala b/compiler/src/dotty/tools/dotc/reporting/MessageRendering.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/MessageRendering.scala rename to compiler/src/dotty/tools/dotc/reporting/MessageRendering.scala diff --git a/src/dotty/tools/dotc/reporting/Reporter.scala b/compiler/src/dotty/tools/dotc/reporting/Reporter.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/Reporter.scala rename to compiler/src/dotty/tools/dotc/reporting/Reporter.scala diff --git a/src/dotty/tools/dotc/reporting/StoreReporter.scala b/compiler/src/dotty/tools/dotc/reporting/StoreReporter.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/StoreReporter.scala rename to compiler/src/dotty/tools/dotc/reporting/StoreReporter.scala diff --git a/src/dotty/tools/dotc/reporting/ThrowingReporter.scala b/compiler/src/dotty/tools/dotc/reporting/ThrowingReporter.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/ThrowingReporter.scala rename to compiler/src/dotty/tools/dotc/reporting/ThrowingReporter.scala diff --git a/src/dotty/tools/dotc/reporting/UniqueMessagePositions.scala b/compiler/src/dotty/tools/dotc/reporting/UniqueMessagePositions.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/UniqueMessagePositions.scala rename to compiler/src/dotty/tools/dotc/reporting/UniqueMessagePositions.scala diff --git a/src/dotty/tools/dotc/reporting/diagnostic/Message.scala b/compiler/src/dotty/tools/dotc/reporting/diagnostic/Message.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/diagnostic/Message.scala rename to compiler/src/dotty/tools/dotc/reporting/diagnostic/Message.scala diff --git a/src/dotty/tools/dotc/reporting/diagnostic/MessageContainer.scala b/compiler/src/dotty/tools/dotc/reporting/diagnostic/MessageContainer.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/diagnostic/MessageContainer.scala rename to compiler/src/dotty/tools/dotc/reporting/diagnostic/MessageContainer.scala diff --git a/src/dotty/tools/dotc/reporting/diagnostic/messages.scala b/compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala similarity index 100% rename from src/dotty/tools/dotc/reporting/diagnostic/messages.scala rename to compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala diff --git a/src/dotty/tools/dotc/rewrite/Rewrites.scala b/compiler/src/dotty/tools/dotc/rewrite/Rewrites.scala similarity index 100% rename from src/dotty/tools/dotc/rewrite/Rewrites.scala rename to compiler/src/dotty/tools/dotc/rewrite/Rewrites.scala diff --git a/src/dotty/tools/dotc/sbt/ExtractAPI.scala b/compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala similarity index 100% rename from src/dotty/tools/dotc/sbt/ExtractAPI.scala rename to compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala diff --git a/src/dotty/tools/dotc/sbt/ExtractDependencies.scala b/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala similarity index 99% rename from src/dotty/tools/dotc/sbt/ExtractDependencies.scala rename to compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala index 229e35360401..fefa63f6fdc4 100644 --- a/src/dotty/tools/dotc/sbt/ExtractDependencies.scala +++ b/compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala @@ -200,7 +200,7 @@ private class ExtractDependenciesCollector(implicit val ctx: Context) extends tp addDependency(ref.symbol) usedTypeTraverser.traverse(ref.tpe) case t @ Template(_, parents, _, _) => - t.parents.foreach(p => addInheritanceDependency(p.tpe.typeSymbol)) + t.parents.foreach(p => addInheritanceDependency(p.tpe.classSymbol)) case _ => } traverseChildren(tree) diff --git a/src/dotty/tools/dotc/sbt/ShowAPI.scala b/compiler/src/dotty/tools/dotc/sbt/ShowAPI.scala similarity index 100% rename from src/dotty/tools/dotc/sbt/ShowAPI.scala rename to compiler/src/dotty/tools/dotc/sbt/ShowAPI.scala diff --git a/src/dotty/tools/dotc/sbt/ThunkHolder.scala b/compiler/src/dotty/tools/dotc/sbt/ThunkHolder.scala similarity index 100% rename from src/dotty/tools/dotc/sbt/ThunkHolder.scala rename to compiler/src/dotty/tools/dotc/sbt/ThunkHolder.scala diff --git a/src/dotty/tools/dotc/transform/ArrayConstructors.scala b/compiler/src/dotty/tools/dotc/transform/ArrayConstructors.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ArrayConstructors.scala rename to compiler/src/dotty/tools/dotc/transform/ArrayConstructors.scala diff --git a/src/dotty/tools/dotc/transform/AugmentScala2Traits.scala b/compiler/src/dotty/tools/dotc/transform/AugmentScala2Traits.scala similarity index 100% rename from src/dotty/tools/dotc/transform/AugmentScala2Traits.scala rename to compiler/src/dotty/tools/dotc/transform/AugmentScala2Traits.scala diff --git a/src/dotty/tools/dotc/transform/CapturedVars.scala b/compiler/src/dotty/tools/dotc/transform/CapturedVars.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CapturedVars.scala rename to compiler/src/dotty/tools/dotc/transform/CapturedVars.scala diff --git a/src/dotty/tools/dotc/transform/CheckReentrant.scala b/compiler/src/dotty/tools/dotc/transform/CheckReentrant.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CheckReentrant.scala rename to compiler/src/dotty/tools/dotc/transform/CheckReentrant.scala diff --git a/src/dotty/tools/dotc/transform/CheckStatic.scala b/compiler/src/dotty/tools/dotc/transform/CheckStatic.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CheckStatic.scala rename to compiler/src/dotty/tools/dotc/transform/CheckStatic.scala diff --git a/src/dotty/tools/dotc/transform/ClassOf.scala b/compiler/src/dotty/tools/dotc/transform/ClassOf.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ClassOf.scala rename to compiler/src/dotty/tools/dotc/transform/ClassOf.scala diff --git a/src/dotty/tools/dotc/transform/CollectEntryPoints.scala b/compiler/src/dotty/tools/dotc/transform/CollectEntryPoints.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CollectEntryPoints.scala rename to compiler/src/dotty/tools/dotc/transform/CollectEntryPoints.scala diff --git a/src/dotty/tools/dotc/transform/Constructors.scala b/compiler/src/dotty/tools/dotc/transform/Constructors.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Constructors.scala rename to compiler/src/dotty/tools/dotc/transform/Constructors.scala diff --git a/src/dotty/tools/dotc/transform/CrossCastAnd.scala b/compiler/src/dotty/tools/dotc/transform/CrossCastAnd.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CrossCastAnd.scala rename to compiler/src/dotty/tools/dotc/transform/CrossCastAnd.scala diff --git a/src/dotty/tools/dotc/transform/CtxLazy.scala b/compiler/src/dotty/tools/dotc/transform/CtxLazy.scala similarity index 100% rename from src/dotty/tools/dotc/transform/CtxLazy.scala rename to compiler/src/dotty/tools/dotc/transform/CtxLazy.scala diff --git a/src/dotty/tools/dotc/transform/DropEmptyCompanions.scala.disabled b/compiler/src/dotty/tools/dotc/transform/DropEmptyCompanions.scala.disabled similarity index 100% rename from src/dotty/tools/dotc/transform/DropEmptyCompanions.scala.disabled rename to compiler/src/dotty/tools/dotc/transform/DropEmptyCompanions.scala.disabled diff --git a/src/dotty/tools/dotc/transform/DropInlined.scala b/compiler/src/dotty/tools/dotc/transform/DropInlined.scala similarity index 100% rename from src/dotty/tools/dotc/transform/DropInlined.scala rename to compiler/src/dotty/tools/dotc/transform/DropInlined.scala diff --git a/src/dotty/tools/dotc/transform/ElimByName.scala b/compiler/src/dotty/tools/dotc/transform/ElimByName.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ElimByName.scala rename to compiler/src/dotty/tools/dotc/transform/ElimByName.scala diff --git a/src/dotty/tools/dotc/transform/ElimErasedValueType.scala b/compiler/src/dotty/tools/dotc/transform/ElimErasedValueType.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ElimErasedValueType.scala rename to compiler/src/dotty/tools/dotc/transform/ElimErasedValueType.scala diff --git a/src/dotty/tools/dotc/transform/ElimRepeated.scala b/compiler/src/dotty/tools/dotc/transform/ElimRepeated.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ElimRepeated.scala rename to compiler/src/dotty/tools/dotc/transform/ElimRepeated.scala diff --git a/src/dotty/tools/dotc/transform/ElimStaticThis.scala b/compiler/src/dotty/tools/dotc/transform/ElimStaticThis.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ElimStaticThis.scala rename to compiler/src/dotty/tools/dotc/transform/ElimStaticThis.scala diff --git a/src/dotty/tools/dotc/transform/Erasure.scala b/compiler/src/dotty/tools/dotc/transform/Erasure.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Erasure.scala rename to compiler/src/dotty/tools/dotc/transform/Erasure.scala diff --git a/src/dotty/tools/dotc/transform/ExpandPrivate.scala b/compiler/src/dotty/tools/dotc/transform/ExpandPrivate.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ExpandPrivate.scala rename to compiler/src/dotty/tools/dotc/transform/ExpandPrivate.scala diff --git a/src/dotty/tools/dotc/transform/ExpandSAMs.scala b/compiler/src/dotty/tools/dotc/transform/ExpandSAMs.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ExpandSAMs.scala rename to compiler/src/dotty/tools/dotc/transform/ExpandSAMs.scala diff --git a/src/dotty/tools/dotc/transform/ExplicitOuter.scala b/compiler/src/dotty/tools/dotc/transform/ExplicitOuter.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ExplicitOuter.scala rename to compiler/src/dotty/tools/dotc/transform/ExplicitOuter.scala diff --git a/src/dotty/tools/dotc/transform/ExplicitSelf.scala b/compiler/src/dotty/tools/dotc/transform/ExplicitSelf.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ExplicitSelf.scala rename to compiler/src/dotty/tools/dotc/transform/ExplicitSelf.scala diff --git a/src/dotty/tools/dotc/transform/ExtensionMethods.scala b/compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ExtensionMethods.scala rename to compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala diff --git a/src/dotty/tools/dotc/transform/FirstTransform.scala b/compiler/src/dotty/tools/dotc/transform/FirstTransform.scala similarity index 100% rename from src/dotty/tools/dotc/transform/FirstTransform.scala rename to compiler/src/dotty/tools/dotc/transform/FirstTransform.scala diff --git a/src/dotty/tools/dotc/transform/Flatten.scala b/compiler/src/dotty/tools/dotc/transform/Flatten.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Flatten.scala rename to compiler/src/dotty/tools/dotc/transform/Flatten.scala diff --git a/src/dotty/tools/dotc/transform/FullParameterization.scala b/compiler/src/dotty/tools/dotc/transform/FullParameterization.scala similarity index 100% rename from src/dotty/tools/dotc/transform/FullParameterization.scala rename to compiler/src/dotty/tools/dotc/transform/FullParameterization.scala diff --git a/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala b/compiler/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala similarity index 100% rename from src/dotty/tools/dotc/transform/FunctionalInterfaces.scala rename to compiler/src/dotty/tools/dotc/transform/FunctionalInterfaces.scala diff --git a/src/dotty/tools/dotc/transform/GetClass.scala b/compiler/src/dotty/tools/dotc/transform/GetClass.scala similarity index 100% rename from src/dotty/tools/dotc/transform/GetClass.scala rename to compiler/src/dotty/tools/dotc/transform/GetClass.scala diff --git a/src/dotty/tools/dotc/transform/Getters.scala b/compiler/src/dotty/tools/dotc/transform/Getters.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Getters.scala rename to compiler/src/dotty/tools/dotc/transform/Getters.scala diff --git a/src/dotty/tools/dotc/transform/InterceptedMethods.scala b/compiler/src/dotty/tools/dotc/transform/InterceptedMethods.scala similarity index 100% rename from src/dotty/tools/dotc/transform/InterceptedMethods.scala rename to compiler/src/dotty/tools/dotc/transform/InterceptedMethods.scala diff --git a/src/dotty/tools/dotc/transform/IsInstanceOfEvaluator.scala b/compiler/src/dotty/tools/dotc/transform/IsInstanceOfEvaluator.scala similarity index 100% rename from src/dotty/tools/dotc/transform/IsInstanceOfEvaluator.scala rename to compiler/src/dotty/tools/dotc/transform/IsInstanceOfEvaluator.scala diff --git a/src/dotty/tools/dotc/transform/LambdaLift.scala b/compiler/src/dotty/tools/dotc/transform/LambdaLift.scala similarity index 100% rename from src/dotty/tools/dotc/transform/LambdaLift.scala rename to compiler/src/dotty/tools/dotc/transform/LambdaLift.scala diff --git a/src/dotty/tools/dotc/transform/LazyVals.scala b/compiler/src/dotty/tools/dotc/transform/LazyVals.scala similarity index 100% rename from src/dotty/tools/dotc/transform/LazyVals.scala rename to compiler/src/dotty/tools/dotc/transform/LazyVals.scala diff --git a/src/dotty/tools/dotc/transform/LiftTry.scala b/compiler/src/dotty/tools/dotc/transform/LiftTry.scala similarity index 100% rename from src/dotty/tools/dotc/transform/LiftTry.scala rename to compiler/src/dotty/tools/dotc/transform/LiftTry.scala diff --git a/src/dotty/tools/dotc/transform/LinkScala2ImplClasses.scala b/compiler/src/dotty/tools/dotc/transform/LinkScala2ImplClasses.scala similarity index 100% rename from src/dotty/tools/dotc/transform/LinkScala2ImplClasses.scala rename to compiler/src/dotty/tools/dotc/transform/LinkScala2ImplClasses.scala diff --git a/src/dotty/tools/dotc/transform/Literalize.scala.disabled b/compiler/src/dotty/tools/dotc/transform/Literalize.scala.disabled similarity index 100% rename from src/dotty/tools/dotc/transform/Literalize.scala.disabled rename to compiler/src/dotty/tools/dotc/transform/Literalize.scala.disabled diff --git a/src/dotty/tools/dotc/transform/MacroTransform.scala b/compiler/src/dotty/tools/dotc/transform/MacroTransform.scala similarity index 100% rename from src/dotty/tools/dotc/transform/MacroTransform.scala rename to compiler/src/dotty/tools/dotc/transform/MacroTransform.scala diff --git a/src/dotty/tools/dotc/transform/Memoize.scala b/compiler/src/dotty/tools/dotc/transform/Memoize.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Memoize.scala rename to compiler/src/dotty/tools/dotc/transform/Memoize.scala diff --git a/src/dotty/tools/dotc/transform/Mixin.scala b/compiler/src/dotty/tools/dotc/transform/Mixin.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Mixin.scala rename to compiler/src/dotty/tools/dotc/transform/Mixin.scala diff --git a/src/dotty/tools/dotc/transform/MixinOps.scala b/compiler/src/dotty/tools/dotc/transform/MixinOps.scala similarity index 100% rename from src/dotty/tools/dotc/transform/MixinOps.scala rename to compiler/src/dotty/tools/dotc/transform/MixinOps.scala diff --git a/src/dotty/tools/dotc/transform/MoveStatics.scala b/compiler/src/dotty/tools/dotc/transform/MoveStatics.scala similarity index 100% rename from src/dotty/tools/dotc/transform/MoveStatics.scala rename to compiler/src/dotty/tools/dotc/transform/MoveStatics.scala diff --git a/src/dotty/tools/dotc/transform/NonLocalReturns.scala b/compiler/src/dotty/tools/dotc/transform/NonLocalReturns.scala similarity index 100% rename from src/dotty/tools/dotc/transform/NonLocalReturns.scala rename to compiler/src/dotty/tools/dotc/transform/NonLocalReturns.scala diff --git a/src/dotty/tools/dotc/transform/NormalizeFlags.scala b/compiler/src/dotty/tools/dotc/transform/NormalizeFlags.scala similarity index 100% rename from src/dotty/tools/dotc/transform/NormalizeFlags.scala rename to compiler/src/dotty/tools/dotc/transform/NormalizeFlags.scala diff --git a/src/dotty/tools/dotc/transform/OverridingPairs.scala b/compiler/src/dotty/tools/dotc/transform/OverridingPairs.scala similarity index 100% rename from src/dotty/tools/dotc/transform/OverridingPairs.scala rename to compiler/src/dotty/tools/dotc/transform/OverridingPairs.scala diff --git a/src/dotty/tools/dotc/transform/ParamForwarding.scala b/compiler/src/dotty/tools/dotc/transform/ParamForwarding.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ParamForwarding.scala rename to compiler/src/dotty/tools/dotc/transform/ParamForwarding.scala diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala similarity index 100% rename from src/dotty/tools/dotc/transform/PatternMatcher.scala rename to compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala diff --git a/src/dotty/tools/dotc/transform/Pickler.scala b/compiler/src/dotty/tools/dotc/transform/Pickler.scala similarity index 97% rename from src/dotty/tools/dotc/transform/Pickler.scala rename to compiler/src/dotty/tools/dotc/transform/Pickler.scala index 61c3ca5de5a9..bf37067b1c2e 100644 --- a/src/dotty/tools/dotc/transform/Pickler.scala +++ b/compiler/src/dotty/tools/dotc/transform/Pickler.scala @@ -101,7 +101,7 @@ class Pickler extends Phase { if (previous != unpickled) { output("before-pickling.txt", previous) output("after-pickling.txt", unpickled) - ctx.error(i"""pickling difference for ${cls.fullName} in ${cls.sourceFile}, for details: + ctx.error(s"""pickling difference for ${cls} in ${cls.sourceFile}, for details: | | diff before-pickling.txt after-pickling.txt""") } diff --git a/src/dotty/tools/dotc/transform/PostTyper.scala b/compiler/src/dotty/tools/dotc/transform/PostTyper.scala similarity index 99% rename from src/dotty/tools/dotc/transform/PostTyper.scala rename to compiler/src/dotty/tools/dotc/transform/PostTyper.scala index 1ed47d92e349..e7c0df1b9d24 100644 --- a/src/dotty/tools/dotc/transform/PostTyper.scala +++ b/compiler/src/dotty/tools/dotc/transform/PostTyper.scala @@ -107,6 +107,7 @@ class PostTyper extends MacroTransform with IdentityDenotTransformer { thisTran private def transformMemberDef(tree: MemberDef)(implicit ctx: Context): Unit = { val sym = tree.symbol sym.transformAnnotations(transformAnnot) + // Has to be redone in TreeUnpickler if (!sym.is(SyntheticOrPrivate) && sym.owner.isClass) { val info1 = Checking.checkNoPrivateLeaks(sym, tree.pos) if (info1 ne sym.info) diff --git a/src/dotty/tools/dotc/transform/PrivateToStatic.scala.disabled b/compiler/src/dotty/tools/dotc/transform/PrivateToStatic.scala.disabled similarity index 100% rename from src/dotty/tools/dotc/transform/PrivateToStatic.scala.disabled rename to compiler/src/dotty/tools/dotc/transform/PrivateToStatic.scala.disabled diff --git a/src/dotty/tools/dotc/transform/ResolveSuper.scala b/compiler/src/dotty/tools/dotc/transform/ResolveSuper.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ResolveSuper.scala rename to compiler/src/dotty/tools/dotc/transform/ResolveSuper.scala diff --git a/src/dotty/tools/dotc/transform/RestoreScopes.scala b/compiler/src/dotty/tools/dotc/transform/RestoreScopes.scala similarity index 100% rename from src/dotty/tools/dotc/transform/RestoreScopes.scala rename to compiler/src/dotty/tools/dotc/transform/RestoreScopes.scala diff --git a/src/dotty/tools/dotc/transform/SelectStatic.scala b/compiler/src/dotty/tools/dotc/transform/SelectStatic.scala similarity index 100% rename from src/dotty/tools/dotc/transform/SelectStatic.scala rename to compiler/src/dotty/tools/dotc/transform/SelectStatic.scala diff --git a/src/dotty/tools/dotc/transform/SeqLiterals.scala b/compiler/src/dotty/tools/dotc/transform/SeqLiterals.scala similarity index 100% rename from src/dotty/tools/dotc/transform/SeqLiterals.scala rename to compiler/src/dotty/tools/dotc/transform/SeqLiterals.scala diff --git a/src/dotty/tools/dotc/transform/Splitter.scala b/compiler/src/dotty/tools/dotc/transform/Splitter.scala similarity index 100% rename from src/dotty/tools/dotc/transform/Splitter.scala rename to compiler/src/dotty/tools/dotc/transform/Splitter.scala diff --git a/src/dotty/tools/dotc/transform/SuperAccessors.scala b/compiler/src/dotty/tools/dotc/transform/SuperAccessors.scala similarity index 100% rename from src/dotty/tools/dotc/transform/SuperAccessors.scala rename to compiler/src/dotty/tools/dotc/transform/SuperAccessors.scala diff --git a/src/dotty/tools/dotc/transform/SymUtils.scala b/compiler/src/dotty/tools/dotc/transform/SymUtils.scala similarity index 100% rename from src/dotty/tools/dotc/transform/SymUtils.scala rename to compiler/src/dotty/tools/dotc/transform/SymUtils.scala diff --git a/src/dotty/tools/dotc/transform/SyntheticMethods.scala b/compiler/src/dotty/tools/dotc/transform/SyntheticMethods.scala similarity index 100% rename from src/dotty/tools/dotc/transform/SyntheticMethods.scala rename to compiler/src/dotty/tools/dotc/transform/SyntheticMethods.scala diff --git a/src/dotty/tools/dotc/transform/TailRec.scala b/compiler/src/dotty/tools/dotc/transform/TailRec.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TailRec.scala rename to compiler/src/dotty/tools/dotc/transform/TailRec.scala diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala similarity index 97% rename from src/dotty/tools/dotc/transform/TreeChecker.scala rename to compiler/src/dotty/tools/dotc/transform/TreeChecker.scala index 4a09d2fef3da..aa4eefe43fac 100644 --- a/src/dotty/tools/dotc/transform/TreeChecker.scala +++ b/compiler/src/dotty/tools/dotc/transform/TreeChecker.scala @@ -397,6 +397,14 @@ class TreeChecker extends Phase with SymTransformer { withDefinedSyms(ddef.tparams) { withDefinedSymss(ddef.vparamss) { if (!sym.isClassConstructor && !(sym.name eq Names.STATIC_CONSTRUCTOR)) assert(isValidJVMMethodName(sym.name), s"${sym.fullName} name is invalid on jvm") + + ddef.vparamss.foreach(_.foreach { vparam => + assert(vparam.symbol.is(Param), + s"Parameter ${vparam.symbol} of ${sym.fullName} does not have flag `Param` set") + assert(!vparam.symbol.is(AccessFlags), + s"Parameter ${vparam.symbol} of ${sym.fullName} has invalid flag(s): ${vparam.symbol.flags & AccessFlags}") + }) + val tpdTree = super.typedDefDef(ddef, sym) assert(isMethodType(sym.info), i"wrong type, expect a method type for ${sym.fullName}, but found: ${sym.info}") tpdTree diff --git a/src/dotty/tools/dotc/transform/TreeExtractors.scala b/compiler/src/dotty/tools/dotc/transform/TreeExtractors.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TreeExtractors.scala rename to compiler/src/dotty/tools/dotc/transform/TreeExtractors.scala diff --git a/src/dotty/tools/dotc/transform/TreeGen.scala b/compiler/src/dotty/tools/dotc/transform/TreeGen.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TreeGen.scala rename to compiler/src/dotty/tools/dotc/transform/TreeGen.scala diff --git a/src/dotty/tools/dotc/transform/TreeTransform.scala b/compiler/src/dotty/tools/dotc/transform/TreeTransform.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TreeTransform.scala rename to compiler/src/dotty/tools/dotc/transform/TreeTransform.scala diff --git a/src/dotty/tools/dotc/transform/TryCatchPatterns.scala b/compiler/src/dotty/tools/dotc/transform/TryCatchPatterns.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TryCatchPatterns.scala rename to compiler/src/dotty/tools/dotc/transform/TryCatchPatterns.scala diff --git a/src/dotty/tools/dotc/transform/TypeTestsCasts.scala b/compiler/src/dotty/tools/dotc/transform/TypeTestsCasts.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TypeTestsCasts.scala rename to compiler/src/dotty/tools/dotc/transform/TypeTestsCasts.scala diff --git a/src/dotty/tools/dotc/transform/TypeUtils.scala b/compiler/src/dotty/tools/dotc/transform/TypeUtils.scala similarity index 100% rename from src/dotty/tools/dotc/transform/TypeUtils.scala rename to compiler/src/dotty/tools/dotc/transform/TypeUtils.scala diff --git a/src/dotty/tools/dotc/transform/VCElideAllocations.scala b/compiler/src/dotty/tools/dotc/transform/VCElideAllocations.scala similarity index 100% rename from src/dotty/tools/dotc/transform/VCElideAllocations.scala rename to compiler/src/dotty/tools/dotc/transform/VCElideAllocations.scala diff --git a/src/dotty/tools/dotc/transform/VCInlineMethods.scala b/compiler/src/dotty/tools/dotc/transform/VCInlineMethods.scala similarity index 100% rename from src/dotty/tools/dotc/transform/VCInlineMethods.scala rename to compiler/src/dotty/tools/dotc/transform/VCInlineMethods.scala diff --git a/src/dotty/tools/dotc/transform/ValueClasses.scala b/compiler/src/dotty/tools/dotc/transform/ValueClasses.scala similarity index 100% rename from src/dotty/tools/dotc/transform/ValueClasses.scala rename to compiler/src/dotty/tools/dotc/transform/ValueClasses.scala diff --git a/src/dotty/tools/dotc/transform/patmat/Space.scala b/compiler/src/dotty/tools/dotc/transform/patmat/Space.scala similarity index 100% rename from src/dotty/tools/dotc/transform/patmat/Space.scala rename to compiler/src/dotty/tools/dotc/transform/patmat/Space.scala diff --git a/src/dotty/tools/dotc/typer/Applications.scala b/compiler/src/dotty/tools/dotc/typer/Applications.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Applications.scala rename to compiler/src/dotty/tools/dotc/typer/Applications.scala diff --git a/src/dotty/tools/dotc/typer/Checking.scala b/compiler/src/dotty/tools/dotc/typer/Checking.scala similarity index 97% rename from src/dotty/tools/dotc/typer/Checking.scala rename to compiler/src/dotty/tools/dotc/typer/Checking.scala index dbfc89f6cc4a..0c5a8e5dbcdf 100644 --- a/src/dotty/tools/dotc/typer/Checking.scala +++ b/compiler/src/dotty/tools/dotc/typer/Checking.scala @@ -353,17 +353,31 @@ object Checking { class NotPrivate extends TypeMap { type Errors = List[(String, Position)] var errors: Errors = Nil + def accessBoundary(sym: Symbol): Symbol = - if (sym.is(Private)) sym.owner + if (sym.is(Private) || !sym.owner.isClass) sym.owner else if (sym.privateWithin.exists) sym.privateWithin else if (sym.is(Package)) sym else accessBoundary(sym.owner) + + val symBoundary = accessBoundary(sym) + + /** Is `other` leaked outside its access boundary ? + * @pre The signature of `sym` refers to `other` + */ + def isLeaked(other: Symbol) = + other.is(Private) && { + val otherBoundary = other.owner + val otherLinkedBoundary = otherBoundary.linkedClass + !(symBoundary.isContainedIn(otherBoundary) || + otherLinkedBoundary.exists && symBoundary.isContainedIn(otherLinkedBoundary)) + } + def apply(tp: Type): Type = tp match { case tp: NamedType => val prevErrors = errors var tp1 = - if (tp.symbol.is(Private) && - !accessBoundary(sym).isContainedIn(tp.symbol.owner)) { + if (isLeaked(tp.symbol)) { errors = (em"non-private $sym refers to private ${tp.symbol}\n in its type signature ${sym.info}", sym.pos) :: errors tp diff --git a/src/dotty/tools/dotc/typer/ConstFold.scala b/compiler/src/dotty/tools/dotc/typer/ConstFold.scala similarity index 100% rename from src/dotty/tools/dotc/typer/ConstFold.scala rename to compiler/src/dotty/tools/dotc/typer/ConstFold.scala diff --git a/src/dotty/tools/dotc/typer/Docstrings.scala b/compiler/src/dotty/tools/dotc/typer/Docstrings.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Docstrings.scala rename to compiler/src/dotty/tools/dotc/typer/Docstrings.scala diff --git a/src/dotty/tools/dotc/typer/Dynamic.scala b/compiler/src/dotty/tools/dotc/typer/Dynamic.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Dynamic.scala rename to compiler/src/dotty/tools/dotc/typer/Dynamic.scala diff --git a/src/dotty/tools/dotc/typer/ErrorReporting.scala b/compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala similarity index 100% rename from src/dotty/tools/dotc/typer/ErrorReporting.scala rename to compiler/src/dotty/tools/dotc/typer/ErrorReporting.scala diff --git a/src/dotty/tools/dotc/typer/EtaExpansion.scala b/compiler/src/dotty/tools/dotc/typer/EtaExpansion.scala similarity index 100% rename from src/dotty/tools/dotc/typer/EtaExpansion.scala rename to compiler/src/dotty/tools/dotc/typer/EtaExpansion.scala diff --git a/src/dotty/tools/dotc/typer/FrontEnd.scala b/compiler/src/dotty/tools/dotc/typer/FrontEnd.scala similarity index 100% rename from src/dotty/tools/dotc/typer/FrontEnd.scala rename to compiler/src/dotty/tools/dotc/typer/FrontEnd.scala diff --git a/src/dotty/tools/dotc/typer/Implicits.scala b/compiler/src/dotty/tools/dotc/typer/Implicits.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Implicits.scala rename to compiler/src/dotty/tools/dotc/typer/Implicits.scala diff --git a/src/dotty/tools/dotc/typer/ImportInfo.scala b/compiler/src/dotty/tools/dotc/typer/ImportInfo.scala similarity index 100% rename from src/dotty/tools/dotc/typer/ImportInfo.scala rename to compiler/src/dotty/tools/dotc/typer/ImportInfo.scala diff --git a/src/dotty/tools/dotc/typer/Inferencing.scala b/compiler/src/dotty/tools/dotc/typer/Inferencing.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Inferencing.scala rename to compiler/src/dotty/tools/dotc/typer/Inferencing.scala diff --git a/src/dotty/tools/dotc/typer/Inliner.scala b/compiler/src/dotty/tools/dotc/typer/Inliner.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Inliner.scala rename to compiler/src/dotty/tools/dotc/typer/Inliner.scala diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/compiler/src/dotty/tools/dotc/typer/Namer.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Namer.scala rename to compiler/src/dotty/tools/dotc/typer/Namer.scala diff --git a/src/dotty/tools/dotc/typer/ProtoTypes.scala b/compiler/src/dotty/tools/dotc/typer/ProtoTypes.scala similarity index 100% rename from src/dotty/tools/dotc/typer/ProtoTypes.scala rename to compiler/src/dotty/tools/dotc/typer/ProtoTypes.scala diff --git a/src/dotty/tools/dotc/typer/ReTyper.scala b/compiler/src/dotty/tools/dotc/typer/ReTyper.scala similarity index 100% rename from src/dotty/tools/dotc/typer/ReTyper.scala rename to compiler/src/dotty/tools/dotc/typer/ReTyper.scala diff --git a/src/dotty/tools/dotc/typer/RefChecks.scala b/compiler/src/dotty/tools/dotc/typer/RefChecks.scala similarity index 100% rename from src/dotty/tools/dotc/typer/RefChecks.scala rename to compiler/src/dotty/tools/dotc/typer/RefChecks.scala diff --git a/src/dotty/tools/dotc/typer/TypeAssigner.scala b/compiler/src/dotty/tools/dotc/typer/TypeAssigner.scala similarity index 100% rename from src/dotty/tools/dotc/typer/TypeAssigner.scala rename to compiler/src/dotty/tools/dotc/typer/TypeAssigner.scala diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/compiler/src/dotty/tools/dotc/typer/Typer.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Typer.scala rename to compiler/src/dotty/tools/dotc/typer/Typer.scala diff --git a/src/dotty/tools/dotc/typer/VarianceChecker.scala b/compiler/src/dotty/tools/dotc/typer/VarianceChecker.scala similarity index 100% rename from src/dotty/tools/dotc/typer/VarianceChecker.scala rename to compiler/src/dotty/tools/dotc/typer/VarianceChecker.scala diff --git a/src/dotty/tools/dotc/typer/Variances.scala b/compiler/src/dotty/tools/dotc/typer/Variances.scala similarity index 100% rename from src/dotty/tools/dotc/typer/Variances.scala rename to compiler/src/dotty/tools/dotc/typer/Variances.scala diff --git a/src/dotty/tools/dotc/util/Attachment.scala b/compiler/src/dotty/tools/dotc/util/Attachment.scala similarity index 100% rename from src/dotty/tools/dotc/util/Attachment.scala rename to compiler/src/dotty/tools/dotc/util/Attachment.scala diff --git a/src/dotty/tools/dotc/util/Chars.scala b/compiler/src/dotty/tools/dotc/util/Chars.scala similarity index 100% rename from src/dotty/tools/dotc/util/Chars.scala rename to compiler/src/dotty/tools/dotc/util/Chars.scala diff --git a/src/dotty/tools/dotc/util/CommentParsing.scala b/compiler/src/dotty/tools/dotc/util/CommentParsing.scala similarity index 100% rename from src/dotty/tools/dotc/util/CommentParsing.scala rename to compiler/src/dotty/tools/dotc/util/CommentParsing.scala diff --git a/src/dotty/tools/dotc/util/DiffUtil.scala b/compiler/src/dotty/tools/dotc/util/DiffUtil.scala similarity index 100% rename from src/dotty/tools/dotc/util/DiffUtil.scala rename to compiler/src/dotty/tools/dotc/util/DiffUtil.scala diff --git a/src/dotty/tools/dotc/util/DotClass.scala b/compiler/src/dotty/tools/dotc/util/DotClass.scala similarity index 100% rename from src/dotty/tools/dotc/util/DotClass.scala rename to compiler/src/dotty/tools/dotc/util/DotClass.scala diff --git a/src/dotty/tools/dotc/util/FreshNameCreator.scala b/compiler/src/dotty/tools/dotc/util/FreshNameCreator.scala similarity index 100% rename from src/dotty/tools/dotc/util/FreshNameCreator.scala rename to compiler/src/dotty/tools/dotc/util/FreshNameCreator.scala diff --git a/src/dotty/tools/dotc/util/HashSet.scala b/compiler/src/dotty/tools/dotc/util/HashSet.scala similarity index 100% rename from src/dotty/tools/dotc/util/HashSet.scala rename to compiler/src/dotty/tools/dotc/util/HashSet.scala diff --git a/src/dotty/tools/dotc/util/LRUCache.scala b/compiler/src/dotty/tools/dotc/util/LRUCache.scala similarity index 100% rename from src/dotty/tools/dotc/util/LRUCache.scala rename to compiler/src/dotty/tools/dotc/util/LRUCache.scala diff --git a/src/dotty/tools/dotc/util/NameTransformer.scala b/compiler/src/dotty/tools/dotc/util/NameTransformer.scala similarity index 100% rename from src/dotty/tools/dotc/util/NameTransformer.scala rename to compiler/src/dotty/tools/dotc/util/NameTransformer.scala diff --git a/src/dotty/tools/dotc/util/Positions.scala b/compiler/src/dotty/tools/dotc/util/Positions.scala similarity index 100% rename from src/dotty/tools/dotc/util/Positions.scala rename to compiler/src/dotty/tools/dotc/util/Positions.scala diff --git a/src/dotty/tools/dotc/util/Property.scala b/compiler/src/dotty/tools/dotc/util/Property.scala similarity index 100% rename from src/dotty/tools/dotc/util/Property.scala rename to compiler/src/dotty/tools/dotc/util/Property.scala diff --git a/src/dotty/tools/dotc/util/Set.scala b/compiler/src/dotty/tools/dotc/util/Set.scala similarity index 100% rename from src/dotty/tools/dotc/util/Set.scala rename to compiler/src/dotty/tools/dotc/util/Set.scala diff --git a/src/dotty/tools/dotc/util/ShowPickled.scala b/compiler/src/dotty/tools/dotc/util/ShowPickled.scala similarity index 100% rename from src/dotty/tools/dotc/util/ShowPickled.scala rename to compiler/src/dotty/tools/dotc/util/ShowPickled.scala diff --git a/src/dotty/tools/dotc/util/SimpleMap.scala b/compiler/src/dotty/tools/dotc/util/SimpleMap.scala similarity index 100% rename from src/dotty/tools/dotc/util/SimpleMap.scala rename to compiler/src/dotty/tools/dotc/util/SimpleMap.scala diff --git a/src/dotty/tools/dotc/util/SixteenNibbles.scala b/compiler/src/dotty/tools/dotc/util/SixteenNibbles.scala similarity index 100% rename from src/dotty/tools/dotc/util/SixteenNibbles.scala rename to compiler/src/dotty/tools/dotc/util/SixteenNibbles.scala diff --git a/src/dotty/tools/dotc/util/SourceFile.scala b/compiler/src/dotty/tools/dotc/util/SourceFile.scala similarity index 100% rename from src/dotty/tools/dotc/util/SourceFile.scala rename to compiler/src/dotty/tools/dotc/util/SourceFile.scala diff --git a/src/dotty/tools/dotc/util/SourcePosition.scala b/compiler/src/dotty/tools/dotc/util/SourcePosition.scala similarity index 100% rename from src/dotty/tools/dotc/util/SourcePosition.scala rename to compiler/src/dotty/tools/dotc/util/SourcePosition.scala diff --git a/src/dotty/tools/dotc/util/Stats.scala b/compiler/src/dotty/tools/dotc/util/Stats.scala similarity index 100% rename from src/dotty/tools/dotc/util/Stats.scala rename to compiler/src/dotty/tools/dotc/util/Stats.scala diff --git a/src/dotty/tools/dotc/util/Util.scala b/compiler/src/dotty/tools/dotc/util/Util.scala similarity index 100% rename from src/dotty/tools/dotc/util/Util.scala rename to compiler/src/dotty/tools/dotc/util/Util.scala diff --git a/src/dotty/tools/dotc/util/common.scala b/compiler/src/dotty/tools/dotc/util/common.scala similarity index 100% rename from src/dotty/tools/dotc/util/common.scala rename to compiler/src/dotty/tools/dotc/util/common.scala diff --git a/src/dotty/tools/dotc/util/kwords.sc b/compiler/src/dotty/tools/dotc/util/kwords.sc similarity index 100% rename from src/dotty/tools/dotc/util/kwords.sc rename to compiler/src/dotty/tools/dotc/util/kwords.sc diff --git a/src/dotty/tools/dotc/util/lrutest.sc b/compiler/src/dotty/tools/dotc/util/lrutest.sc similarity index 100% rename from src/dotty/tools/dotc/util/lrutest.sc rename to compiler/src/dotty/tools/dotc/util/lrutest.sc diff --git a/src/dotty/tools/io/ClassPath.scala b/compiler/src/dotty/tools/io/ClassPath.scala similarity index 100% rename from src/dotty/tools/io/ClassPath.scala rename to compiler/src/dotty/tools/io/ClassPath.scala diff --git a/src/dotty/tools/io/DaemonThreadFactory.scala b/compiler/src/dotty/tools/io/DaemonThreadFactory.scala similarity index 100% rename from src/dotty/tools/io/DaemonThreadFactory.scala rename to compiler/src/dotty/tools/io/DaemonThreadFactory.scala diff --git a/src/dotty/tools/io/Fileish.scala b/compiler/src/dotty/tools/io/Fileish.scala similarity index 100% rename from src/dotty/tools/io/Fileish.scala rename to compiler/src/dotty/tools/io/Fileish.scala diff --git a/src/dotty/tools/io/Jar.scala b/compiler/src/dotty/tools/io/Jar.scala similarity index 100% rename from src/dotty/tools/io/Jar.scala rename to compiler/src/dotty/tools/io/Jar.scala diff --git a/src/dotty/tools/io/package.scala b/compiler/src/dotty/tools/io/package.scala similarity index 100% rename from src/dotty/tools/io/package.scala rename to compiler/src/dotty/tools/io/package.scala diff --git a/src/dotty/tools/package.scala b/compiler/src/dotty/tools/package.scala similarity index 100% rename from src/dotty/tools/package.scala rename to compiler/src/dotty/tools/package.scala diff --git a/src/strawman/collections/CollectionStrawMan1.scala b/compiler/src/strawman/collections/CollectionStrawMan1.scala similarity index 100% rename from src/strawman/collections/CollectionStrawMan1.scala rename to compiler/src/strawman/collections/CollectionStrawMan1.scala diff --git a/src/strawman/collections/CollectionStrawMan4.scala b/compiler/src/strawman/collections/CollectionStrawMan4.scala similarity index 100% rename from src/strawman/collections/CollectionStrawMan4.scala rename to compiler/src/strawman/collections/CollectionStrawMan4.scala diff --git a/src/strawman/collections/CollectionStrawMan5.scala b/compiler/src/strawman/collections/CollectionStrawMan5.scala similarity index 100% rename from src/strawman/collections/CollectionStrawMan5.scala rename to compiler/src/strawman/collections/CollectionStrawMan5.scala diff --git a/src/strawman/collections/CollectionStrawMan6.scala b/compiler/src/strawman/collections/CollectionStrawMan6.scala similarity index 100% rename from src/strawman/collections/CollectionStrawMan6.scala rename to compiler/src/strawman/collections/CollectionStrawMan6.scala diff --git a/test/dotc/build.scala b/compiler/test/dotc/build.scala similarity index 56% rename from test/dotc/build.scala rename to compiler/test/dotc/build.scala index a805af7e50d6..b1c8db7c7a0f 100644 --- a/test/dotc/build.scala +++ b/compiler/test/dotc/build.scala @@ -16,15 +16,25 @@ object build extends tests { } } if(deleteFolder) folder.delete() -} + } - def main(args: Array[String]): Unit = { - println("------------ Building dotty ------------") + def clearOutput() = { deleteFilesInFolder(new File(defaultOutputDir)) // clear previous output val keepFile = new File(defaultOutputDir + ".keep") keepFile.createNewFile() - dotty // build output dir - val p = Runtime.getRuntime.exec(Array("jar", "cf", "dotty.jar", "-C", "out", ".")) - p.waitFor() + } + + def main(args: Array[String]): Unit = { + println("---------- Building bootstrapped dotty-lib ----------------------------------------------") + clearOutput() + dottyBootedLib + val p1 = Runtime.getRuntime.exec(Array("jar", "cf", "dotty-lib.jar", "-C", "out", ".")) + p1.waitFor() + + println("---------- Building bootstrapped dotty depending on dotty-lib compiled by dotty ----------") + clearOutput() + dottyDependsOnBootedLib + val p2 = Runtime.getRuntime.exec(Array("jar", "cf", "dotty.jar", "-C", "out", ".")) + p2.waitFor() } } diff --git a/test/dotc/comptest.scala b/compiler/test/dotc/comptest.scala similarity index 94% rename from test/dotc/comptest.scala rename to compiler/test/dotc/comptest.scala index 5b6646f39465..5ae1823e8cfa 100644 --- a/test/dotc/comptest.scala +++ b/compiler/test/dotc/comptest.scala @@ -1,6 +1,6 @@ package dotc -import test._ +import dotty.tools.dotc.CompilerTest object comptest extends CompilerTest { diff --git a/compiler/test/dotc/scala-collections.whitelist b/compiler/test/dotc/scala-collections.whitelist new file mode 100644 index 000000000000..bb62b260a4c5 --- /dev/null +++ b/compiler/test/dotc/scala-collections.whitelist @@ -0,0 +1,282 @@ +../scala-scala/src/library/scala/runtime/RichBoolean.scala +../scala-scala/src/library/scala/runtime/RichByte.scala +../scala-scala/src/library/scala/runtime/RichChar.scala +../scala-scala/src/library/scala/runtime/RichDouble.scala +../scala-scala/src/library/scala/runtime/RichException.scala +../scala-scala/src/library/scala/runtime/RichFloat.scala +../scala-scala/src/library/scala/runtime/RichInt.scala +../scala-scala/src/library/scala/runtime/RichLong.scala +../scala-scala/src/library/scala/runtime/RichShort.scala +../scala-scala/src/library/scala/Array.scala +../scala-scala/src/library/scala/NotImplementedError.scala +../scala-scala/src/library/scala/AnyValCompanion.scala + +# AnyVal is a synthesized class in Dotty, cannot be compiled from source. +#../scala-scala/src/library/scala/AnyVal.scala + +../scala-scala/src/library/scala/Boolean.scala +../scala-scala/src/library/scala/Byte.scala +../scala-scala/src/library/scala/Char.scala +../scala-scala/src/library/scala/Double.scala +../scala-scala/src/library/scala/Float.scala +../scala-scala/src/library/scala/Int.scala +../scala-scala/src/library/scala/Long.scala +../scala-scala/src/library/scala/Short.scala +../scala-scala/src/library/scala/Unit.scala +../scala-scala/src/library/scala/Cloneable.scala +../scala-scala/src/library/scala/DelayedInit.scala +../scala-scala/src/library/scala/Dynamic.scala +../scala-scala/src/library/scala/Equals.scala +../scala-scala/src/library/scala/Immutable.scala +../scala-scala/src/library/scala/MatchError.scala +../scala-scala/src/library/scala/Mutable.scala +../scala-scala/src/library/scala/NotNull.scala +../scala-scala/src/library/scala/Option.scala +../scala-scala/src/library/scala/PartialFunction.scala +../scala-scala/src/library/scala/Predef.scala +../scala-scala/src/library/scala/Product.scala +../scala-scala/src/library/scala/Product1.scala +../scala-scala/src/library/scala/Product10.scala +../scala-scala/src/library/scala/Product11.scala +../scala-scala/src/library/scala/Product12.scala +../scala-scala/src/library/scala/Product13.scala +../scala-scala/src/library/scala/Product14.scala +../scala-scala/src/library/scala/Product15.scala +../scala-scala/src/library/scala/Product16.scala +../scala-scala/src/library/scala/Product17.scala +../scala-scala/src/library/scala/Product18.scala +../scala-scala/src/library/scala/Product19.scala +../scala-scala/src/library/scala/Product2.scala +../scala-scala/src/library/scala/Product20.scala +../scala-scala/src/library/scala/Product21.scala +../scala-scala/src/library/scala/Product22.scala +../scala-scala/src/library/scala/Product3.scala +../scala-scala/src/library/scala/Product4.scala +../scala-scala/src/library/scala/Product5.scala +../scala-scala/src/library/scala/Product6.scala +../scala-scala/src/library/scala/Product7.scala +../scala-scala/src/library/scala/Product8.scala +../scala-scala/src/library/scala/Product9.scala +../scala-scala/src/library/scala/Proxy.scala +../scala-scala/src/library/scala/SerialVersionUID.scala +../scala-scala/src/library/scala/Serializable.scala +../scala-scala/src/library/scala/Specializable.scala +../scala-scala/src/library/scala/Symbol.scala +../scala-scala/src/library/scala/UninitializedError.scala +../scala-scala/src/library/scala/UninitializedFieldError.scala +../scala-scala/src/library/scala/collection/IndexedSeqOptimized.scala +../scala-scala/src/library/scala/collection/IterableLike.scala +../scala-scala/src/library/scala/collection/Iterator.scala +../scala-scala/src/library/scala/collection/LinearSeqOptimized.scala +../scala-scala/src/library/scala/collection/TraversableOnce.scala +../scala-scala/src/library/scala/collection/generic/Growable.scala +../scala-scala/src/library/scala/collection/generic/TraversableForwarder.scala +../scala-scala/src/library/scala/collection/immutable/BitSet.scala +../scala-scala/src/library/scala/collection/immutable/DefaultMap.scala +../scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala +../scala-scala/src/library/scala/collection/immutable/Iterable.scala +../scala-scala/src/library/scala/collection/immutable/LinearSeq.scala +../scala-scala/src/library/scala/collection/immutable/List.scala +../scala-scala/src/library/scala/collection/immutable/MapProxy.scala +../scala-scala/src/library/scala/collection/immutable/PagedSeq.scala +../scala-scala/src/library/scala/collection/immutable/Queue.scala +../scala-scala/src/library/scala/collection/immutable/Seq.scala +../scala-scala/src/library/scala/collection/mutable/IndexedSeq.scala +../scala-scala/src/library/scala/collection/mutable/ListBuffer.scala +../scala-scala/src/library/scala/collection/mutable/BufferLike.scala + +../scala-scala/src/library/scala/collection/mutable/ArrayBuilder.scala + +../scala-scala/src/library/scala/collection/immutable/Stack.scala +../scala-scala/src/library/scala/collection/immutable/StringLike.scala +../scala-scala/src/library/scala/collection/immutable/StringOps.scala +../scala-scala/src/library/scala/collection/immutable/Traversable.scala +../scala-scala/src/library/scala/collection/immutable/Vector.scala +../scala-scala/src/library/scala/collection/immutable/WrappedString.scala +../scala-scala/src/library/scala/collection/mutable/Builder.scala +../scala-scala/src/library/scala/collection/mutable/GrowingBuilder.scala +../scala-scala/src/library/scala/collection/mutable/WrappedArray.scala +../scala-scala/src/library/scala/collection/mutable/WrappedArrayBuilder.scala +../scala-scala/src/library/scala/deprecated.scala +../scala-scala/src/library/scala/deprecatedInheritance.scala +../scala-scala/src/library/scala/deprecatedName.scala +../scala-scala/src/library/scala/deprecatedOverriding.scala +../scala-scala/src/library/scala/inline.scala +../scala-scala/src/library/scala/language.scala +../scala-scala/src/library/scala/languageFeature.scala +../scala-scala/src/library/scala/math/Equiv.scala +../scala-scala/src/library/scala/math/Fractional.scala +../scala-scala/src/library/scala/math/Integral.scala +../scala-scala/src/library/scala/math/Numeric.scala +../scala-scala/src/library/scala/math/Ordered.scala +../scala-scala/src/library/scala/math/Ordering.scala +../scala-scala/src/library/scala/math/PartialOrdering.scala +../scala-scala/src/library/scala/math/ScalaNumericConversions.scala +../scala-scala/src/library/scala/math/package.scala +../scala-scala/src/library/scala/native.scala +../scala-scala/src/library/scala/noinline.scala +../scala-scala/src/library/scala/package.scala +../scala-scala/src/library/scala/remote.scala +../scala-scala/src/library/scala/specialized.scala +../scala-scala/src/library/scala/throws.scala +../scala-scala/src/library/scala/transient.scala +../scala-scala/src/library/scala/unchecked.scala +../scala-scala/src/library/scala/volatile.scala +../scala-scala/src/library/scala/collection/BitSet.scala +../scala-scala/src/library/scala/collection/BitSetLike.scala +../scala-scala/src/library/scala/collection/BufferedIterator.scala +../scala-scala/src/library/scala/collection/CustomParallelizable.scala +../scala-scala/src/library/scala/collection/DefaultMap.scala +../scala-scala/src/library/scala/collection/GenIterable.scala +../scala-scala/src/library/scala/collection/GenIterableLike.scala +../scala-scala/src/library/scala/collection/GenMap.scala +../scala-scala/src/library/scala/collection/GenMapLike.scala +../scala-scala/src/library/scala/collection/GenSeq.scala +../scala-scala/src/library/scala/collection/GenSeqLike.scala +../scala-scala/src/library/scala/collection/GenSet.scala +../scala-scala/src/library/scala/collection/GenSetLike.scala +../scala-scala/src/library/scala/collection/GenTraversable.scala +../scala-scala/src/library/scala/collection/GenTraversableLike.scala + +../scala-scala/src/library/scala/collection/GenTraversableOnce.scala +../scala-scala/src/library/scala/collection/IndexedSeq.scala +../scala-scala/src/library/scala/collection/IndexedSeqLike.scala +../scala-scala/src/library/scala/collection/Iterable.scala +../scala-scala/src/library/scala/collection/IterableProxy.scala +../scala-scala/src/library/scala/collection/IterableProxyLike.scala +../scala-scala/src/library/scala/collection/JavaConversions.scala +../scala-scala/src/library/scala/collection/JavaConverters.scala +../scala-scala/src/library/scala/collection/LinearSeq.scala +../scala-scala/src/library/scala/collection/LinearSeqLike.scala +../scala-scala/src/library/scala/collection/Map.scala +../scala-scala/src/library/scala/collection/MapLike.scala +../scala-scala/src/library/scala/collection/MapProxy.scala +../scala-scala/src/library/scala/collection/MapProxyLike.scala +../scala-scala/src/library/scala/collection/Parallel.scala +../scala-scala/src/library/scala/collection/Parallelizable.scala +../scala-scala/src/library/scala/collection/Searching.scala +../scala-scala/src/library/scala/collection/Seq.scala +../scala-scala/src/library/scala/collection/SeqExtractors.scala +../scala-scala/src/library/scala/collection/SeqLike.scala +../scala-scala/src/library/scala/collection/SeqProxy.scala +../scala-scala/src/library/scala/collection/SeqProxyLike.scala +../scala-scala/src/library/scala/collection/Set.scala +../scala-scala/src/library/scala/collection/SetLike.scala +../scala-scala/src/library/scala/collection/SetProxy.scala +../scala-scala/src/library/scala/collection/SetProxyLike.scala +../scala-scala/src/library/scala/collection/SortedMap.scala +../scala-scala/src/library/scala/collection/SortedMapLike.scala +../scala-scala/src/library/scala/collection/SortedSet.scala +../scala-scala/src/library/scala/collection/SortedSetLike.scala +../scala-scala/src/library/scala/collection/Traversable.scala +../scala-scala/src/library/scala/collection/TraversableLike.scala + +../scala-scala/src/library/scala/collection/TraversableProxy.scala +../scala-scala/src/library/scala/collection/TraversableProxyLike.scala +../scala-scala/src/library/scala/collection/package.scala + +../scala-scala/src/library/scala/collection/IterableView.scala +../scala-scala/src/library/scala/collection/SeqView.scala +../scala-scala/src/library/scala/collection/TraversableView.scala + +## those classes use early initialisers. +../scala-scala/src/library/scala/collection/TraversableViewLike.scala +../scala-scala/src/library/scala/collection/IterableViewLike.scala +../scala-scala/src/library/scala/collection/SeqViewLike.scala +../scala-scala/src/library/scala/collection/mutable/IndexedSeqView.scala +../scala-scala/src/library/scala/collection/immutable/StreamViewLike.scala +../scala-scala/src/library/scala/collection/immutable/TrieIterator.scala + +../scala-scala/src/library/scala/collection/immutable/HashMap.scala +../scala-scala/src/library/scala/collection/immutable/HashSet.scala + + +../scala-scala/src/library/scala/collection/immutable/IntMap.scala +../scala-scala/src/library/scala/collection/immutable/ListMap.scala +../scala-scala/src/library/scala/collection/immutable/ListSet.scala +../scala-scala/src/library/scala/collection/immutable/LongMap.scala + +../scala-scala/src/library/scala/collection/immutable/Map.scala +../scala-scala/src/library/scala/collection/immutable/MapLike.scala +../scala-scala/src/library/scala/collection/immutable/NumericRange.scala +../scala-scala/src/library/scala/collection/immutable/Range.scala +../scala-scala/src/library/scala/collection/immutable/RedBlackTree.scala + +# had a variance error, now fixed. +../scala-scala/src/library/scala/collection/immutable/Set.scala + +../scala-scala/src/library/scala/collection/immutable/SetProxy.scala + +# https://github.com/lampepfl/dotty/issues/942 +../scala-scala/src/library/scala/collection/immutable/SortedMap.scala +../scala-scala/src/library/scala/collection/immutable/SortedSet.scala + +# https://github.com/lampepfl/dotty/issues/941 +../scala-scala/src/library/scala/collection/immutable/Stream.scala +../scala-scala/src/library/scala/collection/immutable/StreamView.scala + +../scala-scala/src/library/scala/collection/immutable/TreeMap.scala +../scala-scala/src/library/scala/collection/immutable/TreeSet.scala +../scala-scala/src/library/scala/collection/generic/BitOperations.scala +../scala-scala/src/library/scala/collection/generic/BitSetFactory.scala +../scala-scala/src/library/scala/collection/generic/CanBuildFrom.scala +../scala-scala/src/library/scala/collection/generic/CanCombineFrom.scala +../scala-scala/src/library/scala/collection/generic/ClassTagTraversableFactory.scala +../scala-scala/src/library/scala/collection/generic/Clearable.scala +../scala-scala/src/library/scala/collection/generic/FilterMonadic.scala +../scala-scala/src/library/scala/collection/generic/GenMapFactory.scala +../scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala +../scala-scala/src/library/scala/collection/generic/GenSetFactory.scala +../scala-scala/src/library/scala/collection/generic/GenTraversableFactory.scala +../scala-scala/src/library/scala/collection/generic/GenericClassTagCompanion.scala +../scala-scala/src/library/scala/collection/generic/GenericClassTagTraversableTemplate.scala +../scala-scala/src/library/scala/collection/generic/GenericCompanion.scala +../scala-scala/src/library/scala/collection/generic/GenericOrderedCompanion.scala +../scala-scala/src/library/scala/collection/generic/GenericOrderedTraversableTemplate.scala +../scala-scala/src/library/scala/collection/generic/GenericParCompanion.scala +../scala-scala/src/library/scala/collection/generic/GenericParTemplate.scala +../scala-scala/src/library/scala/collection/generic/GenericSeqCompanion.scala +../scala-scala/src/library/scala/collection/generic/GenericSetTemplate.scala + +../scala-scala/src/library/scala/collection/generic/GenericTraversableTemplate.scala + +../scala-scala/src/library/scala/collection/generic/HasNewBuilder.scala +../scala-scala/src/library/scala/collection/generic/HasNewCombiner.scala + +../scala-scala/src/library/scala/collection/generic/ImmutableMapFactory.scala +../scala-scala/src/library/scala/collection/generic/ImmutableSetFactory.scala + +../scala-scala/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala +../scala-scala/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala +../scala-scala/src/library/scala/collection/generic/IndexedSeqFactory.scala +../scala-scala/src/library/scala/collection/generic/IsSeqLike.scala +../scala-scala/src/library/scala/collection/generic/IsTraversableLike.scala +../scala-scala/src/library/scala/collection/generic/IsTraversableOnce.scala +../scala-scala/src/library/scala/collection/generic/IterableForwarder.scala + +../scala-scala/src/library/scala/collection/generic/MapFactory.scala +../scala-scala/src/library/scala/collection/generic/MutableMapFactory.scala +../scala-scala/src/library/scala/collection/generic/MutableSetFactory.scala +../scala-scala/src/library/scala/collection/generic/ParMapFactory.scala +../scala-scala/src/library/scala/collection/generic/SeqFactory.scala +../scala-scala/src/library/scala/collection/generic/SortedMapFactory.scala +../scala-scala/src/library/scala/collection/generic/SortedSetFactory.scala +../scala-scala/src/library/scala/collection/generic/SetFactory.scala +../scala-scala/src/library/scala/collection/generic/ParFactory.scala + +# https://github.com/lampepfl/dotty/issues/974 -> @smarter +../scala-scala/src/library/scala/collection/generic/MutableSortedSetFactory.scala + +# cyclic reference, maybe related to #974 -> @smarter +#../scala-scala/src/library/scala/collection/generic/ParSetFactory.scala + +../scala-scala/src/library/scala/collection/generic/OrderedTraversableFactory.scala +../scala-scala/src/library/scala/collection/generic/SeqForwarder.scala +../scala-scala/src/library/scala/collection/generic/Shrinkable.scala +../scala-scala/src/library/scala/collection/generic/Signalling.scala +../scala-scala/src/library/scala/collection/generic/Sizing.scala +../scala-scala/src/library/scala/collection/generic/SliceInterval.scala +../scala-scala/src/library/scala/collection/generic/Sorted.scala +../scala-scala/src/library/scala/collection/generic/Subtractable.scala +../scala-scala/src/library/scala/collection/generic/TraversableFactory.scala +../scala-scala/src/library/scala/collection/generic/package.scala diff --git a/test/dotc/tests.scala b/compiler/test/dotc/tests.scala similarity index 86% rename from test/dotc/tests.scala rename to compiler/test/dotc/tests.scala index 01539aa5af07..a3946947cd00 100644 --- a/test/dotc/tests.scala +++ b/compiler/test/dotc/tests.scala @@ -1,8 +1,9 @@ package dotc -import test._ +import dotty.tools.dotc.CompilerTest import org.junit.{Before, Test} +import java.io.{ File => JFile } import scala.reflect.io.Directory import scala.io.Source @@ -11,22 +12,46 @@ class tests extends CompilerTest { def isRunByJenkins: Boolean = sys.props.isDefinedAt("dotty.jenkins.build") - val defaultOutputDir = "./out/" + val defaultOutputDir = "../out/" val noCheckOptions = List( -// "-verbose", -// "-Ylog:frontend", -// "-Xprompt", -// "-explaintypes", -// "-Yshow-suppressed-errors", - "-d", defaultOutputDir, - "-pagewidth", "160") - - implicit val defaultOptions = noCheckOptions ++ - List("-Yno-deep-subtypes", "-Yno-double-bindings", "-Yforce-sbt-phases", "-color:never") ++ { - if (isRunByJenkins) List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef") // should be Ycheck:all, but #725 - else List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef") - } +// "-verbose", +// "-Ylog:frontend", +// "-Xprompt", +// "-explaintypes", +// "-Yshow-suppressed-errors", + "-pagewidth", "120", + "-d", defaultOutputDir + ) + + val checkOptions = List( + "-Yno-deep-subtypes", + "-Yno-double-bindings", + "-Yforce-sbt-phases", + "-color:never" + ) + + val classPath = { + val paths = List( + "../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar", + "./target/scala-2.11/dotty-compiler_2.11-0.1-SNAPSHOT.jar", + "../interfaces/target/dotty-interfaces-0.1-SNAPSHOT.jar" + ).map { p => + val file = new JFile(p) + assert( + file.exists, + s"""File "$p" couldn't be found. Run `packageAll` from build tool before testing""" + ) + file.getAbsolutePath + }.mkString(":") + + List("-classpath", paths) + } + + implicit val defaultOptions = noCheckOptions ++ { + if (isRunByJenkins) List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef") // should be Ycheck:all, but #725 + else List("-Ycheck:tailrec,resolveSuper,mixin,restoreScopes,labelDef") + } ++ checkOptions ++ classPath val testPickling = List("-Xprint-types", "-Ytest-pickler", "-Ystop-after:pickler", "-Yprintpos") @@ -40,7 +65,7 @@ class tests extends CompilerTest { val explicitUTF8 = List("-encoding", "UTF8") val explicitUTF16 = List("-encoding", "UTF16") - val testsDir = "./tests/" + val testsDir = "../tests/" val posDir = testsDir + "pos/" val posSpecialDir = testsDir + "pos-special/" val posScala2Dir = testsDir + "pos-scala2/" @@ -58,6 +83,7 @@ class tests extends CompilerTest { val parsingDir = dotcDir + "parsing/" val dottyReplDir = dotcDir + "repl/" val typerDir = dotcDir + "typer/" + val libDir = "../library/src/" @Before def cleanup(): Unit = { // remove class files from stdlib and tests compilation @@ -168,21 +194,25 @@ class tests extends CompilerTest { @Test def compileStdLib = compileList("compileStdLib", stdlibFiles, "-migration" :: "-Yno-inline" :: scala2mode) @Test def compileMixed = compileLine( - """tests/pos/B.scala - |./scala-scala/src/library/scala/collection/immutable/Seq.scala - |./scala-scala/src/library/scala/collection/parallel/ParSeq.scala - |./scala-scala/src/library/scala/package.scala - |./scala-scala/src/library/scala/collection/GenSeqLike.scala - |./scala-scala/src/library/scala/collection/SeqLike.scala - |./scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala""".stripMargin) - @Test def compileIndexedSeq = compileLine("./scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala") + """../tests/pos/B.scala + |../scala-scala/src/library/scala/collection/immutable/Seq.scala + |../scala-scala/src/library/scala/collection/parallel/ParSeq.scala + |../scala-scala/src/library/scala/package.scala + |../scala-scala/src/library/scala/collection/GenSeqLike.scala + |../scala-scala/src/library/scala/collection/SeqLike.scala + |../scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala""".stripMargin) + @Test def compileIndexedSeq = compileLine("../scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala") + + // Not a junit test anymore since it is order dependent + def dottyBootedLib = compileDir(libDir, ".")(allowDeepSubtypes) // note the -deep argument - @Test def dotty = compileDir(dottyDir, ".", List("-deep", "-Ycheck-reentrant", "-strict"))(allowDeepSubtypes) // note the -deep argument + // Not a junit test anymore since it is order dependent + def dottyDependsOnBootedLib = compileDir(dottyDir, ".")(allowDeepSubtypes) // note the -deep argument @Test def dotc_ast = compileDir(dotcDir, "ast") @Test def dotc_config = compileDir(dotcDir, "config") @Test def dotc_core = compileDir(dotcDir, "core")(allowDeepSubtypes)// twice omitted to make tests run faster - @Test def dotc_core_nocheck = compileDir(dotcDir, "core")(noCheckOptions) + @Test def dotc_core_nocheck = compileDir(dotcDir, "core")(noCheckOptions ++ classPath) // This directory doesn't exist anymore // @Test def dotc_core_pickling = compileDir(coreDir, "pickling")(allowDeepSubtypes)// twice omitted to make tests run faster @@ -219,7 +249,7 @@ class tests extends CompilerTest { dotcDir + "config/PathResolver.scala" ), List(/* "-Ylog:frontend", */ "-Xprompt") ++ staleSymbolError ++ twice) - val javaDir = "./tests/pos/java-interop/" + val javaDir = "./tests/pos-java-interop/" @Test def java_all = compileFiles(javaDir, twice) //@Test def dotc_compilercommand = compileFile(dotcDir + "config/", "CompilerCommand") @@ -231,8 +261,8 @@ class tests extends CompilerTest { // Disabled because we get stale symbol errors on the SourceFile annotation, which is normal. // @Test def tasty_annotation_internal = compileDir(s"${dottyDir}annotation/", "internal", testPickling) - @Test def tasty_runtime = compileDir(s"$dottyDir", "runtime", testPickling) - @Test def tasty_runtime_vc = compileDir(s"${dottyDir}runtime/", "vc", testPickling) + @Test def tasty_runtime = compileDir(s"${libDir}dotty/", "runtime", testPickling) + @Test def tasty_runtime_vc = compileDir(s"${libDir}dotty/runtime/", "vc", testPickling) @Test def tasty_tools = compileDir(dottyDir, "tools", testPickling) @@ -242,7 +272,7 @@ class tests extends CompilerTest { "scalaPrimitives.scala" ) map (s"${backendDir}jvm/" + _), testPickling) - @Test def tasty_backend_sjs = compileDir(s"${backendDir}", "sjs", testPickling) + //@Test def tasty_backend_sjs = compileDir(s"${backendDir}", "sjs", testPickling) @Test def tasty_dotc = compileDir(toolsDir, "dotc", testPickling) @Test def tasty_dotc_ast = compileDir(dotcDir, "ast", testPickling) diff --git a/test/dotty/partest/DPConfig.scala b/compiler/test/dotty/partest/DPConfig.scala similarity index 94% rename from test/dotty/partest/DPConfig.scala rename to compiler/test/dotty/partest/DPConfig.scala index 79f41340cf8f..5c493f465049 100644 --- a/test/dotty/partest/DPConfig.scala +++ b/compiler/test/dotty/partest/DPConfig.scala @@ -23,7 +23,7 @@ object DPConfig { */ val runJVMOpts = s"-Xms64M -Xmx1024M ${PartestDefaults.javaOpts}" - val testRoot = (Path(".") / Path("tests") / Path("partest-generated")).toString + val testRoot = (Path("..") / Path("tests") / Path("partest-generated")).toString val genLog = Path(testRoot) / Path("gen.log") lazy val testDirs = { diff --git a/test/dotty/partest/DPConsoleRunner.scala b/compiler/test/dotty/partest/DPConsoleRunner.scala similarity index 73% rename from test/dotty/partest/DPConsoleRunner.scala rename to compiler/test/dotty/partest/DPConsoleRunner.scala index d445722c9588..06a36f661c3a 100644 --- a/test/dotty/partest/DPConsoleRunner.scala +++ b/compiler/test/dotty/partest/DPConsoleRunner.scala @@ -7,6 +7,9 @@ package dotty.partest import scala.reflect.io.AbstractFile import scala.tools.partest._ import scala.tools.partest.nest._ +import TestState.{ Pass, Fail, Crash, Uninitialized, Updated } +import ClassPath.{ join, split } +import FileManager.{ compareFiles, compareContents, joinPaths, withTempFile } import scala.util.matching.Regex import tools.nsc.io.{ File => NSCFile } import java.io.{ File, PrintStream, FileOutputStream, PrintWriter, FileWriter } @@ -39,7 +42,6 @@ object DPConsoleRunner { // console runner has a suite runner which creates a test runner for each test class DPConsoleRunner(args: String, extraJars: List[String]) extends ConsoleRunner(args) { - override val suiteRunner = new DPSuiteRunner ( testSourcePath = optSourcePath getOrElse DPConfig.testRoot, fileManager = new DottyFileManager(extraJars), @@ -86,6 +88,45 @@ extends SuiteRunner(testSourcePath, fileManager, updateCheck, failed, javaCmdPat """.stripMargin } + /** Tests which are compiled with one or more of the flags in this list will be run + * one by one, without any other test running at the same time. + * This is necessary because some test flags require a lot of memory when running + * the compiler and may exhaust the available memory when run in parallel with other tests. + */ + def sequentialFlags = List("-Ytest-pickler") + + override def runTestsForFiles(kindFiles: Array[File], kind: String): Array[TestState] = { + val (sequentialTests, parallelTests) = + kindFiles partition { kindFile => + val flags = kindFile.changeExtension("flags").fileContents + sequentialFlags.exists(seqFlag => flags.contains(seqFlag)) + } + + val seqResults = + if (!sequentialTests.isEmpty) { + val savedThreads = sys.props("partest.threads") + sys.props("partest.threads") = "1" + + NestUI.echo(s"## we will run ${sequentialTests.length} tests sequentially") + val res = super.runTestsForFiles(sequentialTests, kind) + + if (savedThreads != null) + sys.props("partest.threads") = savedThreads + else + sys.props.remove("partest.threads") + + res + } else Array[TestState]() + + val parResults = + if (!parallelTests.isEmpty) { + NestUI.echo(s"## we will run ${parallelTests.length} tests in parallel using ${PartestDefaults.numThreads} threads") + super.runTestsForFiles(parallelTests, kind) + } else Array[TestState]() + + seqResults ++ parResults + } + // override for DPTestRunner and redirecting compilation output to test.clog override def runTest(testFile: File): TestState = { val runner = new DPTestRunner(testFile, this) @@ -162,6 +203,36 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn } } + // Overriden in order to recursively get all sources that should be handed to + // the compiler. Otherwise only sources in the top dir is compiled - works + // because the compiler is on the classpath. + override def sources(file: File): List[File] = + if (file.isDirectory) + file.listFiles.toList.flatMap { f => + if (f.isDirectory) sources(f) + else if (f.isJavaOrScala) List(f) + else Nil + } + else List(file) + + // Enable me to "fix" the depth issue - remove once completed + //override def compilationRounds(file: File): List[CompileRound] = { + // val srcs = sources(file) match { + // case Nil => + // System.err.println { + // s"""|================================================================================ + // |Warning! You attempted to compile sources from: + // | $file + // |but partest was unable to find any sources - uncomment DPConsoleRunner#sources + // |================================================================================""".stripMargin + // } + // List(new File("./tests/pos/HelloWorld.scala")) // "just compile some crap" - Guillaume + // case xs => + // xs + // } + // (groupedFiles(srcs) map mixedCompileGroup).flatten + //} + // FIXME: This is copy-pasted from nest.Runner where it is private // Remove this once https://github.com/scala/scala-partest/pull/61 is merged /** Runs command redirecting standard out and @@ -196,6 +267,7 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn if (specificFlags.isEmpty) defaultFlags else specificFlags } + val defaultFlags = { val defaultFile = parentFile.listFiles.toList.find(_.getName == "__defaultFlags.flags") defaultFile.map({ file => @@ -206,7 +278,6 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn // override to add the check for nr of compilation errors if there's a // target.nerr file override def runNegTest() = runInContext { - import TestState.{ Crash, Fail } import scala.reflect.internal.FatalError sealed abstract class NegTestState @@ -233,11 +304,14 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn // we keep the partest semantics where only one round needs to fail // compilation, not all - val compFailingRounds = compilationRounds(testFile).map({round => - val ok = round.isOk - setLastState(if (ok) genPass else genFail("compilation failed")) - (round.result, ok) - }).filter({ case (_, ok) => !ok }) + val compFailingRounds = + compilationRounds(testFile) + .map { round => + val ok = round.isOk + setLastState(if (ok) genPass else genFail("compilation failed")) + (round.result, ok) + } + .filter { case (_, ok) => !ok } val failureStates = compFailingRounds.map({ case (result, _) => result match { // or, OK, we'll let you crash the compiler with a FatalError if you supply a check file @@ -250,21 +324,24 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn true } else { val existsNerr = failureStates.exists({ - case CompFailedButWrongNErr(exp, found) => nextTestActionFailing(s"wrong number of compilation errors, expected: $exp, found: $found"); true - case _ => false + case CompFailedButWrongNErr(exp, found) => + nextTestActionFailing(s"wrong number of compilation errors, expected: $exp, found: $found") + true + case _ => + false }) - if (existsNerr) { - false - } else { + + if (existsNerr) false + else { val existsDiff = failureStates.exists({ - case CompFailedButWrongDiff() => nextTestActionFailing(s"output differs"); true - case _ => false + case CompFailedButWrongDiff() => + nextTestActionFailing(s"output differs") + true + case _ => + false }) - if (existsDiff) { - false - } else { - nextTestActionFailing("expected compilation failure") - } + if (existsDiff) false + else nextTestActionFailing("expected compilation failure") } } } @@ -297,17 +374,22 @@ class DPTestRunner(testFile: File, suiteRunner: DPSuiteRunner) extends nest.Runn } pushTranscript(bestDiff) genFail("output differs") - case None => genPass() // redundant default case + case None => genPass() // redundant default case } getOrElse true } // override to add dotty and scala jars to classpath - override def extraClasspath = suiteRunner.fileManager.asInstanceOf[DottyFileManager].extraJarList ::: super.extraClasspath + override def extraClasspath = + suiteRunner.fileManager.asInstanceOf[DottyFileManager].extraJarList ::: super.extraClasspath // override to keep class files if failed and delete clog if ok - override def cleanup = if (lastState.isOk) { + override def cleanup = if (lastState.isOk) try { logFile.delete cLogFile.delete Directory(outDir).deleteRecursively + } catch { + case t: Throwable => + println("whhhhhhhhhhhhhhhhhhhhhhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaat") + throw t } } diff --git a/test/dotty/partest/DPDirectCompiler.scala b/compiler/test/dotty/partest/DPDirectCompiler.scala similarity index 100% rename from test/dotty/partest/DPDirectCompiler.scala rename to compiler/test/dotty/partest/DPDirectCompiler.scala diff --git a/test/test/ContextEscapeDetection.java b/compiler/test/dotty/tools/ContextEscapeDetection.java similarity index 97% rename from test/test/ContextEscapeDetection.java rename to compiler/test/dotty/tools/ContextEscapeDetection.java index 8852c9fe9d1d..6a47de5c658e 100644 --- a/test/test/ContextEscapeDetection.java +++ b/compiler/test/dotty/tools/ContextEscapeDetection.java @@ -1,4 +1,4 @@ -package test; +package dotty.tools; import dotty.tools.dotc.core.Contexts; import org.junit.*; @@ -7,7 +7,6 @@ import java.util.LinkedList; import java.util.List; - public abstract class ContextEscapeDetection { public static class TestContext{ public TestContext(WeakReference context, String testName) { @@ -34,7 +33,4 @@ public synchronized void stealContext() { public synchronized void clearContext() { this.clearCtx(); } - - } - diff --git a/test/test/ContextEscapeDetector.java b/compiler/test/dotty/tools/ContextEscapeDetector.java similarity index 99% rename from test/test/ContextEscapeDetector.java rename to compiler/test/dotty/tools/ContextEscapeDetector.java index 78d293a5df89..e19fc5a64432 100644 --- a/test/test/ContextEscapeDetector.java +++ b/compiler/test/dotty/tools/ContextEscapeDetector.java @@ -1,9 +1,8 @@ -package test; +package dotty.tools; import org.junit.runner.Result; import org.junit.runner.notification.RunListener; import org.junit.Assert; - import java.lang.ref.WeakReference; public class ContextEscapeDetector extends RunListener { diff --git a/test/test/DottyTest.scala b/compiler/test/dotty/tools/DottyTest.scala similarity index 75% rename from test/test/DottyTest.scala rename to compiler/test/dotty/tools/DottyTest.scala index 4c8cd8a7b318..77dc97becc90 100644 --- a/test/test/DottyTest.scala +++ b/compiler/test/dotty/tools/DottyTest.scala @@ -1,29 +1,35 @@ -package test +package dotty +package tools -import dotty.tools.dotc.core._ -import dotty.tools.dotc.core.Contexts._ -import dotty.tools.dotc.core.Symbols._ -import dotty.tools.dotc.core.Flags._ +import dotc.core._ +import dotc.core.Contexts._ +import dotc.core.Symbols._ +import dotc.core.Flags._ import Types._, Symbols._, Decorators._ -import dotty.tools.dotc.printing.Texts._ -import dotty.tools.dotc.reporting.ConsoleReporter -import dotty.tools.dotc.core.Decorators._ -import dotty.tools.dotc.ast.tpd -import dotty.tools.dotc.Compiler +import dotc.printing.Texts._ +import dotc.reporting.ConsoleReporter +import dotc.core.Decorators._ +import dotc.ast.tpd +import dotc.Compiler -import dotty.tools.dotc -import dotty.tools.dotc.core.Phases.Phase +import dotc.core.Phases.Phase class DottyTest extends ContextEscapeDetection{ - dotty.tools.dotc.parsing.Scanners // initialize keywords + dotc.parsing.Scanners // initialize keywords implicit var ctx: Contexts.Context = { val base = new ContextBase {} import base.settings._ val ctx = base.initialCtx.fresh - base.initialize()(ctx) ctx.setSetting(ctx.settings.encoding, "UTF8") + ctx.setSetting( + ctx.settings.classpath, + "../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar" + ) + // when classpath is changed in ctx, we need to re-initialize to get the + // correct classpath from PathResolver + base.initialize()(ctx) ctx } @@ -31,6 +37,7 @@ class DottyTest extends ContextEscapeDetection{ override def clearCtx() = { ctx = null } + private def compilerWithChecker(phase: String)(assertion:(tpd.Tree, Context) => Unit) = new Compiler { override def phases = { val allPhases = super.phases diff --git a/test/test/DottyTypeStealer.scala b/compiler/test/dotty/tools/DottyTypeStealer.scala similarity index 78% rename from test/test/DottyTypeStealer.scala rename to compiler/test/dotty/tools/DottyTypeStealer.scala index fed14499a6f2..819f19d25ca0 100644 --- a/test/test/DottyTypeStealer.scala +++ b/compiler/test/dotty/tools/DottyTypeStealer.scala @@ -1,11 +1,11 @@ -package test +package dotty.tools -import dotty.tools.dotc.ast.tpd -import dotty.tools.dotc.core.Names._ -import dotty.tools.dotc.ast.tpd._ -import dotty.tools.dotc.core.Contexts.Context -import dotty.tools.dotc.core.Decorators._ -import dotty.tools.dotc.core.Types.Type +import dotc.ast.tpd +import dotc.core.Names._ +import dotc.ast.tpd._ +import dotc.core.Contexts.Context +import dotc.core.Decorators._ +import dotc.core.Types.Type object DottyTypeStealer { def stealType(source: String, typeStrings: String*): (Context, List[Type]) = { diff --git a/test/test/ShowClassTests.scala b/compiler/test/dotty/tools/ShowClassTests.scala similarity index 87% rename from test/test/ShowClassTests.scala rename to compiler/test/dotty/tools/ShowClassTests.scala index d5e59c16992c..3c730b716e98 100644 --- a/test/test/ShowClassTests.scala +++ b/compiler/test/dotty/tools/ShowClassTests.scala @@ -1,16 +1,29 @@ -package test +package dotty.tools -import dotty.tools.dotc.core._ -import dotty.tools.dotc.core.Contexts._ -import dotty.tools.dotc.core.Symbols._ -import dotty.tools.dotc.core.Flags._ -import dotty.tools.dotc.core.Types._ -import dotty.tools.dotc.printing.Texts._ +import dotc.core._ +import dotc.core.Contexts._ +import dotc.core.Symbols._ +import dotc.core.Flags._ +import dotc.core.Types._ +import dotc.printing.Texts._ import NameOps._ -import dotty.tools.dotc.core.Decorators._ +import dotc.core.Decorators._ import org.junit.Test class ShowClassTests extends DottyTest { + ctx = { + val base = new ContextBase + import base.settings._ + val ctx = base.initialCtx.fresh + ctx.setSetting(ctx.settings.encoding, "UTF8") + ctx.setSetting( + ctx.settings.classpath, + "../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar" + + ":../interfaces/target/dotty-interfaces-0.1-SNAPSHOT.jar" + ) + base.initialize()(ctx) + ctx + } def debug_println(msg: => Any) = { if (sys.props.isDefinedAt("test.ShowClassTests.verbose")) diff --git a/test/test/TypeStealer.scala b/compiler/test/dotty/tools/TypeStealer.scala similarity index 70% rename from test/test/TypeStealer.scala rename to compiler/test/dotty/tools/TypeStealer.scala index ae48d9a5b9af..ccaf2d41ef47 100644 --- a/test/test/TypeStealer.scala +++ b/compiler/test/dotty/tools/TypeStealer.scala @@ -1,11 +1,8 @@ -package test +package dotty.tools + import scala.tools.nsc.interpreter._ import scala.tools.nsc.Settings -/** - * Dotty requires a mangled bootclasspath to start. It means that `console` mode of sbt doesn't work for us. - * At least I(Dmitry) wasn't able to make sbt fork in console - */ object TypeStealer { def main(args: Array[String]): Unit = { def repl = new ILoop {} @@ -13,7 +10,6 @@ object TypeStealer { val settings = new Settings settings.Yreplsync.value = true - //use when launching normally outside SBT settings.usejavacp.value = true diff --git a/test/test/AsmConverters.scala b/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala similarity index 99% rename from test/test/AsmConverters.scala rename to compiler/test/dotty/tools/backend/jvm/AsmConverters.scala index 5734e8660e02..499037c471e5 100644 --- a/test/test/AsmConverters.scala +++ b/compiler/test/dotty/tools/backend/jvm/AsmConverters.scala @@ -1,4 +1,4 @@ -package test +package dotty.tools.backend.jvm import scala.tools.asm import asm._ diff --git a/test/test/AsmNode.scala b/compiler/test/dotty/tools/backend/jvm/AsmNode.scala similarity index 98% rename from test/test/AsmNode.scala rename to compiler/test/dotty/tools/backend/jvm/AsmNode.scala index 80211e2afe3d..ac3f34258d67 100644 --- a/test/test/AsmNode.scala +++ b/compiler/test/dotty/tools/backend/jvm/AsmNode.scala @@ -1,4 +1,4 @@ -package test +package dotty.tools.backend.jvm import java.lang.reflect.Modifier import scala.tools.asm diff --git a/test/test/DottyBytecodeTest.scala b/compiler/test/dotty/tools/backend/jvm/DottyBytecodeTest.scala similarity index 96% rename from test/test/DottyBytecodeTest.scala rename to compiler/test/dotty/tools/backend/jvm/DottyBytecodeTest.scala index dbf86bf8eb89..fc98536911c8 100644 --- a/test/test/DottyBytecodeTest.scala +++ b/compiler/test/dotty/tools/backend/jvm/DottyBytecodeTest.scala @@ -1,9 +1,9 @@ -package test +package dotty.tools +package backend.jvm -import dotty.tools.dotc.core.Contexts.{Context, ContextBase} -import dotty.tools.dotc.core.Phases.Phase -import dotty.tools.backend.jvm.GenBCode -import dotty.tools.dotc.Compiler +import dotc.core.Contexts.{Context, ContextBase} +import dotc.core.Phases.Phase +import dotc.Compiler import scala.reflect.io.{VirtualDirectory => Directory} import scala.tools.asm @@ -17,7 +17,7 @@ import scala.tools.asm.{ClassWriter, ClassReader} import scala.tools.asm.tree._ import java.io.{File => JFile, InputStream} -private[test] class TestGenBCode(val outDir: String) extends GenBCode { +class TestGenBCode(val outDir: String) extends GenBCode { override def phaseName: String = "testGenBCode" val virtualDir = new Directory(outDir, None) override def outputDir(implicit ctx: Context) = virtualDir diff --git a/test/test/DottyBytecodeTests.scala b/compiler/test/dotty/tools/backend/jvm/DottyBytecodeTests.scala similarity index 99% rename from test/test/DottyBytecodeTests.scala rename to compiler/test/dotty/tools/backend/jvm/DottyBytecodeTests.scala index 5b5989474763..ce71ef3cbc1f 100644 --- a/test/test/DottyBytecodeTests.scala +++ b/compiler/test/dotty/tools/backend/jvm/DottyBytecodeTests.scala @@ -1,4 +1,4 @@ -package test +package dotty.tools.backend.jvm import org.junit.Assert._ import org.junit.Test diff --git a/test/test/InlineBytecodeTests.scala b/compiler/test/dotty/tools/backend/jvm/InlineBytecodeTests.scala similarity index 96% rename from test/test/InlineBytecodeTests.scala rename to compiler/test/dotty/tools/backend/jvm/InlineBytecodeTests.scala index f7dc35305709..033783303df0 100644 --- a/test/test/InlineBytecodeTests.scala +++ b/compiler/test/dotty/tools/backend/jvm/InlineBytecodeTests.scala @@ -1,4 +1,4 @@ -package test +package dotty.tools.backend.jvm import org.junit.Assert._ import org.junit.Test diff --git a/test/test/CompilerTest.scala b/compiler/test/dotty/tools/dotc/CompilerTest.scala similarity index 90% rename from test/test/CompilerTest.scala rename to compiler/test/dotty/tools/dotc/CompilerTest.scala index 8cf6b2feb1d2..fbec9003a4fd 100644 --- a/test/test/CompilerTest.scala +++ b/compiler/test/dotty/tools/dotc/CompilerTest.scala @@ -1,13 +1,13 @@ -package test +package dotty.tools.dotc -import dotty.tools.dotc.core.Contexts._ +import repl.TestREPL +import core.Contexts._ import dotty.partest.DPConfig -import dotty.tools.dotc.{Main, Bench, Driver} -import dotty.tools.dotc.interfaces.Diagnostic.ERROR -import dotty.tools.dotc.reporting._ +import interfaces.Diagnostic.ERROR +import reporting._ import diagnostic.MessageContainer -import dotty.tools.dotc.util.SourcePosition -import dotty.tools.dotc.config.CompilerCommand +import util.SourcePosition +import config.CompilerCommand import dotty.tools.io.PlainFile import scala.collection.mutable.ListBuffer import scala.reflect.io.{ Path, Directory, File => SFile, AbstractFile } @@ -63,7 +63,7 @@ abstract class CompilerTest { if (pid == null) false else - new JFile("." + JFile.separator + "tests" + JFile.separator + "locks" + JFile.separator + s"partest-$pid.lock").exists + new JFile(".." + JFile.separator + "tests" + JFile.separator + "locks" + JFile.separator + s"partest-$pid.lock").exists } // Delete generated files from previous run and create new log @@ -124,6 +124,29 @@ abstract class CompilerTest { compileFile(prefix, fileName, args, extension, true) } + def findJarFromRuntime(partialName: String): String = { + val urls = ClassLoader.getSystemClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.map(_.getFile.toString) + urls.find(_.contains(partialName)).getOrElse { + throw new java.io.FileNotFoundException( + s"""Unable to locate $partialName on classpath:\n${urls.toList.mkString("\n")}""" + ) + } + } + + private def compileWithJavac( + fs: Array[String], + args: Array[String] + )(implicit defaultOptions: List[String]): Boolean = { + val scalaLib = findJarFromRuntime("scala-library") + val fullArgs = Array( + "javac", + "-classpath", + s".:$scalaLib" + ) ++ args ++ defaultOptions.dropWhile("-d" != _).take(2) ++ fs + + Runtime.getRuntime.exec(fullArgs).waitFor() == 0 + } + /** Compiles the code files in the given directory together. If args starts * with "-deep", all files in subdirectories (and so on) are included. */ def compileDir(prefix: String, dirName: String, args: List[String] = Nil, runTest: Boolean = false) @@ -134,15 +157,22 @@ abstract class CompilerTest { case "-deep" :: args1 => (dir.deepFiles, args1) case _ => (dir.files, args) } - val filePaths = files.toArray.map(_.toString).filter(name => (name endsWith ".scala") || (name endsWith ".java")) + val (filePaths, javaFilePaths) = files + .toArray.map(_.toString) + .foldLeft((Array.empty[String], Array.empty[String])) { case (acc @ (fp, jfp), name) => + if (name endsWith ".scala") (name +: fp, jfp) + else if (name endsWith ".java") (fp, name +: jfp) + else (fp, jfp) + } val expErrors = expectedErrors(filePaths.toList) - (filePaths, normArgs, expErrors) + (filePaths, javaFilePaths, normArgs, expErrors) } if (!generatePartestFiles || !partestableDir(prefix, dirName, args ++ defaultOptions)) { if (runTest) log(s"WARNING: run tests can only be run by partest, JUnit just verifies compilation: $prefix$dirName") - val (filePaths, normArgs, expErrors) = computeFilePathsAndExpErrors - compileArgs(filePaths ++ normArgs, expErrors) + val (filePaths, javaFilePaths, normArgs, expErrors) = computeFilePathsAndExpErrors + compileWithJavac(javaFilePaths, Array.empty) // javac needs to run first on dotty-library + compileArgs(javaFilePaths ++ filePaths ++ normArgs, expErrors) } else { val (sourceDir, flags, deep) = args match { case "-deep" :: args1 => (flattenDir(prefix, dirName), args1 ++ defaultOptions, "deep") @@ -154,7 +184,7 @@ abstract class CompilerTest { if (sourceDir.exists) { val firstDest = Directory(DPConfig.testRoot + JFile.separator + kind + JFile.separator + dirName) val xerrors = if (isNegTest(prefix)) { - val (_, _, expErrors) = computeFilePathsAndExpErrors + val (_, _, _, expErrors) = computeFilePathsAndExpErrors expErrors.map(_.totalErrors).sum } else 0 computeDestAndCopyFiles(sourceDir, firstDest, kind, flags, xerrors.toString) @@ -234,6 +264,7 @@ abstract class CompilerTest { private def compileArgs(args: Array[String], expectedErrorsPerFile: List[ErrorsInFile]) (implicit defaultOptions: List[String]): Unit = { val allArgs = args ++ defaultOptions + //println(s"""all args: ${allArgs.mkString("\n")}""") val processor = if (allArgs.exists(_.startsWith("#"))) Bench else Main val storeReporter = new Reporter with UniqueMessagePositions with HideNonSensicalMessages { private val consoleReporter = new ConsoleReporter() @@ -411,8 +442,14 @@ abstract class CompilerTest { nr: Int = 0, oldOutput: String = defaultOutputDir): Unit = { val partestOutput = dest.jfile.getParentFile + JFile.separator + dest.stripExtension + "-" + kind + ".obj" - val flags = oldFlags.map(f => if (f == oldOutput) partestOutput else f) ++ - List(s"-classpath $partestOutput") // Required for separate compilation tests + + val altOutput = + source.getParentFile.getAbsolutePath.map(x => if (x == JFile.separatorChar) '_' else x) + + val (beforeCp, remaining) = oldFlags + .map(f => if (f == oldOutput) partestOutput else f) + .span(_ != "-classpath") + val flags = beforeCp ++ List("-classpath", (partestOutput :: remaining.drop(1)).mkString(":")) val difference = getExisting(dest).isDifferent(source, flags, nerr) difference match { @@ -420,8 +457,12 @@ abstract class CompilerTest { case ExistsSame => // nothing else to do case ExistsDifferent => val nextDest = dest.parent / (dest match { - case d: Directory => Directory(replaceVersion(d.name, nr)) - case f => SFile(replaceVersion(f.stripExtension, nr)).addExtension(f.extension) + case d: Directory => + val newVersion = replaceVersion(d.name, nr).getOrElse(altOutput) + Directory(newVersion) + case f => + val newVersion = replaceVersion(f.stripExtension, nr).getOrElse(altOutput) + SFile(newVersion).addExtension(f.extension) }) computeDestAndCopyFiles(source, nextDest, kind, flags, nerr, nr + 1, partestOutput) } @@ -472,16 +513,16 @@ abstract class CompilerTest { try { SFile(dest)(scala.io.Codec.UTF8).writeAll((s"/* !!!!! WARNING: DO NOT MODIFY. Original is at: $file !!!!! */").replace("\\", "/"), file.slurp("UTF-8")) } catch { - case unmappable: java.nio.charset.MalformedInputException => + case unmappable: java.nio.charset.MalformedInputException => copyfile(file, true) //there are bytes that can't be mapped with UTF-8. Bail and just do a straight byte-wise copy without the warning header. } } } - processFileDir(sourceFile, { sf => + processFileDir(sourceFile, { sf => if (extensionsToCopy.contains(sf.extension)) { dest.parent.jfile.mkdirs - copyfile(sf, false) + copyfile(sf, false) } else { log(s"WARNING: ignoring $sf") } @@ -524,13 +565,12 @@ abstract class CompilerTest { import scala.util.matching.Regex val nrFinder = """(.*_v)(\d+)""".r /** Changes the version number suffix in the name (without extension). */ - private def replaceVersion(name: String, nr: Int): String = { + private def replaceVersion(name: String, nr: Int): Option[String] = { val nrString = nr.toString name match { - case nrFinder(prefix, `nrString`) => prefix + (nr + 1) - case _ => - assert(nr == 0, "DPCompilerTest couldn't create new version of files, match error") - name + "_v1" + case nrFinder(prefix, `nrString`) => Some(prefix + (nr + 1)) + case _ if nr != 0 => None + case _ => Some(name + "_v1") } } diff --git a/test/test/OtherEntryPointsTest.scala b/compiler/test/dotty/tools/dotc/EntryPointsTest.scala similarity index 73% rename from test/test/OtherEntryPointsTest.scala rename to compiler/test/dotty/tools/dotc/EntryPointsTest.scala index abaa043c0111..4a87bbcb53cc 100644 --- a/test/test/OtherEntryPointsTest.scala +++ b/compiler/test/dotty/tools/dotc/EntryPointsTest.scala @@ -1,12 +1,12 @@ -package test +package dotty.tools +package dotc import org.junit.Test import org.junit.Assert._ -import dotty.tools.dotc.Main import dotty.tools.dotc.interfaces.{CompilerCallback, SourceFile} -import dotty.tools.dotc.reporting._ -import dotty.tools.dotc.reporting.diagnostic.MessageContainer -import dotty.tools.dotc.core.Contexts._ +import reporting._ +import reporting.diagnostic.MessageContainer +import core.Contexts._ import java.io.File import scala.collection.mutable.ListBuffer @@ -16,11 +16,19 @@ import scala.collection.mutable.ListBuffer * * @see [[InterfaceEntryPointTest]] */ -class OtherEntryPointsTest { - @Test def runCompiler = { - val sources = List("./tests/pos/HelloWorld.scala").map(p => new java.io.File(p).getPath()) - val args = sources ++ List("-d", "./out/") +class EntryPointsTest { + private val sources = + List("../tests/pos/HelloWorld.scala").map(p => new java.io.File(p).getPath()) + private val dottyInterfaces = + new java.io.File("../interfaces/dotty-interfaces-0.1-SNAPSHOT.jar").getPath + private val dottyLibrary = + new java.io.File("../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar").getPath + private val args = + sources ++ + List("-d", "../out/") ++ + List("-classpath", dottyInterfaces + ":" + dottyLibrary) + @Test def runCompiler = { val reporter = new CustomReporter val callback = new CustomCompilerCallback @@ -32,9 +40,6 @@ class OtherEntryPointsTest { } @Test def runCompilerWithContext = { - val sources = List("./tests/pos/HelloWorld.scala").map(p => new java.io.File(p).getPath()) - val args = sources ++ List("-d", "./out/") - val reporter = new CustomReporter val callback = new CustomCompilerCallback val context = (new ContextBase).initialCtx.fresh diff --git a/test/test/InterfaceEntryPointTest.scala b/compiler/test/dotty/tools/dotc/InterfaceEntryPointTest.scala similarity index 76% rename from test/test/InterfaceEntryPointTest.scala rename to compiler/test/dotty/tools/dotc/InterfaceEntryPointTest.scala index 438a9fa4771a..b36ea29555e6 100644 --- a/test/test/InterfaceEntryPointTest.scala +++ b/compiler/test/dotty/tools/dotc/InterfaceEntryPointTest.scala @@ -1,8 +1,8 @@ -package test +package dotty.tools.dotc import org.junit.Test import org.junit.Assert._ -import dotty.tools.dotc.interfaces._ +import interfaces._ import scala.collection.mutable.ListBuffer /** Test that demonstrates how to use dotty-interfaces @@ -18,8 +18,17 @@ import scala.collection.mutable.ListBuffer */ class InterfaceEntryPointTest { @Test def runCompilerFromInterface = { - val sources = List("./tests/pos/HelloWorld.scala").map(p => new java.io.File(p).getPath()) - val args = sources ++ List("-d", "./out/") + val sources = + List("../tests/pos/HelloWorld.scala").map(p => new java.io.File(p).getPath()) + val dottyInterfaces = + new java.io.File("../interfaces/dotty-interfaces-0.1-SNAPSHOT.jar").getPath + val dottyLibrary = + new java.io.File("../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar").getPath + + val args = + sources ++ + List("-d", "../out/") ++ + List("-classpath", dottyInterfaces + ":" + dottyLibrary) val mainClass = Class.forName("dotty.tools.dotc.Main") val process = mainClass.getMethod("process", @@ -45,6 +54,8 @@ class InterfaceEntryPointTest { errorCount += 1 if (diag.level == Diagnostic.WARNING) warningCount += 1 + + println(diag.message) } } diff --git a/test/dotty/tools/dotc/ast/TreeInfoTest.scala b/compiler/test/dotty/tools/dotc/ast/TreeInfoTest.scala similarity index 94% rename from test/dotty/tools/dotc/ast/TreeInfoTest.scala rename to compiler/test/dotty/tools/dotc/ast/TreeInfoTest.scala index 6e02ee81387d..a55973c43db4 100644 --- a/test/dotty/tools/dotc/ast/TreeInfoTest.scala +++ b/compiler/test/dotty/tools/dotc/ast/TreeInfoTest.scala @@ -1,8 +1,8 @@ -package dotty.tools.dotc +package dotty.tools +package dotc package ast import org.junit.Test -import test.DottyTest import core.Names._ import core.Types._ import core.Symbols._ diff --git a/test/test/DeSugarTest.scala b/compiler/test/dotty/tools/dotc/parsing/DeSugarTest.scala similarity index 96% rename from test/test/DeSugarTest.scala rename to compiler/test/dotty/tools/dotc/parsing/DeSugarTest.scala index d7a056e425fb..1f79c2cf66dd 100644 --- a/test/test/DeSugarTest.scala +++ b/compiler/test/dotty/tools/dotc/parsing/DeSugarTest.scala @@ -1,11 +1,11 @@ -package test +package dotty.tools +package dotc +package parsing -import scala.reflect.io._ -import dotty.tools.dotc.util._ -import dotty.tools.dotc.core._ -import dotty.tools.dotc.parsing._ import Tokens._, Parsers._ -import dotty.tools.dotc._ +import scala.reflect.io._ +import util._ +import core._ import ast.Trees._ import ast.desugar import ast.desugar._ diff --git a/test/test/DottyDocTest.scala b/compiler/test/dotty/tools/dotc/parsing/DocstringTest.scala similarity index 88% rename from test/test/DottyDocTest.scala rename to compiler/test/dotty/tools/dotc/parsing/DocstringTest.scala index 34269ec64c7b..30e885f70fa5 100644 --- a/test/test/DottyDocTest.scala +++ b/compiler/test/dotty/tools/dotc/parsing/DocstringTest.scala @@ -1,9 +1,11 @@ -package test +package dotty.tools +package dotc +package parsing -import dotty.tools.dotc.ast.Trees._ -import dotty.tools.dotc.core.Contexts.Context +import ast.Trees._ +import core.Contexts.Context -trait DottyDocTest extends DottyTest { +trait DocstringTest extends DottyTest { ctx = ctx.fresh.setSetting(ctx.settings.YkeepComments, true) def checkDocString(actual: Option[String], expected: String): Unit = actual match { diff --git a/test/test/DottyDocParsingTests.scala b/compiler/test/dotty/tools/dotc/parsing/DocstringTests.scala similarity index 99% rename from test/test/DottyDocParsingTests.scala rename to compiler/test/dotty/tools/dotc/parsing/DocstringTests.scala index 8522cdae32f9..930ec117a6b8 100644 --- a/test/test/DottyDocParsingTests.scala +++ b/compiler/test/dotty/tools/dotc/parsing/DocstringTests.scala @@ -1,4 +1,6 @@ -package test +package dotty.tools +package dotc +package parsing import dotty.tools.dotc.core.Contexts.Context import dotty.tools.dotc.ast.Trees._ @@ -6,7 +8,7 @@ import dotty.tools.dotc.ast.Trees._ import org.junit.Assert._ import org.junit.Test -class DottyDocParsingTests extends DottyDocTest { +class DocstringTests extends DocstringTest { @Test def noComment = { import dotty.tools.dotc.ast.untpd._ diff --git a/test/test/ModifiersParsingTest.scala b/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala similarity index 93% rename from test/test/ModifiersParsingTest.scala rename to compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala index 82aa33281ba6..e31ef2160682 100644 --- a/test/test/ModifiersParsingTest.scala +++ b/compiler/test/dotty/tools/dotc/parsing/ModifiersParsingTest.scala @@ -1,15 +1,17 @@ -package test +package dotty.tools +package dotc +package parsing import org.junit.Test import org.junit.Assert._ -import dotty.tools.dotc.ast.untpd.modsDeco -import dotty.tools.dotc.ast.untpd._ -import dotty.tools.dotc.ast.{ Trees => d } -import dotty.tools.dotc.parsing.Parsers.Parser -import dotty.tools.dotc.util.SourceFile -import dotty.tools.dotc.core.Contexts.ContextBase -import dotty.tools.dotc.core.Flags +import ast.untpd.modsDeco +import ast.untpd._ +import ast.{ Trees => d } +import Parsers.Parser +import util.SourceFile +import core.Contexts.ContextBase +import core.Flags object ModifiersParsingTest { implicit val ctx = (new ContextBase).initialCtx diff --git a/test/test/ParserTest.scala b/compiler/test/dotty/tools/dotc/parsing/ParserTest.scala similarity index 85% rename from test/test/ParserTest.scala rename to compiler/test/dotty/tools/dotc/parsing/ParserTest.scala index f66dbf55d21a..a89b34512f58 100644 --- a/test/test/ParserTest.scala +++ b/compiler/test/dotty/tools/dotc/parsing/ParserTest.scala @@ -1,12 +1,13 @@ -package test +package dotty.tools +package dotc +package parsing import scala.reflect.io._ -import dotty.tools.dotc.util._ -import dotty.tools.dotc.core._ -import dotty.tools.dotc.parsing._ +import util._ +import core._ import scala.io.Codec import Tokens._, Parsers._ -import dotty.tools.dotc.ast.untpd._ +import ast.untpd._ import org.junit.Test import scala.collection.mutable.ListBuffer diff --git a/test/test/ScannerTest.scala b/compiler/test/dotty/tools/dotc/parsing/ScannerTest.scala similarity index 86% rename from test/test/ScannerTest.scala rename to compiler/test/dotty/tools/dotc/parsing/ScannerTest.scala index 5ff9bba0cc38..b024a63dba2f 100644 --- a/test/test/ScannerTest.scala +++ b/compiler/test/dotty/tools/dotc/parsing/ScannerTest.scala @@ -1,9 +1,10 @@ -package test +package dotty.tools +package dotc +package parsing import scala.reflect.io._ import scala.io.Codec -import dotty.tools.dotc.util._ -import dotty.tools.dotc.parsing._ +import util._ import Tokens._, Scanners._ import org.junit.Test @@ -48,8 +49,8 @@ class ScannerTest extends DottyTest { @Test def scanList() = { println(System.getProperty("user.dir")) - scan("src/dotty/tools/dotc/core/Symbols.scala") - scan("src/dotty/tools/dotc/core/Symbols.scala") + scan("./src/dotty/tools/dotc/core/Symbols.scala") + scan("./src/dotty/tools/dotc/core/Symbols.scala") } @Test @@ -59,6 +60,6 @@ class ScannerTest extends DottyTest { @Test def scanScala() = { - scanDir("./scala-scala/src") + scanDir("../scala-scala/src") } } diff --git a/test/test/desugarPackage.scala b/compiler/test/dotty/tools/dotc/parsing/desugarPackage.scala similarity index 94% rename from test/test/desugarPackage.scala rename to compiler/test/dotty/tools/dotc/parsing/desugarPackage.scala index 7f56e470bede..84bf7a2d174e 100644 --- a/test/test/desugarPackage.scala +++ b/compiler/test/dotty/tools/dotc/parsing/desugarPackage.scala @@ -1,6 +1,7 @@ -package test +package dotty.tools +package dotc +package parsing -import dotty.tools.dotc._ import core._, ast._ import Trees._ diff --git a/test/test/parseFile.scala b/compiler/test/dotty/tools/dotc/parsing/parseFile.scala similarity index 89% rename from test/test/parseFile.scala rename to compiler/test/dotty/tools/dotc/parsing/parseFile.scala index c82fe22e7ea0..c41a286cb6b9 100644 --- a/test/test/parseFile.scala +++ b/compiler/test/dotty/tools/dotc/parsing/parseFile.scala @@ -1,4 +1,4 @@ -package test +package dotty.tools.dotc.parsing object parseFile extends ParserTest { diff --git a/test/test/parsePackage.scala b/compiler/test/dotty/tools/dotc/parsing/parsePackage.scala similarity index 98% rename from test/test/parsePackage.scala rename to compiler/test/dotty/tools/dotc/parsing/parsePackage.scala index 6fa5c0f863af..df5368ffe337 100644 --- a/test/test/parsePackage.scala +++ b/compiler/test/dotty/tools/dotc/parsing/parsePackage.scala @@ -1,4 +1,6 @@ -package test +package dotty.tools +package dotc +package parsing import dotty.tools.dotc._ import core._, ast._ diff --git a/test/test/showTree.scala b/compiler/test/dotty/tools/dotc/parsing/showTree.scala similarity index 90% rename from test/test/showTree.scala rename to compiler/test/dotty/tools/dotc/parsing/showTree.scala index 8d5a5ad7c5f3..18b2203d51ed 100644 --- a/test/test/showTree.scala +++ b/compiler/test/dotty/tools/dotc/parsing/showTree.scala @@ -1,5 +1,7 @@ -package test -import dotty.tools.dotc._ +package dotty.tools +package dotc +package parsing + import ast.Trees._ import ast.desugar import ast.desugar._ diff --git a/test/test/TestREPL.scala b/compiler/test/dotty/tools/dotc/repl/TestREPL.scala similarity index 82% rename from test/test/TestREPL.scala rename to compiler/test/dotty/tools/dotc/repl/TestREPL.scala index 9867cb4ecf20..2263e85a0767 100644 --- a/test/test/TestREPL.scala +++ b/compiler/test/dotty/tools/dotc/repl/TestREPL.scala @@ -1,7 +1,7 @@ -package test +package dotty.tools.dotc +package repl -import dotty.tools.dotc.repl._ -import dotty.tools.dotc.core.Contexts.Context +import core.Contexts.Context import collection.mutable import java.io.StringWriter @@ -20,8 +20,16 @@ class TestREPL(script: String) extends REPL { override lazy val config = new REPL.Config { override val output = new NewLinePrintWriter(out) - override def context(ctx: Context) = - ctx.fresh.setSetting(ctx.settings.color, "never") + override def context(ctx: Context) = { + val fresh = ctx.fresh + fresh.setSetting(ctx.settings.color, "never") + fresh.setSetting( + ctx.settings.classpath, + "../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar" + ) + fresh.initialize()(fresh) + fresh + } override def input(in: Interpreter)(implicit ctx: Context) = new InteractiveReader { val lines = script.lines.buffered diff --git a/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala b/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala similarity index 97% rename from test/dotty/tools/dotc/reporting/TestMessageLaziness.scala rename to compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala index 6892739e8f1c..bf727d51a701 100644 --- a/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala +++ b/compiler/test/dotty/tools/dotc/reporting/TestMessageLaziness.scala @@ -7,8 +7,6 @@ import org.junit.Test import core.Contexts._ -import test.DottyTest - import diagnostic.{ Message, MessageContainer, ExtendMessage } class TestMessageLaziness extends DottyTest { diff --git a/test/dotty/tools/dotc/reporting/TestReporter.scala b/compiler/test/dotty/tools/dotc/reporting/TestReporter.scala similarity index 100% rename from test/dotty/tools/dotc/reporting/TestReporter.scala rename to compiler/test/dotty/tools/dotc/reporting/TestReporter.scala diff --git a/test/test/transform/CreateCompanionObjectsTest.scala b/compiler/test/dotty/tools/dotc/transform/CreateCompanionObjectsTest.scala similarity index 95% rename from test/test/transform/CreateCompanionObjectsTest.scala rename to compiler/test/dotty/tools/dotc/transform/CreateCompanionObjectsTest.scala index 82830781c90b..18acb21057df 100644 --- a/test/test/transform/CreateCompanionObjectsTest.scala +++ b/compiler/test/dotty/tools/dotc/transform/CreateCompanionObjectsTest.scala @@ -1,10 +1,10 @@ -package test.transform - +package dotty.tools +package dotc +package transform import org.junit.{Assert, Test} -import test.DottyTest -import dotty.tools.dotc.core._ -import dotty.tools.dotc.ast.{tpd, Trees} +import core._ +import ast.{tpd, Trees} import Contexts._ import Flags._ import Denotations._ @@ -13,7 +13,7 @@ import Symbols._ import Types._ import Decorators._ import Trees._ -import dotty.tools.dotc.transform.TreeTransforms.{TreeTransform, TreeTransformer} +import TreeTransforms.{TreeTransform, TreeTransformer} class CreateCompanionObjectsTest extends DottyTest { diff --git a/test/test/transform/LazyValsTest.scala b/compiler/test/dotty/tools/dotc/transform/LazyValsTest.scala similarity index 99% rename from test/test/transform/LazyValsTest.scala rename to compiler/test/dotty/tools/dotc/transform/LazyValsTest.scala index 5b8a659fa96f..96298c571749 100644 --- a/test/test/transform/LazyValsTest.scala +++ b/compiler/test/dotty/tools/dotc/transform/LazyValsTest.scala @@ -1,7 +1,8 @@ -package test.transform +package dotty.tools +package dotc +package transform import org.junit.Test -import test.DottyTest import org.junit.Assert class LazyValsTest extends DottyTest { diff --git a/test/test/transform/PatmatExhaustivityTest.scala b/compiler/test/dotty/tools/dotc/transform/PatmatExhaustivityTest.scala similarity index 100% rename from test/test/transform/PatmatExhaustivityTest.scala rename to compiler/test/dotty/tools/dotc/transform/PatmatExhaustivityTest.scala diff --git a/test/test/transform/PostTyperTransformerTest.scala b/compiler/test/dotty/tools/dotc/transform/PostTyperTransformerTest.scala similarity index 95% rename from test/test/transform/PostTyperTransformerTest.scala rename to compiler/test/dotty/tools/dotc/transform/PostTyperTransformerTest.scala index 9886c30232f1..03d6d9b36e92 100644 --- a/test/test/transform/PostTyperTransformerTest.scala +++ b/compiler/test/dotty/tools/dotc/transform/PostTyperTransformerTest.scala @@ -1,10 +1,10 @@ -package test.transform - +package dotty.tools +package dotc +package transform import org.junit.{Assert, Test} -import test.DottyTest -import dotty.tools.dotc.core._ -import dotty.tools.dotc.ast.Trees +import core._ +import ast.Trees import Contexts._ import Flags._ import Denotations._ @@ -13,7 +13,7 @@ import Symbols._ import Types._ import Decorators._ import Trees._ -import dotty.tools.dotc.transform.TreeTransforms.{TreeTransform, TreeTransformer} +import TreeTransforms.{TreeTransform, TreeTransformer} class PostTyperTransformerTest extends DottyTest { /* FIXME: re-enable after adapting to new scheme diff --git a/test/test/transform/TreeTransformerTest.scala b/compiler/test/dotty/tools/dotc/transform/TreeTransformerTest.scala similarity index 96% rename from test/test/transform/TreeTransformerTest.scala rename to compiler/test/dotty/tools/dotc/transform/TreeTransformerTest.scala index df6175735d05..d72980d80b64 100644 --- a/test/test/transform/TreeTransformerTest.scala +++ b/compiler/test/dotty/tools/dotc/transform/TreeTransformerTest.scala @@ -1,13 +1,12 @@ -package test.transform - +package dotty.tools +package dotc +package transform import org.junit.{Assert, Test} -import test.DottyTest -import dotty.tools.dotc.transform.TreeTransforms.{TransformerInfo, TreeTransformer, MiniPhaseTransform} -import dotty.tools.dotc.ast.tpd -import dotty.tools.dotc.core.Constants.Constant -import dotty.tools.dotc.core.Contexts.Context - +import TreeTransforms.{TransformerInfo, TreeTransformer, MiniPhaseTransform} +import ast.tpd +import core.Constants.Constant +import core.Contexts.Context class TreeTransformerTest extends DottyTest { diff --git a/test/test/showClass.scala b/compiler/test/dotty/tools/showClass.scala similarity index 87% rename from test/test/showClass.scala rename to compiler/test/dotty/tools/showClass.scala index 78751ad6edaa..012f5f59eac7 100644 --- a/test/test/showClass.scala +++ b/compiler/test/dotty/tools/showClass.scala @@ -1,6 +1,6 @@ -package test +package dotty.tools -import dotty.tools.dotc.core.Decorators._ +import dotc.core.Decorators._ object showClass extends ShowClassTests { diff --git a/test/partest b/compiler/test/partest similarity index 100% rename from test/partest rename to compiler/test/partest diff --git a/test/test/baseTypetest.sc b/compiler/test/worksheets/baseTypetest.sc similarity index 100% rename from test/test/baseTypetest.sc rename to compiler/test/worksheets/baseTypetest.sc diff --git a/test/test/denotTest.sc b/compiler/test/worksheets/denotTest.sc similarity index 100% rename from test/test/denotTest.sc rename to compiler/test/worksheets/denotTest.sc diff --git a/test/test/flagtest.sc b/compiler/test/worksheets/flagtest.sc similarity index 100% rename from test/test/flagtest.sc rename to compiler/test/worksheets/flagtest.sc diff --git a/test/test/nesting.sc b/compiler/test/worksheets/nesting.sc similarity index 100% rename from test/test/nesting.sc rename to compiler/test/worksheets/nesting.sc diff --git a/test/test/periodtest.sc b/compiler/test/worksheets/periodtest.sc similarity index 100% rename from test/test/periodtest.sc rename to compiler/test/worksheets/periodtest.sc diff --git a/test/test/positiontest.sc b/compiler/test/worksheets/positiontest.sc similarity index 100% rename from test/test/positiontest.sc rename to compiler/test/worksheets/positiontest.sc diff --git a/test/test/sigtest.sc b/compiler/test/worksheets/sigtest.sc similarity index 100% rename from test/test/sigtest.sc rename to compiler/test/worksheets/sigtest.sc diff --git a/test/test/testnames.sc b/compiler/test/worksheets/testnames.sc similarity index 100% rename from test/test/testnames.sc rename to compiler/test/worksheets/testnames.sc diff --git a/dottydoc/src/dotty/tools/dottydoc/DottyDoc.scala b/doc-tool/src/dotty/tools/dottydoc/DottyDoc.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/DottyDoc.scala rename to doc-tool/src/dotty/tools/dottydoc/DottyDoc.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java b/doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/api/java/Dottydoc.java rename to doc-tool/src/dotty/tools/dottydoc/api/java/Dottydoc.java diff --git a/dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala b/doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala rename to doc-tool/src/dotty/tools/dottydoc/api/scala/Dottydoc.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/AlternateConstructorsPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/AlternateConstructorsPhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/AlternateConstructorsPhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/AlternateConstructorsPhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/ContextDottydoc.scala b/doc-tool/src/dotty/tools/dottydoc/core/ContextDottydoc.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/ContextDottydoc.scala rename to doc-tool/src/dotty/tools/dottydoc/core/ContextDottydoc.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/DocASTPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/DocASTPhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/DocASTPhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/DocImplicitsPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/DocImplicitsPhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/DocImplicitsPhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/DocImplicitsPhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/DocstringPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/DocstringPhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/DocstringPhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala b/doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala rename to doc-tool/src/dotty/tools/dottydoc/core/MiniPhaseTransform.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/SortMembersPhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/SortMembersPhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/SortMembersPhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala b/doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala rename to doc-tool/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/core/UsecasePhase.scala b/doc-tool/src/dotty/tools/dottydoc/core/UsecasePhase.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/core/UsecasePhase.scala rename to doc-tool/src/dotty/tools/dottydoc/core/UsecasePhase.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/BodyEntities.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/BodyEntities.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/BodyEntities.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/BodyEntities.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/BodyParsers.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/BodyParsers.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/BodyParsers.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/BodyParsers.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/Comment.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/Comment.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/Comment.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/Comment.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/CommentCleaner.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/CommentCleaner.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/CommentCleaner.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/CommentCleaner.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/CommentParser.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/CommentParser.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/CommentParser.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/CommentParser.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/comment/CommentRegex.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/CommentRegex.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/comment/CommentRegex.scala rename to doc-tool/src/dotty/tools/dottydoc/model/comment/CommentRegex.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/entities.scala b/doc-tool/src/dotty/tools/dottydoc/model/entities.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/entities.scala rename to doc-tool/src/dotty/tools/dottydoc/model/entities.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/factories.scala b/doc-tool/src/dotty/tools/dottydoc/model/factories.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/factories.scala rename to doc-tool/src/dotty/tools/dottydoc/model/factories.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/internal.scala b/doc-tool/src/dotty/tools/dottydoc/model/internal.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/internal.scala rename to doc-tool/src/dotty/tools/dottydoc/model/internal.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/java.scala b/doc-tool/src/dotty/tools/dottydoc/model/java.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/java.scala rename to doc-tool/src/dotty/tools/dottydoc/model/java.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/json.scala b/doc-tool/src/dotty/tools/dottydoc/model/json.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/json.scala rename to doc-tool/src/dotty/tools/dottydoc/model/json.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/model/references.scala b/doc-tool/src/dotty/tools/dottydoc/model/references.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/model/references.scala rename to doc-tool/src/dotty/tools/dottydoc/model/references.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/util/MemberLookup.scala b/doc-tool/src/dotty/tools/dottydoc/util/MemberLookup.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/util/MemberLookup.scala rename to doc-tool/src/dotty/tools/dottydoc/util/MemberLookup.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala b/doc-tool/src/dotty/tools/dottydoc/util/OutputWriter.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/util/OutputWriter.scala rename to doc-tool/src/dotty/tools/dottydoc/util/OutputWriter.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/util/Traversing.scala b/doc-tool/src/dotty/tools/dottydoc/util/Traversing.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/util/Traversing.scala rename to doc-tool/src/dotty/tools/dottydoc/util/Traversing.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/util/mutate.scala b/doc-tool/src/dotty/tools/dottydoc/util/mutate.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/util/mutate.scala rename to doc-tool/src/dotty/tools/dottydoc/util/mutate.scala diff --git a/dottydoc/src/dotty/tools/dottydoc/util/syntax.scala b/doc-tool/src/dotty/tools/dottydoc/util/syntax.scala similarity index 100% rename from dottydoc/src/dotty/tools/dottydoc/util/syntax.scala rename to doc-tool/src/dotty/tools/dottydoc/util/syntax.scala diff --git a/dottydoc/test/BaseTest.scala b/doc-tool/test/BaseTest.scala similarity index 93% rename from dottydoc/test/BaseTest.scala rename to doc-tool/test/BaseTest.scala index 303c476a53b9..7f3d62277869 100644 --- a/dottydoc/test/BaseTest.scala +++ b/doc-tool/test/BaseTest.scala @@ -21,6 +21,10 @@ trait DottyTest { ctx.setSetting(ctx.settings.YkeepComments, true) ctx.setSetting(ctx.settings.YnoInline, true) ctx.setProperty(ContextDoc, new ContextDottydoc) + ctx.setSetting( + ctx.settings.classpath, + "../library/target/scala-2.11/dotty-library_2.11-0.1-SNAPSHOT.jar" + ) base.initialize()(ctx) ctx } diff --git a/dottydoc/test/ConstructorTest.scala b/doc-tool/test/ConstructorTest.scala similarity index 100% rename from dottydoc/test/ConstructorTest.scala rename to doc-tool/test/ConstructorTest.scala diff --git a/dottydoc/test/PackageStructure.scala b/doc-tool/test/PackageStructure.scala similarity index 100% rename from dottydoc/test/PackageStructure.scala rename to doc-tool/test/PackageStructure.scala diff --git a/dottydoc/test/SimpleComments.scala b/doc-tool/test/SimpleComments.scala similarity index 100% rename from dottydoc/test/SimpleComments.scala rename to doc-tool/test/SimpleComments.scala diff --git a/dottydoc/test/UsecaseTest.scala b/doc-tool/test/UsecaseTest.scala similarity index 97% rename from dottydoc/test/UsecaseTest.scala rename to doc-tool/test/UsecaseTest.scala index b5d47e4b6ce8..113d54aad15f 100644 --- a/dottydoc/test/UsecaseTest.scala +++ b/doc-tool/test/UsecaseTest.scala @@ -223,12 +223,12 @@ class UsecaseTest extends DottyTest { } @Test def checkIterator = - checkFiles("./scala-scala/src/library/scala/collection/Iterator.scala" :: Nil) { _ => + checkFiles("../scala-scala/src/library/scala/collection/Iterator.scala" :: Nil) { _ => // success if typer throws no errors! :) } @Test def checkIterableLike = - checkFiles("./scala-scala/src/library/scala/collection/IterableLike.scala" :: Nil) { _ => + checkFiles("../scala-scala/src/library/scala/collection/IterableLike.scala" :: Nil) { _ => // success if typer throws no errors! :) } } diff --git a/dottydoc/test/WhitelistedStdLib.scala b/doc-tool/test/WhitelistedStdLib.scala similarity index 100% rename from dottydoc/test/WhitelistedStdLib.scala rename to doc-tool/test/WhitelistedStdLib.scala diff --git a/docs/css/main.scss b/docs/css/main.scss index dbc5153e2b54..f8354e6deafe 100644 --- a/docs/css/main.scss +++ b/docs/css/main.scss @@ -207,7 +207,7 @@ ul.post-list { } } -pre, code { +pre, code, code.hljs { padding: 0; border: 0; border-radius: 3px; @@ -221,6 +221,11 @@ code { padding-right: 0.1em; } +pre { + padding: 0.5em; + background-color: $grey !important; +} + body { font: 400 16px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; color: $text-color; diff --git a/docs/docs/contributing/eclipse.md b/docs/docs/contributing/eclipse.md index 9afe2835500f..0e4125df0579 100644 --- a/docs/docs/contributing/eclipse.md +++ b/docs/docs/contributing/eclipse.md @@ -27,7 +27,7 @@ You may need to redo these steps when the build changes. If you have `CLASSPATH` defined: 4. Update your classpath to contain any new required external libraries to run - `./bin/dotc`, `./bin/doti` outside of Eclipse. + `./bin/dotc`, `./bin/dotr` outside of Eclipse. 5. Open the `Run Configurations` tab, and edit the `tests` configuration so that it contains a `CLASSPATH` variable which reflects the current @@ -44,4 +44,4 @@ Running the compiler Main class from Eclipse - Add the Scala library (`Advanced...` > `Add library...` > `Scala library`) - Add the Dotty classfiles (`Add projects...` > `[x] dotty`) 4. `Run Configurations > Main$ > Arguments` and add - `${project_loc}/examples/hello.scala` + `${project_loc}/tests/pos/HelloWorld.scala` diff --git a/docs/docs/contributing/getting-started.md b/docs/docs/contributing/getting-started.md index bea5b69624bb..4c7299914345 100644 --- a/docs/docs/contributing/getting-started.md +++ b/docs/docs/contributing/getting-started.md @@ -19,21 +19,48 @@ Requirements Make sure that you are using Java 8 or later, the output of `java -version` should contain `1.8`. -Compiling and running code --------------------------- +Compiling and Running +--------------------- +Start by cloning the repository: + +```none +$ git clone https://github.com/lampepfl/dotty.git +$ cd dotty +``` + +Dotty provides a standard sbt build: compiling, running and starting a repl can +all be done from within sbt using + +```none +$ sbt +> dotc tests/pos/HelloWorld.scala +> dotr HelloWorld +hello world +``` + +there is also a bash script that can be used in the same way: + ```bash -git clone https://github.com/lampepfl/dotty.git -cd dotty -# Clone dotty-compatible stdlib. Needed for running the test suite. -git clone -b dotty-library https://github.com/DarkDimius/scala.git scala-scala # Compile code using Dotty ./bin/dotc tests/pos/HelloWorld.scala # Run it with the proper classpath ./bin/dotr HelloWorld ``` + Starting a REPL --------------- -```bash -./bin/dotr +```none +$ sbt +> repl +Welcome to Scala.next (pre-alpha) (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_101). +Type in expressions to have them evaluated. +Type :help for more information. +scala> +``` + +or via bash: + +```none +$ ./bin/dotr ``` diff --git a/docs/docs/contributing/workflow.md b/docs/docs/contributing/workflow.md index a0b9fd528f88..48f71053ee18 100644 --- a/docs/docs/contributing/workflow.md +++ b/docs/docs/contributing/workflow.md @@ -5,17 +5,27 @@ title: "Workflow" This document details common workflow patterns when working with Dotty. +## Cloning and building ## + +```bash +# Start by cloning the repository: +git clone https://github.com/lampepfl/dotty.git +cd dotty +# Clone dotty-compatible stdlib. Needed for running the test suite. +git clone -b dotty-library https://github.com/DarkDimius/scala.git scala-scala +``` + ## Compiling files with dotc ## From sbt: -```bash -> run +```none +> dotc ``` From terminal: -```bash +```none $ ./bin/dotc ``` @@ -37,7 +47,7 @@ Additional logging information can be obtained by changes some `noPrinter` to ## Running tests ## -```bash +```none $ sbt > partest --show-diff --verbose ``` @@ -45,21 +55,21 @@ $ sbt ## Running single tests ## To test a specific test tests/x/y.scala (for example tests/pos/t210.scala): -```bash +```none > partest-only-no-bootstrap --show-diff --verbose tests/partest-generated/x/y.scala ``` -Currently this will re-run some tests and do some preprocessing because of the -way partest has been set up. +Currently this will re-run some unit tests and do some preprocessing because of +the way partest has been set up. ## Inspecting Trees with Type Stealer ## There is no power mode for the REPL yet, but you can inspect types with the type stealer: -```bash -$ ./bin/dotr -scala> import test.DottyTypeStealer._; import dotty.tools.dotc.core._; import Contexts._,Types._ +```none +> repl +scala> import dotty.tools.DottyTypeStealer._; import dotty.tools.dotc.core._; import Contexts._,Types._ ``` Now, you can define types and access their representation. For example: diff --git a/docs/docs/index.md b/docs/docs/index.md index 699fcecb17b6..8fceedbd036d 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -11,8 +11,8 @@ Index ----- * Usage - [Migrating from Scala 2](usage/migrating.md) - - [Using Dotty with cbt](usage/cbt-projects.md) - - [Using Dotty with sbt](usage/sbt-projects.md) + - [Dotty projects with cbt](usage/cbt-projects.md) + - [Dotty projects with sbt](usage/sbt-projects.md) * Contributing - [Getting Started](contributing/getting-started.md) details on how to run tests, use the cli scripts diff --git a/examples/hello.scala b/examples/hello.scala deleted file mode 100644 index 87e0b1e5e5ca..000000000000 --- a/examples/hello.scala +++ /dev/null @@ -1,5 +0,0 @@ -package hello - -object world extends App { - println("hello dotty!") -} diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/AbstractFile.java b/interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/AbstractFile.java rename to interfaces/src/dotty/tools/dotc/interfaces/AbstractFile.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/CompilerCallback.java b/interfaces/src/dotty/tools/dotc/interfaces/CompilerCallback.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/CompilerCallback.java rename to interfaces/src/dotty/tools/dotc/interfaces/CompilerCallback.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/Diagnostic.java b/interfaces/src/dotty/tools/dotc/interfaces/Diagnostic.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/Diagnostic.java rename to interfaces/src/dotty/tools/dotc/interfaces/Diagnostic.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/ReporterResult.java b/interfaces/src/dotty/tools/dotc/interfaces/ReporterResult.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/ReporterResult.java rename to interfaces/src/dotty/tools/dotc/interfaces/ReporterResult.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/SimpleReporter.java b/interfaces/src/dotty/tools/dotc/interfaces/SimpleReporter.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/SimpleReporter.java rename to interfaces/src/dotty/tools/dotc/interfaces/SimpleReporter.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java b/interfaces/src/dotty/tools/dotc/interfaces/SourceFile.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/SourceFile.java rename to interfaces/src/dotty/tools/dotc/interfaces/SourceFile.java diff --git a/interfaces/src/main/java/dotty/tools/dotc/interfaces/SourcePosition.java b/interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java similarity index 100% rename from interfaces/src/main/java/dotty/tools/dotc/interfaces/SourcePosition.java rename to interfaces/src/dotty/tools/dotc/interfaces/SourcePosition.java diff --git a/src/dotty/DottyPredef.scala b/library/src/dotty/DottyPredef.scala similarity index 100% rename from src/dotty/DottyPredef.scala rename to library/src/dotty/DottyPredef.scala diff --git a/src/dotty/runtime/Arrays.scala b/library/src/dotty/runtime/Arrays.scala similarity index 100% rename from src/dotty/runtime/Arrays.scala rename to library/src/dotty/runtime/Arrays.scala diff --git a/src/dotty/runtime/LazyHolders.scala b/library/src/dotty/runtime/LazyHolders.scala similarity index 100% rename from src/dotty/runtime/LazyHolders.scala rename to library/src/dotty/runtime/LazyHolders.scala diff --git a/src/dotty/runtime/LazyVals.scala b/library/src/dotty/runtime/LazyVals.scala similarity index 100% rename from src/dotty/runtime/LazyVals.scala rename to library/src/dotty/runtime/LazyVals.scala diff --git a/library/src/dotty/runtime/LegacyApp.scala b/library/src/dotty/runtime/LegacyApp.scala new file mode 100644 index 000000000000..1eae4c2be0c2 --- /dev/null +++ b/library/src/dotty/runtime/LegacyApp.scala @@ -0,0 +1,8 @@ +package dotty.runtime + +/** Replaces the `scala.App` class which relies on `DelayedInit` functionality, + * not supported by Dotty. + */ +class LegacyApp { + def main(args: Array[String]): Unit = () +} diff --git a/src/dotty/runtime/vc/VCPrototype.scala b/library/src/dotty/runtime/vc/VCPrototype.scala similarity index 100% rename from src/dotty/runtime/vc/VCPrototype.scala rename to library/src/dotty/runtime/vc/VCPrototype.scala diff --git a/src/scala/Eq.scala b/library/src/scala/Eq.scala similarity index 100% rename from src/scala/Eq.scala rename to library/src/scala/Eq.scala diff --git a/src/scala/Function23.scala b/library/src/scala/Function23.scala similarity index 100% rename from src/scala/Function23.scala rename to library/src/scala/Function23.scala diff --git a/src/scala/Function24.scala b/library/src/scala/Function24.scala similarity index 100% rename from src/scala/Function24.scala rename to library/src/scala/Function24.scala diff --git a/src/scala/Function25.scala b/library/src/scala/Function25.scala similarity index 100% rename from src/scala/Function25.scala rename to library/src/scala/Function25.scala diff --git a/src/scala/Function26.scala b/library/src/scala/Function26.scala similarity index 100% rename from src/scala/Function26.scala rename to library/src/scala/Function26.scala diff --git a/src/scala/Function27.scala b/library/src/scala/Function27.scala similarity index 100% rename from src/scala/Function27.scala rename to library/src/scala/Function27.scala diff --git a/src/scala/Function28.scala b/library/src/scala/Function28.scala similarity index 100% rename from src/scala/Function28.scala rename to library/src/scala/Function28.scala diff --git a/src/scala/Function29.scala b/library/src/scala/Function29.scala similarity index 100% rename from src/scala/Function29.scala rename to library/src/scala/Function29.scala diff --git a/src/scala/Function30.scala b/library/src/scala/Function30.scala similarity index 100% rename from src/scala/Function30.scala rename to library/src/scala/Function30.scala diff --git a/src/scala/Product0.scala b/library/src/scala/Product0.scala similarity index 100% rename from src/scala/Product0.scala rename to library/src/scala/Product0.scala diff --git a/src/scala/annotation/internal/Alias.scala b/library/src/scala/annotation/internal/Alias.scala similarity index 100% rename from src/scala/annotation/internal/Alias.scala rename to library/src/scala/annotation/internal/Alias.scala diff --git a/src/scala/annotation/internal/AnnotationDefault.scala b/library/src/scala/annotation/internal/AnnotationDefault.scala similarity index 100% rename from src/scala/annotation/internal/AnnotationDefault.scala rename to library/src/scala/annotation/internal/AnnotationDefault.scala diff --git a/src/scala/annotation/internal/Body.scala b/library/src/scala/annotation/internal/Body.scala similarity index 100% rename from src/scala/annotation/internal/Body.scala rename to library/src/scala/annotation/internal/Body.scala diff --git a/src/scala/annotation/internal/Child.scala b/library/src/scala/annotation/internal/Child.scala similarity index 100% rename from src/scala/annotation/internal/Child.scala rename to library/src/scala/annotation/internal/Child.scala diff --git a/src/scala/annotation/internal/InlineParam.scala b/library/src/scala/annotation/internal/InlineParam.scala similarity index 100% rename from src/scala/annotation/internal/InlineParam.scala rename to library/src/scala/annotation/internal/InlineParam.scala diff --git a/src/scala/annotation/internal/Repeated.scala b/library/src/scala/annotation/internal/Repeated.scala similarity index 100% rename from src/scala/annotation/internal/Repeated.scala rename to library/src/scala/annotation/internal/Repeated.scala diff --git a/src/scala/annotation/internal/SourceFile.scala b/library/src/scala/annotation/internal/SourceFile.scala similarity index 100% rename from src/scala/annotation/internal/SourceFile.scala rename to library/src/scala/annotation/internal/SourceFile.scala diff --git a/src/scala/annotation/internal/TASTYLongSignature.java b/library/src/scala/annotation/internal/TASTYLongSignature.java similarity index 100% rename from src/scala/annotation/internal/TASTYLongSignature.java rename to library/src/scala/annotation/internal/TASTYLongSignature.java diff --git a/src/scala/annotation/internal/TASTYSignature.java b/library/src/scala/annotation/internal/TASTYSignature.java similarity index 100% rename from src/scala/annotation/internal/TASTYSignature.java rename to library/src/scala/annotation/internal/TASTYSignature.java diff --git a/src/scala/annotation/internal/UnsafeNonvariant.scala b/library/src/scala/annotation/internal/UnsafeNonvariant.scala similarity index 100% rename from src/scala/annotation/internal/UnsafeNonvariant.scala rename to library/src/scala/annotation/internal/UnsafeNonvariant.scala diff --git a/src/scala/annotation/static.scala b/library/src/scala/annotation/static.scala similarity index 100% rename from src/scala/annotation/static.scala rename to library/src/scala/annotation/static.scala diff --git a/src/scala/compat/java8/JFunction.java b/library/src/scala/compat/java8/JFunction.java similarity index 100% rename from src/scala/compat/java8/JFunction.java rename to library/src/scala/compat/java8/JFunction.java diff --git a/src/scala/compat/java8/JFunction0$mcB$sp.java b/library/src/scala/compat/java8/JFunction0$mcB$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcB$sp.java rename to library/src/scala/compat/java8/JFunction0$mcB$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcC$sp.java b/library/src/scala/compat/java8/JFunction0$mcC$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcC$sp.java rename to library/src/scala/compat/java8/JFunction0$mcC$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcD$sp.java b/library/src/scala/compat/java8/JFunction0$mcD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcD$sp.java rename to library/src/scala/compat/java8/JFunction0$mcD$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcF$sp.java b/library/src/scala/compat/java8/JFunction0$mcF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcF$sp.java rename to library/src/scala/compat/java8/JFunction0$mcF$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcI$sp.java b/library/src/scala/compat/java8/JFunction0$mcI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcI$sp.java rename to library/src/scala/compat/java8/JFunction0$mcI$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcJ$sp.java b/library/src/scala/compat/java8/JFunction0$mcJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcJ$sp.java rename to library/src/scala/compat/java8/JFunction0$mcJ$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcS$sp.java b/library/src/scala/compat/java8/JFunction0$mcS$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcS$sp.java rename to library/src/scala/compat/java8/JFunction0$mcS$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcV$sp.java b/library/src/scala/compat/java8/JFunction0$mcV$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcV$sp.java rename to library/src/scala/compat/java8/JFunction0$mcV$sp.java diff --git a/src/scala/compat/java8/JFunction0$mcZ$sp.java b/library/src/scala/compat/java8/JFunction0$mcZ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction0$mcZ$sp.java rename to library/src/scala/compat/java8/JFunction0$mcZ$sp.java diff --git a/src/scala/compat/java8/JFunction0.java b/library/src/scala/compat/java8/JFunction0.java similarity index 100% rename from src/scala/compat/java8/JFunction0.java rename to library/src/scala/compat/java8/JFunction0.java diff --git a/src/scala/compat/java8/JFunction1$mcDD$sp.java b/library/src/scala/compat/java8/JFunction1$mcDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcDD$sp.java rename to library/src/scala/compat/java8/JFunction1$mcDD$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcDF$sp.java b/library/src/scala/compat/java8/JFunction1$mcDF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcDF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcDF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcDI$sp.java b/library/src/scala/compat/java8/JFunction1$mcDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcDI$sp.java rename to library/src/scala/compat/java8/JFunction1$mcDI$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcDJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcDJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcDJ$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcFD$sp.java b/library/src/scala/compat/java8/JFunction1$mcFD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcFD$sp.java rename to library/src/scala/compat/java8/JFunction1$mcFD$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcFF$sp.java b/library/src/scala/compat/java8/JFunction1$mcFF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcFF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcFF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcFI$sp.java b/library/src/scala/compat/java8/JFunction1$mcFI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcFI$sp.java rename to library/src/scala/compat/java8/JFunction1$mcFI$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcFJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcFJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcFJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcFJ$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcID$sp.java b/library/src/scala/compat/java8/JFunction1$mcID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcID$sp.java rename to library/src/scala/compat/java8/JFunction1$mcID$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcIF$sp.java b/library/src/scala/compat/java8/JFunction1$mcIF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcIF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcIF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcII$sp.java b/library/src/scala/compat/java8/JFunction1$mcII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcII$sp.java rename to library/src/scala/compat/java8/JFunction1$mcII$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcIJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcIJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcIJ$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcJD$sp.java b/library/src/scala/compat/java8/JFunction1$mcJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcJD$sp.java rename to library/src/scala/compat/java8/JFunction1$mcJD$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcJF$sp.java b/library/src/scala/compat/java8/JFunction1$mcJF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcJF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcJF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcJI$sp.java b/library/src/scala/compat/java8/JFunction1$mcJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcJI$sp.java rename to library/src/scala/compat/java8/JFunction1$mcJI$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcJJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcJJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcJJ$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcVD$sp.java b/library/src/scala/compat/java8/JFunction1$mcVD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcVD$sp.java rename to library/src/scala/compat/java8/JFunction1$mcVD$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcVF$sp.java b/library/src/scala/compat/java8/JFunction1$mcVF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcVF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcVF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcVI$sp.java b/library/src/scala/compat/java8/JFunction1$mcVI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcVI$sp.java rename to library/src/scala/compat/java8/JFunction1$mcVI$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcVJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcVJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcVJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcVJ$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcZD$sp.java b/library/src/scala/compat/java8/JFunction1$mcZD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcZD$sp.java rename to library/src/scala/compat/java8/JFunction1$mcZD$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcZF$sp.java b/library/src/scala/compat/java8/JFunction1$mcZF$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcZF$sp.java rename to library/src/scala/compat/java8/JFunction1$mcZF$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcZI$sp.java b/library/src/scala/compat/java8/JFunction1$mcZI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcZI$sp.java rename to library/src/scala/compat/java8/JFunction1$mcZI$sp.java diff --git a/src/scala/compat/java8/JFunction1$mcZJ$sp.java b/library/src/scala/compat/java8/JFunction1$mcZJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction1$mcZJ$sp.java rename to library/src/scala/compat/java8/JFunction1$mcZJ$sp.java diff --git a/src/scala/compat/java8/JFunction1.java b/library/src/scala/compat/java8/JFunction1.java similarity index 100% rename from src/scala/compat/java8/JFunction1.java rename to library/src/scala/compat/java8/JFunction1.java diff --git a/src/scala/compat/java8/JFunction10.java b/library/src/scala/compat/java8/JFunction10.java similarity index 100% rename from src/scala/compat/java8/JFunction10.java rename to library/src/scala/compat/java8/JFunction10.java diff --git a/src/scala/compat/java8/JFunction11.java b/library/src/scala/compat/java8/JFunction11.java similarity index 100% rename from src/scala/compat/java8/JFunction11.java rename to library/src/scala/compat/java8/JFunction11.java diff --git a/src/scala/compat/java8/JFunction12.java b/library/src/scala/compat/java8/JFunction12.java similarity index 100% rename from src/scala/compat/java8/JFunction12.java rename to library/src/scala/compat/java8/JFunction12.java diff --git a/src/scala/compat/java8/JFunction13.java b/library/src/scala/compat/java8/JFunction13.java similarity index 100% rename from src/scala/compat/java8/JFunction13.java rename to library/src/scala/compat/java8/JFunction13.java diff --git a/src/scala/compat/java8/JFunction14.java b/library/src/scala/compat/java8/JFunction14.java similarity index 100% rename from src/scala/compat/java8/JFunction14.java rename to library/src/scala/compat/java8/JFunction14.java diff --git a/src/scala/compat/java8/JFunction15.java b/library/src/scala/compat/java8/JFunction15.java similarity index 100% rename from src/scala/compat/java8/JFunction15.java rename to library/src/scala/compat/java8/JFunction15.java diff --git a/src/scala/compat/java8/JFunction16.java b/library/src/scala/compat/java8/JFunction16.java similarity index 100% rename from src/scala/compat/java8/JFunction16.java rename to library/src/scala/compat/java8/JFunction16.java diff --git a/src/scala/compat/java8/JFunction17.java b/library/src/scala/compat/java8/JFunction17.java similarity index 100% rename from src/scala/compat/java8/JFunction17.java rename to library/src/scala/compat/java8/JFunction17.java diff --git a/src/scala/compat/java8/JFunction18.java b/library/src/scala/compat/java8/JFunction18.java similarity index 100% rename from src/scala/compat/java8/JFunction18.java rename to library/src/scala/compat/java8/JFunction18.java diff --git a/src/scala/compat/java8/JFunction19.java b/library/src/scala/compat/java8/JFunction19.java similarity index 100% rename from src/scala/compat/java8/JFunction19.java rename to library/src/scala/compat/java8/JFunction19.java diff --git a/src/scala/compat/java8/JFunction2$mcDDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcDDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcDDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcDDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDID$sp.java b/library/src/scala/compat/java8/JFunction2$mcDID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDII$sp.java b/library/src/scala/compat/java8/JFunction2$mcDII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcDIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcDJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcDJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcDJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcDJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcDJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcDJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcFDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcFDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcFDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFID$sp.java b/library/src/scala/compat/java8/JFunction2$mcFID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFII$sp.java b/library/src/scala/compat/java8/JFunction2$mcFII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcFIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcFJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcFJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcFJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcFJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcFJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcFJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcIDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcIDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcIDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIID$sp.java b/library/src/scala/compat/java8/JFunction2$mcIID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIII$sp.java b/library/src/scala/compat/java8/JFunction2$mcIII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcIIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcIJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcIJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcIJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcIJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcIJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcIJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcJDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcJDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcJDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJID$sp.java b/library/src/scala/compat/java8/JFunction2$mcJID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJII$sp.java b/library/src/scala/compat/java8/JFunction2$mcJII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcJIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcJJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcJJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcJJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcJJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcJJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcJJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcVDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcVDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcVDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVID$sp.java b/library/src/scala/compat/java8/JFunction2$mcVID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVII$sp.java b/library/src/scala/compat/java8/JFunction2$mcVII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcVIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcVJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcVJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcVJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcVJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcVJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcVJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZDD$sp.java b/library/src/scala/compat/java8/JFunction2$mcZDD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZDD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZDD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZDI$sp.java b/library/src/scala/compat/java8/JFunction2$mcZDI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZDI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZDI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZDJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcZDJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZDJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZDJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZID$sp.java b/library/src/scala/compat/java8/JFunction2$mcZID$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZID$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZID$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZII$sp.java b/library/src/scala/compat/java8/JFunction2$mcZII$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZII$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZII$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZIJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcZIJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZIJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZIJ$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZJD$sp.java b/library/src/scala/compat/java8/JFunction2$mcZJD$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZJD$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZJD$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZJI$sp.java b/library/src/scala/compat/java8/JFunction2$mcZJI$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZJI$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZJI$sp.java diff --git a/src/scala/compat/java8/JFunction2$mcZJJ$sp.java b/library/src/scala/compat/java8/JFunction2$mcZJJ$sp.java similarity index 100% rename from src/scala/compat/java8/JFunction2$mcZJJ$sp.java rename to library/src/scala/compat/java8/JFunction2$mcZJJ$sp.java diff --git a/src/scala/compat/java8/JFunction2.java b/library/src/scala/compat/java8/JFunction2.java similarity index 100% rename from src/scala/compat/java8/JFunction2.java rename to library/src/scala/compat/java8/JFunction2.java diff --git a/src/scala/compat/java8/JFunction20.java b/library/src/scala/compat/java8/JFunction20.java similarity index 100% rename from src/scala/compat/java8/JFunction20.java rename to library/src/scala/compat/java8/JFunction20.java diff --git a/src/scala/compat/java8/JFunction21.java b/library/src/scala/compat/java8/JFunction21.java similarity index 100% rename from src/scala/compat/java8/JFunction21.java rename to library/src/scala/compat/java8/JFunction21.java diff --git a/src/scala/compat/java8/JFunction22.java b/library/src/scala/compat/java8/JFunction22.java similarity index 100% rename from src/scala/compat/java8/JFunction22.java rename to library/src/scala/compat/java8/JFunction22.java diff --git a/src/scala/compat/java8/JFunction3.java b/library/src/scala/compat/java8/JFunction3.java similarity index 100% rename from src/scala/compat/java8/JFunction3.java rename to library/src/scala/compat/java8/JFunction3.java diff --git a/src/scala/compat/java8/JFunction4.java b/library/src/scala/compat/java8/JFunction4.java similarity index 100% rename from src/scala/compat/java8/JFunction4.java rename to library/src/scala/compat/java8/JFunction4.java diff --git a/src/scala/compat/java8/JFunction5.java b/library/src/scala/compat/java8/JFunction5.java similarity index 100% rename from src/scala/compat/java8/JFunction5.java rename to library/src/scala/compat/java8/JFunction5.java diff --git a/src/scala/compat/java8/JFunction6.java b/library/src/scala/compat/java8/JFunction6.java similarity index 100% rename from src/scala/compat/java8/JFunction6.java rename to library/src/scala/compat/java8/JFunction6.java diff --git a/src/scala/compat/java8/JFunction7.java b/library/src/scala/compat/java8/JFunction7.java similarity index 100% rename from src/scala/compat/java8/JFunction7.java rename to library/src/scala/compat/java8/JFunction7.java diff --git a/src/scala/compat/java8/JFunction8.java b/library/src/scala/compat/java8/JFunction8.java similarity index 100% rename from src/scala/compat/java8/JFunction8.java rename to library/src/scala/compat/java8/JFunction8.java diff --git a/src/scala/compat/java8/JFunction9.java b/library/src/scala/compat/java8/JFunction9.java similarity index 100% rename from src/scala/compat/java8/JFunction9.java rename to library/src/scala/compat/java8/JFunction9.java diff --git a/src/scala/compat/java8/JProcedure0.java b/library/src/scala/compat/java8/JProcedure0.java similarity index 100% rename from src/scala/compat/java8/JProcedure0.java rename to library/src/scala/compat/java8/JProcedure0.java diff --git a/src/scala/compat/java8/JProcedure1.java b/library/src/scala/compat/java8/JProcedure1.java similarity index 100% rename from src/scala/compat/java8/JProcedure1.java rename to library/src/scala/compat/java8/JProcedure1.java diff --git a/src/scala/compat/java8/JProcedure10.java b/library/src/scala/compat/java8/JProcedure10.java similarity index 100% rename from src/scala/compat/java8/JProcedure10.java rename to library/src/scala/compat/java8/JProcedure10.java diff --git a/src/scala/compat/java8/JProcedure11.java b/library/src/scala/compat/java8/JProcedure11.java similarity index 100% rename from src/scala/compat/java8/JProcedure11.java rename to library/src/scala/compat/java8/JProcedure11.java diff --git a/src/scala/compat/java8/JProcedure12.java b/library/src/scala/compat/java8/JProcedure12.java similarity index 100% rename from src/scala/compat/java8/JProcedure12.java rename to library/src/scala/compat/java8/JProcedure12.java diff --git a/src/scala/compat/java8/JProcedure13.java b/library/src/scala/compat/java8/JProcedure13.java similarity index 100% rename from src/scala/compat/java8/JProcedure13.java rename to library/src/scala/compat/java8/JProcedure13.java diff --git a/src/scala/compat/java8/JProcedure14.java b/library/src/scala/compat/java8/JProcedure14.java similarity index 100% rename from src/scala/compat/java8/JProcedure14.java rename to library/src/scala/compat/java8/JProcedure14.java diff --git a/src/scala/compat/java8/JProcedure15.java b/library/src/scala/compat/java8/JProcedure15.java similarity index 100% rename from src/scala/compat/java8/JProcedure15.java rename to library/src/scala/compat/java8/JProcedure15.java diff --git a/src/scala/compat/java8/JProcedure16.java b/library/src/scala/compat/java8/JProcedure16.java similarity index 100% rename from src/scala/compat/java8/JProcedure16.java rename to library/src/scala/compat/java8/JProcedure16.java diff --git a/src/scala/compat/java8/JProcedure17.java b/library/src/scala/compat/java8/JProcedure17.java similarity index 100% rename from src/scala/compat/java8/JProcedure17.java rename to library/src/scala/compat/java8/JProcedure17.java diff --git a/src/scala/compat/java8/JProcedure18.java b/library/src/scala/compat/java8/JProcedure18.java similarity index 100% rename from src/scala/compat/java8/JProcedure18.java rename to library/src/scala/compat/java8/JProcedure18.java diff --git a/src/scala/compat/java8/JProcedure19.java b/library/src/scala/compat/java8/JProcedure19.java similarity index 100% rename from src/scala/compat/java8/JProcedure19.java rename to library/src/scala/compat/java8/JProcedure19.java diff --git a/src/scala/compat/java8/JProcedure2.java b/library/src/scala/compat/java8/JProcedure2.java similarity index 100% rename from src/scala/compat/java8/JProcedure2.java rename to library/src/scala/compat/java8/JProcedure2.java diff --git a/src/scala/compat/java8/JProcedure20.java b/library/src/scala/compat/java8/JProcedure20.java similarity index 100% rename from src/scala/compat/java8/JProcedure20.java rename to library/src/scala/compat/java8/JProcedure20.java diff --git a/src/scala/compat/java8/JProcedure21.java b/library/src/scala/compat/java8/JProcedure21.java similarity index 100% rename from src/scala/compat/java8/JProcedure21.java rename to library/src/scala/compat/java8/JProcedure21.java diff --git a/src/scala/compat/java8/JProcedure22.java b/library/src/scala/compat/java8/JProcedure22.java similarity index 100% rename from src/scala/compat/java8/JProcedure22.java rename to library/src/scala/compat/java8/JProcedure22.java diff --git a/src/scala/compat/java8/JProcedure3.java b/library/src/scala/compat/java8/JProcedure3.java similarity index 100% rename from src/scala/compat/java8/JProcedure3.java rename to library/src/scala/compat/java8/JProcedure3.java diff --git a/src/scala/compat/java8/JProcedure4.java b/library/src/scala/compat/java8/JProcedure4.java similarity index 100% rename from src/scala/compat/java8/JProcedure4.java rename to library/src/scala/compat/java8/JProcedure4.java diff --git a/src/scala/compat/java8/JProcedure5.java b/library/src/scala/compat/java8/JProcedure5.java similarity index 100% rename from src/scala/compat/java8/JProcedure5.java rename to library/src/scala/compat/java8/JProcedure5.java diff --git a/src/scala/compat/java8/JProcedure6.java b/library/src/scala/compat/java8/JProcedure6.java similarity index 100% rename from src/scala/compat/java8/JProcedure6.java rename to library/src/scala/compat/java8/JProcedure6.java diff --git a/src/scala/compat/java8/JProcedure7.java b/library/src/scala/compat/java8/JProcedure7.java similarity index 100% rename from src/scala/compat/java8/JProcedure7.java rename to library/src/scala/compat/java8/JProcedure7.java diff --git a/src/scala/compat/java8/JProcedure8.java b/library/src/scala/compat/java8/JProcedure8.java similarity index 100% rename from src/scala/compat/java8/JProcedure8.java rename to library/src/scala/compat/java8/JProcedure8.java diff --git a/src/scala/compat/java8/JProcedure9.java b/library/src/scala/compat/java8/JProcedure9.java similarity index 100% rename from src/scala/compat/java8/JProcedure9.java rename to library/src/scala/compat/java8/JProcedure9.java diff --git a/src/scala/runtime/ScalaRunTime.scala b/library/src/scala/runtime/ScalaRunTime.scala similarity index 100% rename from src/scala/runtime/ScalaRunTime.scala rename to library/src/scala/runtime/ScalaRunTime.scala diff --git a/src/scalaShadowing/language.scala b/library/src/scalaShadowing/language.scala similarity index 99% rename from src/scalaShadowing/language.scala rename to library/src/scalaShadowing/language.scala index a74c9c67190a..e2fc5ec61bf9 100644 --- a/src/scalaShadowing/language.scala +++ b/library/src/scalaShadowing/language.scala @@ -25,18 +25,18 @@ package scalaShadowing * - [[higherKinds `higherKinds`]] enables writing higher-kinded types * - [[existentials `existentials`]] enables writing existential types * - [[experimental `experimental`]] contains newer features that have not yet been tested in production - * + * * and, for dotty: - * + * * - [[Scala2 `Scala2`] backwards compatibility mode for Scala2 - * - [[noAtoTupling `noAutoTupling`]] disable auto-tupling + * - [[noAtoTupling `noAutoTupling`]] disable auto-tupling * * @groupname production Language Features * @groupname experimental Experimental Language Features * @groupprio experimental 10 - * + * * Dotty-specific features come at the end. - * + * * Note: Due to the more restricted language import mechanism in dotty (only * imports count, implicits are disregarded) we don't need the constructions * of the inherited language features. A simple object for each feature is @@ -189,10 +189,10 @@ object language { */ @volatile implicit lazy val macros: macros = languageFeature.experimental.macros } - + /** Where imported, a backwards compatibility mode for Scala2 is enabled */ object Scala2 - + /** Where imported, auto-tupling is disabled */ object noAutoTupling } diff --git a/project/Build.scala b/project/Build.scala index 5b8465b4e6ec..699c7ea8ac31 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1,5 +1,6 @@ import sbt.Keys._ import sbt._ +import complete.DefaultParsers._ import java.io.{ RandomAccessFile, File } import java.nio.channels.FileLock import scala.reflect.io.Path @@ -13,7 +14,7 @@ object DottyBuild extends Build { val baseVersion = "0.1" val isNightly = sys.env.get("NIGHTLYBUILD") == Some("yes") - val jenkinsMemLimit = List("-Xmx1300m") + val jenkinsMemLimit = List("-Xmx1500m") val JENKINS_BUILD = "dotty.jenkins.build" @@ -26,6 +27,21 @@ object DottyBuild extends Build { // "-XX:+HeapDumpOnOutOfMemoryError", "-Xmx1g", "-Xss2m" ) + // Packages all subprojects to their jars + lazy val packageAll = + taskKey[Map[String, String]]("Package everything needed to run tests") + + // Spawns a repl with the correct classpath + lazy val repl = inputKey[Unit]("run the REPL with correct classpath") + + // Used to compile files similar to ./bin/dotc script + lazy val dotc = + inputKey[Unit]("run the compiler using the correct classpath, or the user supplied classpath") + + // Used to run binaries similar to ./bin/dotr script + lazy val dotr = + inputKey[Unit]("run compiled binary using the correct classpath, or the user supplied classpath") + override def settings: Seq[Setting[_]] = { super.settings ++ Seq( scalaVersion in Global := "2.11.5", @@ -41,7 +57,12 @@ object DottyBuild extends Build { homepage in Global := Some(url("https://github.com/lampepfl/dotty")), // scalac options - scalacOptions in Global ++= Seq("-feature", "-deprecation", "-encoding", "UTF8", "-language:existentials,higherKinds,implicitConversions"), + scalacOptions in Global ++= Seq( + "-feature", + "-deprecation", + "-encoding", "UTF8", + "-language:existentials,higherKinds,implicitConversions" + ), javacOptions in Global ++= Seq("-Xlint:unchecked", "-Xlint:deprecation") ) @@ -51,7 +72,57 @@ object DottyBuild extends Build { private val overrideScalaVersionSetting = ivyScala := ivyScala.value.map(_.copy(overrideScalaVersion = true)) + // set sources to src/, tests to test/ and resources to resources/ + lazy val sourceStructure = Seq( + scalaSource in Compile := baseDirectory.value / "src", + scalaSource in Test := baseDirectory.value / "test", + javaSource in Compile := baseDirectory.value / "src", + javaSource in Test := baseDirectory.value / "test", + resourceDirectory in Compile := baseDirectory.value / "resources" + ) + + + /** Projects -------------------------------------------------------------- */ + // The root project: + // - aggregates other projects so that "compile", "test", etc are run on all projects at once. + // - publishes its own empty artifact "dotty" that depends on "dotty-library" and "dotty-compiler", + // this is only necessary for compatibility with sbt which currently hardcodes the "dotty" artifact name + lazy val dotty = project.in(file(".")). + // FIXME: we do not aggregate `bin` because its tests delete jars, thus breaking other tests + aggregate(`dotty-interfaces`, `dotty-library`, `dotty-compiler`, `dotty-sbt-bridge`, `scala-library`). + dependsOn(`dotty-compiler`). + dependsOn(`dotty-library`). + settings( + addCommandAlias("run", "dotty-compiler/run") ++ + addCommandAlias( + "partest", + ";packageAll" + + ";dotty-compiler/test:runMain dotc.build" + + ";dotty-compiler/lockPartestFile" + + ";dotty-compiler/test:test" + + ";dotty-compiler/runPartestRunner" + ) ++ + addCommandAlias( + "partest-only", + ";packageAll" + + ";dotty-compiler/test:runMain dotc.build" + + ";dotty-compiler/lockPartestFile" + + ";dotty-compiler/test:test-only dotc.tests" + + ";dotty-compiler/runPartestRunner" + ) ++ + addCommandAlias( + "partest-only-no-bootstrap", + ";packageAll" + + ";dotty-compiler/lockPartestFile" + + ";dotty-compiler/test:test-only dotc.tests" + + ";dotty-compiler/runPartestRunner" + ) + ). + settings(publishing) + + lazy val `dotty-interfaces` = project.in(file("interfaces")). + settings(sourceStructure). settings( // Do not append Scala versions to the generated artifacts crossPaths := false, @@ -62,21 +133,19 @@ object DottyBuild extends Build { ). settings(publishing) - lazy val dotty = project.in(file(".")). + lazy val `dotty-compiler` = project.in(file("compiler")). dependsOn(`dotty-interfaces`). + dependsOn(`dotty-library`). + settings(sourceStructure). settings( overrideScalaVersionSetting, - // set sources to src/, tests to test/ and resources to resources/ - scalaSource in Compile := baseDirectory.value / "src", - javaSource in Compile := baseDirectory.value / "src", - scalaSource in Test := baseDirectory.value / "test", - javaSource in Test := baseDirectory.value / "test", - resourceDirectory in Compile := baseDirectory.value / "resources", + // necessary evil: dottydoc currently needs to be included in the dotty + // project, for sbt integration unmanagedSourceDirectories in Compile := Seq((scalaSource in Compile).value), - unmanagedSourceDirectories in Compile += baseDirectory.value / "dottydoc" / "src", + unmanagedSourceDirectories in Compile += baseDirectory.value / ".." / "doc-tool" / "src", unmanagedSourceDirectories in Test := Seq((scalaSource in Test).value), - unmanagedSourceDirectories in Test += baseDirectory.value / "dottydoc" / "test", + unmanagedSourceDirectories in Test += baseDirectory.value / ".." / "doc-tool" / "test", // set system in/out for repl connectInput in run := true, @@ -108,8 +177,70 @@ object DottyBuild extends Build { // enable improved incremental compilation algorithm incOptions := incOptions.value.withNameHashing(true), + // packageAll packages all and then returns a map with the abs location + packageAll := { + Map( + "dotty-interfaces" -> (packageBin in (`dotty-interfaces`, Compile)).value, + "dotty-compiler" -> (packageBin in Compile).value, + "dotty-library" -> (packageBin in (`dotty-library`, Compile)).value, + "dotty-compiler-test" -> (packageBin in Test).value + ) map { case (k, v) => (k, v.getAbsolutePath) } + }, + + // For convenience, change the baseDirectory when running the compiler + baseDirectory in (Compile, run) := baseDirectory.value / "..", + // .. but not when running partest + baseDirectory in (Test, run) := baseDirectory.value, + + repl := Def.inputTaskDyn { + val args: Seq[String] = spaceDelimited("").parsed + val dottyLib = packageAll.value("dotty-library") + (runMain in Compile).toTask( + s" dotty.tools.dotc.repl.Main -classpath $dottyLib " + args.mkString(" ") + ) + }.evaluated, + + // Override run to be able to run compiled classfiles + dotr := { + val args: Seq[String] = spaceDelimited("").parsed + val java: String = Process("which" :: "java" :: Nil) !! + val scalaLib = (dependencyClasspath in Runtime, packageAll) + .map { (attList, _) => + attList + .map(_.data.getAbsolutePath) + .find(_.contains("scala-library")) + .toList.mkString(":") + }.value + + if (java == "") + println("Couldn't find java executable on path, please install java to a default location") + else if (scalaLib == "") { + println("Couldn't find scala-library on classpath, please run using script in bin dir instead") + } else { + val dottyLib = packageAll.value("dotty-library") + s"""$java -classpath .:$dottyLib:$scalaLib ${args.mkString(" ")}""" ! + } + }, + run := Def.inputTaskDyn { + val dottyLib = packageAll.value("dotty-library") + val args: Seq[String] = spaceDelimited("").parsed + + val fullArgs = args.span(_ != "-classpath") match { + case (beforeCp, Nil) => beforeCp ++ ("-classpath" :: dottyLib :: Nil) + case (beforeCp, rest) => beforeCp ++ rest + } + + (runMain in Compile).toTask( + s" dotty.tools.dotc.Main " + fullArgs.mkString(" ") + ) + }.evaluated, + dotc := run.evaluated, + // enable verbose exception messages for JUnit - testOptions in Test += Tests.Argument(TestFrameworks.JUnit, "-a", "-v", "--run-listener=test.ContextEscapeDetector"), + testOptions in Test += Tests.Argument( + TestFrameworks.JUnit, "-a", "-v", + "--run-listener=dotty.tools.ContextEscapeDetector" + ), testOptions in Test += Tests.Cleanup({ () => partestLockFile.delete }), lockPartestFile := { @@ -128,9 +259,13 @@ object DottyBuild extends Build { // command line arguments get passed to the last task in an aliased // sequence (see partest alias below), so this works. val args = Def.spaceDelimited("").parsed - val jars = Seq((packageBin in Compile).value.getAbsolutePath) ++ - getJarPaths(partestDeps.value, ivyPaths.value.ivyHome) - val dottyJars = "-dottyJars " + (jars.length + 1) + " dotty.jar" + " " + jars.mkString(" ") + val jars = List( + (packageBin in Compile).value.getAbsolutePath, + (packageBin in (`dotty-library`, Compile)).value.getAbsolutePath, + (packageBin in (`dotty-interfaces`, Compile)).value.getAbsolutePath + ) ++ getJarPaths(partestDeps.value, ivyPaths.value.ivyHome) + val dottyJars = + s"""-dottyJars ${jars.length + 2} dotty.jar dotty-lib.jar ${jars.mkString(" ")}""" // Provide the jars required on the classpath of run tests runTask(Test, "dotty.partest.DPConsoleRunner", dottyJars + " " + args.mkString(" ")) }, @@ -140,35 +275,35 @@ object DottyBuild extends Build { * of scalajs-ir built with a different Scala compiler, we add its * sources instead of depending on the binaries. */ - ivyConfigurations += config("sourcedeps").hide, - libraryDependencies += - "org.scala-js" %% "scalajs-ir" % scalaJSVersion % "sourcedeps", - sourceGenerators in Compile += Def.task { - val s = streams.value - val cacheDir = s.cacheDirectory - val trgDir = (sourceManaged in Compile).value / "scalajs-ir-src" - - val report = updateClassifiers.value - val scalaJSIRSourcesJar = report.select( - configuration = Set("sourcedeps"), - module = (_: ModuleID).name.startsWith("scalajs-ir_"), - artifact = artifactFilter(`type` = "src")).headOption.getOrElse { - sys.error(s"Could not fetch scalajs-ir sources") - } - - FileFunction.cached(cacheDir / s"fetchScalaJSIRSource", - FilesInfo.lastModified, FilesInfo.exists) { dependencies => - s.log.info(s"Unpacking scalajs-ir sources to $trgDir...") - if (trgDir.exists) - IO.delete(trgDir) - IO.createDirectory(trgDir) - IO.unzip(scalaJSIRSourcesJar, trgDir) - (trgDir ** "*.scala").get.toSet - } (Set(scalaJSIRSourcesJar)).toSeq - }.taskValue, - - // Adjust classpath for running dotty - mainClass in (Compile, run) := Some("dotty.tools.dotc.Main"), + //TODO: disabling until moved to separate project + //ivyConfigurations += config("sourcedeps").hide, + //libraryDependencies += + // "org.scala-js" %% "scalajs-ir" % scalaJSVersion % "sourcedeps", + //sourceGenerators in Compile += Def.task { + // val s = streams.value + // val cacheDir = s.cacheDirectory + // val trgDir = (sourceManaged in Compile).value / "scalajs-ir-src" + + // val report = updateClassifiers.value + // val scalaJSIRSourcesJar = report.select( + // configuration = Set("sourcedeps"), + // module = (_: ModuleID).name.startsWith("scalajs-ir_"), + // artifact = artifactFilter(`type` = "src")).headOption.getOrElse { + // sys.error(s"Could not fetch scalajs-ir sources") + // } + + // FileFunction.cached(cacheDir / s"fetchScalaJSIRSource", + // FilesInfo.lastModified, FilesInfo.exists) { dependencies => + // s.log.info(s"Unpacking scalajs-ir sources to $trgDir...") + // if (trgDir.exists) + // IO.delete(trgDir) + // IO.createDirectory(trgDir) + // IO.unzip(scalaJSIRSourcesJar, trgDir) + // (trgDir ** "*.scala").get.toSet + // } (Set(scalaJSIRSourcesJar)).toSeq + //}.taskValue, + + // Spawn new JVM in run and test fork in run := true, fork in Test := true, parallelExecution in Test := false, @@ -177,51 +312,71 @@ object DottyBuild extends Build { packageOptions += ManifestAttributes(("Git-Hash", VersionUtil.gitHash)), // http://grokbase.com/t/gg/simple-build-tool/135ke5y90p/sbt-setting-jvm-boot-paramaters-for-scala - javaOptions <++= (dependencyClasspath in Runtime, packageBin in Compile) map { (attList, bin) => - // put the Scala {library, reflect} in the classpath + // packageAll should always be run before tests + javaOptions <++= (dependencyClasspath in Runtime, packageAll) map { (attList, _) => + // put needed dependencies on classpath: val path = for { file <- attList.map(_.data) path = file.getAbsolutePath + // FIXME: when we snip the cord, this should go bye-bye + if path.contains("scala-library") || + // FIXME: currently needed for tests referencing scalac internals + path.contains("scala-reflect") || + // FIXME: currently needed for tests referencing scalac internals + path.contains("scala-compile") || + // FIXME: should go away when xml literal parsing is removed + path.contains("scala-xml") || + // needed for the xsbti interface + path.contains("sbt-interface") } yield "-Xbootclasspath/p:" + path - // dotty itself needs to be in the bootclasspath - val fullpath = ("-Xbootclasspath/p:" + "dotty.jar") :: ("-Xbootclasspath/a:" + bin) :: path.toList - // System.err.println("BOOTPATH: " + fullpath) val travis_build = // propagate if this is a travis build if (sys.props.isDefinedAt(JENKINS_BUILD)) List(s"-D$JENKINS_BUILD=${sys.props(JENKINS_BUILD)}") ::: jenkinsMemLimit - else - List() + else List() val tuning = if (sys.props.isDefinedAt("Oshort")) // Optimize for short-running applications, see https://github.com/lampepfl/dotty/issues/222 List("-XX:+TieredCompilation", "-XX:TieredStopAtLevel=1") - else - List() + else List() - ("-DpartestParentID=" + pid) :: tuning ::: agentOptions ::: travis_build ::: fullpath + ("-DpartestParentID=" + pid) :: tuning ::: agentOptions ::: travis_build ::: path.toList } ). - settings( - addCommandAlias("partest", ";test:package;package;test:runMain dotc.build;lockPartestFile;test:test;runPartestRunner") ++ - addCommandAlias("partest-only", ";test:package;package;test:runMain dotc.build;lockPartestFile;test:test-only dotc.tests;runPartestRunner") ++ - addCommandAlias("partest-only-no-bootstrap", ";test:package;package; lockPartestFile;test:test-only dotc.tests;runPartestRunner") ++ - addCommandAlias("dottydoc", ";dottydoc/run") - ). settings(publishing) + /* Contains unit tests for the scripts */ + lazy val `dotty-bin-tests` = project.in(file("bin")). + settings(sourceStructure). + settings( + publishArtifact := false, + parallelExecution in Test := false, + libraryDependencies += + "com.novocode" % "junit-interface" % "0.11" % "test" + ) + + lazy val `dotty-library` = project.in(file("library")). + settings(sourceStructure). + settings( + libraryDependencies ++= Seq( + "org.scala-lang" % "scala-reflect" % scalaVersion.value, + "org.scala-lang" % "scala-library" % scalaVersion.value + ) + ) + // until sbt/sbt#2402 is fixed (https://github.com/sbt/sbt/issues/2402) lazy val cleanSbtBridge = TaskKey[Unit]("cleanSbtBridge", "delete dotty-sbt-bridge cache") - lazy val `dotty-bridge` = project.in(file("bridge")). - dependsOn(dotty). + lazy val `dotty-sbt-bridge` = project.in(file("sbt-bridge")). + dependsOn(`dotty-compiler`). + settings(sourceStructure). settings( overrideScalaVersionSetting, cleanSbtBridge := { val dottyBridgeVersion = version.value - val dottyVersion = (version in dotty).value + val dottyVersion = (version in `dotty-compiler`).value val classVersion = System.getProperty("java.class.version") val sbtV = sbtVersion.value @@ -261,6 +416,7 @@ object DottyBuild extends Build { ). settings(ScriptedPlugin.scriptedSettings: _*). settings( + ScriptedPlugin.sbtTestDirectory := baseDirectory.value / "sbt-test", ScriptedPlugin.scriptedLaunchOpts := Seq("-Xmx1024m"), ScriptedPlugin.scriptedBufferLog := false // TODO: Use this instead of manually copying DottyInjectedPlugin.scala @@ -302,6 +458,7 @@ object DottyInjectedPlugin extends AutoPlugin { */ lazy val sjsSandbox = project.in(file("sandbox/scalajs")). enablePlugins(ScalaJSPlugin). + settings(sourceStructure). settings( overrideScalaVersionSetting, @@ -335,11 +492,12 @@ object DottyInjectedPlugin extends AutoPlugin { ))) lazy val `dotty-bench` = project.in(file("bench")). - dependsOn(dotty % "compile->test"). + dependsOn(`dotty-compiler` % "compile->test"). + settings(sourceStructure). settings( overrideScalaVersionSetting, - baseDirectory in (Test,run) := (baseDirectory in dotty).value, + baseDirectory in (Test,run) := (baseDirectory in `dotty-compiler`).value, libraryDependencies ++= Seq( scalaCompiler % Test, @@ -474,7 +632,7 @@ object DottyInjectedPlugin extends AutoPlugin { def cpToString(cp: Seq[File]) = cp.map(_.getAbsolutePath).mkString(java.io.File.pathSeparator) - val compilerCp = Attributed.data((fullClasspath in (dotty, Compile)).value) + val compilerCp = Attributed.data((fullClasspath in (`dotty-compiler`, Compile)).value) val cpStr = cpToString(classpath ++ compilerCp) // List all my dependencies (recompile if any of these changes) diff --git a/sandbox/scalajs/src/main/scala/hello.scala b/sandbox/scalajs/src/hello.scala similarity index 100% rename from sandbox/scalajs/src/main/scala/hello.scala rename to sandbox/scalajs/src/hello.scala diff --git a/bridge/src/sbt-test/compilerReporter/simple/Source.scala b/sbt-bridge/sbt-test/compilerReporter/simple/Source.scala similarity index 100% rename from bridge/src/sbt-test/compilerReporter/simple/Source.scala rename to sbt-bridge/sbt-test/compilerReporter/simple/Source.scala diff --git a/bridge/src/sbt-test/compilerReporter/simple/build.sbt b/sbt-bridge/sbt-test/compilerReporter/simple/build.sbt similarity index 100% rename from bridge/src/sbt-test/compilerReporter/simple/build.sbt rename to sbt-bridge/sbt-test/compilerReporter/simple/build.sbt diff --git a/bridge/src/sbt-test/compilerReporter/simple/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/compilerReporter/simple/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/compilerReporter/simple/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/compilerReporter/simple/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/compilerReporter/simple/project/Reporter.scala b/sbt-bridge/sbt-test/compilerReporter/simple/project/Reporter.scala similarity index 100% rename from bridge/src/sbt-test/compilerReporter/simple/project/Reporter.scala rename to sbt-bridge/sbt-test/compilerReporter/simple/project/Reporter.scala diff --git a/bridge/src/sbt-test/compilerReporter/simple/test b/sbt-bridge/sbt-test/compilerReporter/simple/test similarity index 100% rename from bridge/src/sbt-test/compilerReporter/simple/test rename to sbt-bridge/sbt-test/compilerReporter/simple/test diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/A.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/A.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/B.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/B.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/C.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/C.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/D.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/D.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/changes/C2.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/changes/C2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/changes/C2.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/changes/C2.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-override/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-override/test b/sbt-bridge/sbt-test/source-dependencies/abstract-override/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-override/test rename to sbt-bridge/sbt-test/source-dependencies/abstract-override/test diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/build.sbt b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/changes/Bar1.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/changes/Bar1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/changes/Bar1.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/changes/Bar1.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Bar.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Bar.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Bar.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Bar.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Foo.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Foo.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Foo.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Foo.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Impl.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Impl.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Impl.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/src/main/scala/Impl.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type-override/test b/sbt-bridge/sbt-test/source-dependencies/abstract-type-override/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type-override/test rename to sbt-bridge/sbt-test/source-dependencies/abstract-type-override/test diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type/A.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type/A.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type/B.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type/B.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/abstract-type/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/abstract-type/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/abstract-type/test b/sbt-bridge/sbt-test/source-dependencies/abstract-type/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/abstract-type/test rename to sbt-bridge/sbt-test/source-dependencies/abstract-type/test diff --git a/bridge/src/sbt-test/source-dependencies/added/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/added/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/added/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/added/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/added/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/changes/A3.scala b/sbt-bridge/sbt-test/source-dependencies/added/changes/A3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/changes/A3.scala rename to sbt-bridge/sbt-test/source-dependencies/added/changes/A3.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/changes/B1.scala b/sbt-bridge/sbt-test/source-dependencies/added/changes/B1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/changes/B1.scala rename to sbt-bridge/sbt-test/source-dependencies/added/changes/B1.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/added/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/added/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/added/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/added/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/added/test b/sbt-bridge/sbt-test/source-dependencies/added/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/added/test rename to sbt-bridge/sbt-test/source-dependencies/added/test diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/A.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/A.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/B.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/B.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/C.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/C.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/D.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/D.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-a/test b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-a/test rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-a/test diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/A.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/A.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/B.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/B.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/C.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/C.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/D.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/D.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/as-seen-from-b/test b/sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/as-seen-from-b/test rename to sbt-bridge/sbt-test/source-dependencies/as-seen-from-b/test diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/A.scala b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/A.scala rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/B.scala b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/B.scala rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/build.sbt b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/backtick-quoted-names/test b/sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/backtick-quoted-names/test rename to sbt-bridge/sbt-test/source-dependencies/backtick-quoted-names/test diff --git a/bridge/src/sbt-test/source-dependencies/binary/changes/Break.scala b/sbt-bridge/sbt-test/source-dependencies/binary/changes/Break.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/changes/Break.scala rename to sbt-bridge/sbt-test/source-dependencies/binary/changes/Break.scala diff --git a/bridge/src/sbt-test/source-dependencies/binary/dep/A.scala b/sbt-bridge/sbt-test/source-dependencies/binary/dep/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/dep/A.scala rename to sbt-bridge/sbt-test/source-dependencies/binary/dep/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/binary/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/binary/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/binary/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/binary/project/P.scala b/sbt-bridge/sbt-test/source-dependencies/binary/project/P.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/project/P.scala rename to sbt-bridge/sbt-test/source-dependencies/binary/project/P.scala diff --git a/bridge/src/sbt-test/source-dependencies/binary/test b/sbt-bridge/sbt-test/source-dependencies/binary/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/test rename to sbt-bridge/sbt-test/source-dependencies/binary/test diff --git a/bridge/src/sbt-test/source-dependencies/binary/use/B.scala b/sbt-bridge/sbt-test/source-dependencies/binary/use/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/binary/use/B.scala rename to sbt-bridge/sbt-test/source-dependencies/binary/use/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/by-name/A.scala b/sbt-bridge/sbt-test/source-dependencies/by-name/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/by-name/A.scala rename to sbt-bridge/sbt-test/source-dependencies/by-name/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/by-name/B.scala b/sbt-bridge/sbt-test/source-dependencies/by-name/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/by-name/B.scala rename to sbt-bridge/sbt-test/source-dependencies/by-name/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/by-name/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/by-name/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/by-name/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/by-name/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/by-name/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/by-name/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/by-name/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/by-name/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/by-name/test b/sbt-bridge/sbt-test/source-dependencies/by-name/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/by-name/test rename to sbt-bridge/sbt-test/source-dependencies/by-name/test diff --git a/bridge/src/sbt-test/source-dependencies/canon/Use.scala b/sbt-bridge/sbt-test/source-dependencies/canon/Use.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/Use.scala rename to sbt-bridge/sbt-test/source-dependencies/canon/Use.scala diff --git a/bridge/src/sbt-test/source-dependencies/canon/actual/A.java b/sbt-bridge/sbt-test/source-dependencies/canon/actual/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/actual/A.java rename to sbt-bridge/sbt-test/source-dependencies/canon/actual/A.java diff --git a/bridge/src/sbt-test/source-dependencies/canon/actual/a.jar b/sbt-bridge/sbt-test/source-dependencies/canon/actual/a.jar similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/actual/a.jar rename to sbt-bridge/sbt-test/source-dependencies/canon/actual/a.jar diff --git a/bridge/src/sbt-test/source-dependencies/canon/build.sbt b/sbt-bridge/sbt-test/source-dependencies/canon/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/canon/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/canon/lib/a.jar b/sbt-bridge/sbt-test/source-dependencies/canon/lib/a.jar similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/lib/a.jar rename to sbt-bridge/sbt-test/source-dependencies/canon/lib/a.jar diff --git a/bridge/src/sbt-test/source-dependencies/canon/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/canon/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/canon/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/canon/test b/sbt-bridge/sbt-test/source-dependencies/canon/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/canon/test rename to sbt-bridge/sbt-test/source-dependencies/canon/test diff --git a/bridge/src/sbt-test/source-dependencies/compactify/build.sbt b/sbt-bridge/sbt-test/source-dependencies/compactify/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/compactify/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/compactify/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/compactify/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/compactify/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/compactify/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/compactify/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/compactify/src/main/scala/For.scala b/sbt-bridge/sbt-test/source-dependencies/compactify/src/main/scala/For.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/compactify/src/main/scala/For.scala rename to sbt-bridge/sbt-test/source-dependencies/compactify/src/main/scala/For.scala diff --git a/bridge/src/sbt-test/source-dependencies/compactify/src/main/scala/Nested.scala b/sbt-bridge/sbt-test/source-dependencies/compactify/src/main/scala/Nested.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/compactify/src/main/scala/Nested.scala rename to sbt-bridge/sbt-test/source-dependencies/compactify/src/main/scala/Nested.scala diff --git a/bridge/src/sbt-test/source-dependencies/compactify/test b/sbt-bridge/sbt-test/source-dependencies/compactify/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/compactify/test rename to sbt-bridge/sbt-test/source-dependencies/compactify/test diff --git a/bridge/src/sbt-test/source-dependencies/constants/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/constants/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/constants/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/constants/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/constants/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/constants/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/constants/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/constants/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/constants/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/constants/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/constants/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/constants/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/constants/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/constants/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/constants/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/constants/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/constants/test b/sbt-bridge/sbt-test/source-dependencies/constants/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/constants/test rename to sbt-bridge/sbt-test/source-dependencies/constants/test diff --git a/bridge/src/sbt-test/source-dependencies/default-params/A.scala b/sbt-bridge/sbt-test/source-dependencies/default-params/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/default-params/A.scala rename to sbt-bridge/sbt-test/source-dependencies/default-params/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/default-params/B.scala b/sbt-bridge/sbt-test/source-dependencies/default-params/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/default-params/B.scala rename to sbt-bridge/sbt-test/source-dependencies/default-params/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/default-params/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/default-params/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/default-params/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/default-params/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/default-params/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/default-params/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/default-params/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/default-params/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/default-params/test b/sbt-bridge/sbt-test/source-dependencies/default-params/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/default-params/test rename to sbt-bridge/sbt-test/source-dependencies/default-params/test diff --git a/bridge/src/sbt-test/source-dependencies/dup-class/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/dup-class/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/dup-class/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/dup-class/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/dup-class/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/dup-class/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/dup-class/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/dup-class/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/dup-class/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/dup-class/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/dup-class/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/dup-class/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/dup-class/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/dup-class/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/dup-class/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/dup-class/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/dup-class/test b/sbt-bridge/sbt-test/source-dependencies/dup-class/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/dup-class/test rename to sbt-bridge/sbt-test/source-dependencies/dup-class/test diff --git a/bridge/src/sbt-test/source-dependencies/empty-a/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/empty-a/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-a/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-a/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-a/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/empty-a/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-a/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-a/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-a/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/empty-a/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-a/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-a/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/empty-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-a/test b/sbt-bridge/sbt-test/source-dependencies/empty-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-a/test rename to sbt-bridge/sbt-test/source-dependencies/empty-a/test diff --git a/bridge/src/sbt-test/source-dependencies/empty-package/changes/Define1.scala b/sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Define1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-package/changes/Define1.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Define1.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-package/changes/Define2.scala b/sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Define2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-package/changes/Define2.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Define2.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-package/changes/Use.scala b/sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Use.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-package/changes/Use.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-package/changes/Use.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-package/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/empty-package/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-package/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/empty-package/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/empty-package/test b/sbt-bridge/sbt-test/source-dependencies/empty-package/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/empty-package/test rename to sbt-bridge/sbt-test/source-dependencies/empty-package/test diff --git a/bridge/src/sbt-test/source-dependencies/erasure/A.scala b/sbt-bridge/sbt-test/source-dependencies/erasure/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/erasure/A.scala rename to sbt-bridge/sbt-test/source-dependencies/erasure/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/erasure/B.scala b/sbt-bridge/sbt-test/source-dependencies/erasure/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/erasure/B.scala rename to sbt-bridge/sbt-test/source-dependencies/erasure/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/erasure/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/erasure/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/erasure/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/erasure/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/erasure/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/erasure/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/erasure/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/erasure/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/erasure/test b/sbt-bridge/sbt-test/source-dependencies/erasure/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/erasure/test rename to sbt-bridge/sbt-test/source-dependencies/erasure/test diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/changes/A3.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/changes/A3.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/changes/A3.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/changes/build2.sbt b/sbt-bridge/sbt-test/source-dependencies/export-jars/changes/build2.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/changes/build2.sbt rename to sbt-bridge/sbt-test/source-dependencies/export-jars/changes/build2.sbt diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/project/Build.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/project/Build.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/project/Build.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/project/Build.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/export-jars/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/export-jars/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/export-jars/test b/sbt-bridge/sbt-test/source-dependencies/export-jars/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/export-jars/test rename to sbt-bridge/sbt-test/source-dependencies/export-jars/test diff --git a/bridge/src/sbt-test/source-dependencies/ext/A.scala b/sbt-bridge/sbt-test/source-dependencies/ext/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/ext/A.scala rename to sbt-bridge/sbt-test/source-dependencies/ext/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/ext/build.sbt b/sbt-bridge/sbt-test/source-dependencies/ext/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/ext/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/ext/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/ext/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/ext/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/ext/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/ext/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/ext/test b/sbt-bridge/sbt-test/source-dependencies/ext/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/ext/test rename to sbt-bridge/sbt-test/source-dependencies/ext/test diff --git a/bridge/src/sbt-test/source-dependencies/false-error/A.scala b/sbt-bridge/sbt-test/source-dependencies/false-error/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/false-error/A.scala rename to sbt-bridge/sbt-test/source-dependencies/false-error/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/false-error/B.scala b/sbt-bridge/sbt-test/source-dependencies/false-error/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/false-error/B.scala rename to sbt-bridge/sbt-test/source-dependencies/false-error/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/false-error/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/false-error/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/false-error/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/false-error/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/false-error/pending b/sbt-bridge/sbt-test/source-dependencies/false-error/pending similarity index 100% rename from bridge/src/sbt-test/source-dependencies/false-error/pending rename to sbt-bridge/sbt-test/source-dependencies/false-error/pending diff --git a/bridge/src/sbt-test/source-dependencies/false-error/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/false-error/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/false-error/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/false-error/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/fbounded-existentials/fbounds.scala b/sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/fbounds.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/fbounded-existentials/fbounds.scala rename to sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/fbounds.scala diff --git a/bridge/src/sbt-test/source-dependencies/fbounded-existentials/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/fbounded-existentials/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/fbounded-existentials/test b/sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/fbounded-existentials/test rename to sbt-bridge/sbt-test/source-dependencies/fbounded-existentials/test diff --git a/bridge/src/sbt-test/source-dependencies/implicit-params/A.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-params/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-params/A.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-params/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-params/B.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-params/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-params/B.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-params/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-params/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-params/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-params/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-params/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-params/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-params/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-params/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-params/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-params/test b/sbt-bridge/sbt-test/source-dependencies/implicit-params/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-params/test rename to sbt-bridge/sbt-test/source-dependencies/implicit-params/test diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/C.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/C.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/M.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/M.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/changes/M.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/changes/M.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/test b/sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search-companion-scope/test rename to sbt-bridge/sbt-test/source-dependencies/implicit-search-companion-scope/test diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/changes/C.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/changes/C.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/changes/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/implicit-search/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit-search/test b/sbt-bridge/sbt-test/source-dependencies/implicit-search/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit-search/test rename to sbt-bridge/sbt-test/source-dependencies/implicit-search/test diff --git a/bridge/src/sbt-test/source-dependencies/implicit/A.scala b/sbt-bridge/sbt-test/source-dependencies/implicit/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit/A.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit/B.scala b/sbt-bridge/sbt-test/source-dependencies/implicit/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit/B.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/implicit/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/implicit/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/implicit/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/implicit/test b/sbt-bridge/sbt-test/source-dependencies/implicit/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/implicit/test rename to sbt-bridge/sbt-test/source-dependencies/implicit/test diff --git a/bridge/src/sbt-test/source-dependencies/import-class/A.scala b/sbt-bridge/sbt-test/source-dependencies/import-class/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-class/A.scala rename to sbt-bridge/sbt-test/source-dependencies/import-class/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-class/B.scala b/sbt-bridge/sbt-test/source-dependencies/import-class/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-class/B.scala rename to sbt-bridge/sbt-test/source-dependencies/import-class/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-class/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/import-class/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-class/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/import-class/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-class/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/import-class/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-class/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/import-class/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-class/test b/sbt-bridge/sbt-test/source-dependencies/import-class/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-class/test rename to sbt-bridge/sbt-test/source-dependencies/import-class/test diff --git a/bridge/src/sbt-test/source-dependencies/import-package/A.scala b/sbt-bridge/sbt-test/source-dependencies/import-package/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-package/A.scala rename to sbt-bridge/sbt-test/source-dependencies/import-package/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-package/B.scala b/sbt-bridge/sbt-test/source-dependencies/import-package/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-package/B.scala rename to sbt-bridge/sbt-test/source-dependencies/import-package/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-package/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/import-package/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-package/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/import-package/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/import-package/pending b/sbt-bridge/sbt-test/source-dependencies/import-package/pending similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-package/pending rename to sbt-bridge/sbt-test/source-dependencies/import-package/pending diff --git a/bridge/src/sbt-test/source-dependencies/import-package/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/import-package/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/import-package/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/import-package/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/A.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/A.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/A.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/B.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/B.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/B.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/B.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/C.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/C.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/C.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/C.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/D.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/D.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/D.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/D.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/E.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/E.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/E.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/E.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/F.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/F.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/F.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/F.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/G.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/G.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/G.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/G.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/J.java b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/J.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/J.java rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/J.java diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/build.sbt b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/inherited-deps-java/test b/sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited-deps-java/test rename to sbt-bridge/sbt-test/source-dependencies/inherited-deps-java/test diff --git a/bridge/src/sbt-test/source-dependencies/inherited_type_params/A.scala b/sbt-bridge/sbt-test/source-dependencies/inherited_type_params/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited_type_params/A.scala rename to sbt-bridge/sbt-test/source-dependencies/inherited_type_params/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/inherited_type_params/build.sbt b/sbt-bridge/sbt-test/source-dependencies/inherited_type_params/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited_type_params/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/inherited_type_params/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/inherited_type_params/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/inherited_type_params/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited_type_params/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/inherited_type_params/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/inherited_type_params/test b/sbt-bridge/sbt-test/source-dependencies/inherited_type_params/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inherited_type_params/test rename to sbt-bridge/sbt-test/source-dependencies/inherited_type_params/test diff --git a/bridge/src/sbt-test/source-dependencies/inline/A.scala b/sbt-bridge/sbt-test/source-dependencies/inline/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/A.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/C.scala b/sbt-bridge/sbt-test/source-dependencies/inline/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/C.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/changes/B1.scala b/sbt-bridge/sbt-test/source-dependencies/inline/changes/B1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/changes/B1.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/changes/B1.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/inline/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/changes/B3.scala b/sbt-bridge/sbt-test/source-dependencies/inline/changes/B3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/changes/B3.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/changes/B3.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/inline/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/inline/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/inline/test b/sbt-bridge/sbt-test/source-dependencies/inline/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/inline/test rename to sbt-bridge/sbt-test/source-dependencies/inline/test diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/A.scala b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/A.scala rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/B.scala b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/B.scala rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/changes/A3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/changes/A3.scala diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/intermediate-error/test b/sbt-bridge/sbt-test/source-dependencies/intermediate-error/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/intermediate-error/test rename to sbt-bridge/sbt-test/source-dependencies/intermediate-error/test diff --git a/bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/Outer.java b/sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/Outer.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/Outer.java rename to sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/Outer.java diff --git a/bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/build.sbt b/sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/test b/sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-analysis-serialization-error/test rename to sbt-bridge/sbt-test/source-dependencies/java-analysis-serialization-error/test diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/changes/A.java b/sbt-bridge/sbt-test/source-dependencies/java-basic/changes/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/changes/A.java rename to sbt-bridge/sbt-test/source-dependencies/java-basic/changes/A.java diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/changes/A2.java b/sbt-bridge/sbt-test/source-dependencies/java-basic/changes/A2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/changes/A2.java rename to sbt-bridge/sbt-test/source-dependencies/java-basic/changes/A2.java diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/changes/B1.java b/sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B1.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/changes/B1.java rename to sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B1.java diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/changes/B2.java b/sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/changes/B2.java rename to sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B2.java diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/changes/B3.java b/sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B3.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/changes/B3.java rename to sbt-bridge/sbt-test/source-dependencies/java-basic/changes/B3.java diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/java-basic/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/java-basic/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-basic/test b/sbt-bridge/sbt-test/source-dependencies/java-basic/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-basic/test rename to sbt-bridge/sbt-test/source-dependencies/java-basic/test diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/A.java b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/A.java rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/A.java diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/DefaultTreeTableSorter.java b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/DefaultTreeTableSorter.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/DefaultTreeTableSorter.java rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/DefaultTreeTableSorter.java diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/TreeColumnModel.java b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/TreeColumnModel.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/TreeColumnModel.java rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/TreeColumnModel.java diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/TreeTableSorter.java b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/TreeTableSorter.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/TreeTableSorter.java rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/TreeTableSorter.java diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-generic-workaround/test b/sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-generic-workaround/test rename to sbt-bridge/sbt-test/source-dependencies/java-generic-workaround/test diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/JJ.java b/sbt-bridge/sbt-test/source-dependencies/java-mixed/JJ.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/JJ.java rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/JJ.java diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/build.sbt b/sbt-bridge/sbt-test/source-dependencies/java-mixed/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/changes/S1.scala b/sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/S1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/changes/S1.scala rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/S1.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/changes/S2.scala b/sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/S2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/changes/S2.scala rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/S2.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/changes/build.sbt b/sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/changes/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/changes/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/java-mixed/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-mixed/test b/sbt-bridge/sbt-test/source-dependencies/java-mixed/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-mixed/test rename to sbt-bridge/sbt-test/source-dependencies/java-mixed/test diff --git a/bridge/src/sbt-test/source-dependencies/java-static/changes/J1.java b/sbt-bridge/sbt-test/source-dependencies/java-static/changes/J1.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-static/changes/J1.java rename to sbt-bridge/sbt-test/source-dependencies/java-static/changes/J1.java diff --git a/bridge/src/sbt-test/source-dependencies/java-static/changes/J2.java b/sbt-bridge/sbt-test/source-dependencies/java-static/changes/J2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-static/changes/J2.java rename to sbt-bridge/sbt-test/source-dependencies/java-static/changes/J2.java diff --git a/bridge/src/sbt-test/source-dependencies/java-static/changes/S.scala b/sbt-bridge/sbt-test/source-dependencies/java-static/changes/S.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-static/changes/S.scala rename to sbt-bridge/sbt-test/source-dependencies/java-static/changes/S.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-static/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/java-static/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-static/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/java-static/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/java-static/test b/sbt-bridge/sbt-test/source-dependencies/java-static/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/java-static/test rename to sbt-bridge/sbt-test/source-dependencies/java-static/test diff --git a/bridge/src/sbt-test/source-dependencies/lazy-val/A.scala b/sbt-bridge/sbt-test/source-dependencies/lazy-val/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/lazy-val/A.scala rename to sbt-bridge/sbt-test/source-dependencies/lazy-val/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/lazy-val/B.scala b/sbt-bridge/sbt-test/source-dependencies/lazy-val/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/lazy-val/B.scala rename to sbt-bridge/sbt-test/source-dependencies/lazy-val/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/lazy-val/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/lazy-val/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/lazy-val/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/lazy-val/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/lazy-val/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/lazy-val/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/lazy-val/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/lazy-val/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/lazy-val/test b/sbt-bridge/sbt-test/source-dependencies/lazy-val/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/lazy-val/test rename to sbt-bridge/sbt-test/source-dependencies/lazy-val/test diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/A.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/B.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/B.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/C.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/C.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/D.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/D.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/E.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/E.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv-java/test diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/A.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/A.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/B.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/B.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/C.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/C.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/D.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/D.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/E.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/E.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/E.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/E.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/build.sbt b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/less-inter-inv/test b/sbt-bridge/sbt-test/source-dependencies/less-inter-inv/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/less-inter-inv/test rename to sbt-bridge/sbt-test/source-dependencies/less-inter-inv/test diff --git a/bridge/src/sbt-test/source-dependencies/linearization/A.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/A.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/B.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/B.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/C.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/C.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/D.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/D.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/E.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/E.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/E.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/E.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/F.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/F.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/F.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/F.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/changes/D.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/changes/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/changes/D.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/changes/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/linearization/test b/sbt-bridge/sbt-test/source-dependencies/linearization/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/linearization/test rename to sbt-bridge/sbt-test/source-dependencies/linearization/test diff --git a/bridge/src/sbt-test/source-dependencies/named/A.scala b/sbt-bridge/sbt-test/source-dependencies/named/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/named/A.scala rename to sbt-bridge/sbt-test/source-dependencies/named/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/named/B.scala b/sbt-bridge/sbt-test/source-dependencies/named/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/named/B.scala rename to sbt-bridge/sbt-test/source-dependencies/named/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/named/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/named/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/named/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/named/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/named/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/named/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/named/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/named/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/named/test b/sbt-bridge/sbt-test/source-dependencies/named/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/named/test rename to sbt-bridge/sbt-test/source-dependencies/named/test diff --git a/bridge/src/sbt-test/source-dependencies/nested-case-class/changes/A0.scala b/sbt-bridge/sbt-test/source-dependencies/nested-case-class/changes/A0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/nested-case-class/changes/A0.scala rename to sbt-bridge/sbt-test/source-dependencies/nested-case-class/changes/A0.scala diff --git a/bridge/src/sbt-test/source-dependencies/nested-case-class/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/nested-case-class/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/nested-case-class/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/nested-case-class/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/nested-case-class/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/nested-case-class/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/nested-case-class/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/nested-case-class/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/nested-case-class/test b/sbt-bridge/sbt-test/source-dependencies/nested-case-class/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/nested-case-class/test rename to sbt-bridge/sbt-test/source-dependencies/nested-case-class/test diff --git a/bridge/src/sbt-test/source-dependencies/new-cyclic/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/new-cyclic/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-cyclic/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/new-cyclic/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-cyclic/pending b/sbt-bridge/sbt-test/source-dependencies/new-cyclic/pending similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-cyclic/pending rename to sbt-bridge/sbt-test/source-dependencies/new-cyclic/pending diff --git a/bridge/src/sbt-test/source-dependencies/new-cyclic/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/new-cyclic/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-cyclic/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/new-cyclic/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-cyclic/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/new-cyclic/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-cyclic/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/new-cyclic/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-cyclic/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/new-cyclic/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-cyclic/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/new-cyclic/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/A1.java b/sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/A1.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/A1.java rename to sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/A1.java diff --git a/bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/B0.scala b/sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/B0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/B0.scala rename to sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/B0.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/B1.scala b/sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/B1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-pkg-dep/changes/B1.scala rename to sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/changes/B1.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-pkg-dep/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-pkg-dep/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/new-pkg-dep/test b/sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/new-pkg-dep/test rename to sbt-bridge/sbt-test/source-dependencies/new-pkg-dep/test diff --git a/bridge/src/sbt-test/source-dependencies/override/A.scala b/sbt-bridge/sbt-test/source-dependencies/override/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/A.scala rename to sbt-bridge/sbt-test/source-dependencies/override/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/B.scala b/sbt-bridge/sbt-test/source-dependencies/override/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/B.scala rename to sbt-bridge/sbt-test/source-dependencies/override/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/C.scala b/sbt-bridge/sbt-test/source-dependencies/override/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/C.scala rename to sbt-bridge/sbt-test/source-dependencies/override/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/D.scala b/sbt-bridge/sbt-test/source-dependencies/override/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/D.scala rename to sbt-bridge/sbt-test/source-dependencies/override/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/override/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/override/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/override/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/override/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/override/test b/sbt-bridge/sbt-test/source-dependencies/override/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/override/test rename to sbt-bridge/sbt-test/source-dependencies/override/test diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/W.scala b/sbt-bridge/sbt-test/source-dependencies/parent-change/W.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/W.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-change/W.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/Y.scala b/sbt-bridge/sbt-test/source-dependencies/parent-change/Y.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/Y.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-change/Y.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/Z.scala b/sbt-bridge/sbt-test/source-dependencies/parent-change/Z.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/Z.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-change/Z.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/changes/W.scala b/sbt-bridge/sbt-test/source-dependencies/parent-change/changes/W.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/changes/W.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-change/changes/W.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/parent-change/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-change/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-change/test b/sbt-bridge/sbt-test/source-dependencies/parent-change/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-change/test rename to sbt-bridge/sbt-test/source-dependencies/parent-change/test diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/A.scala b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/A.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/B.scala b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/B.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/C.scala b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/C.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/parent-member-change/test b/sbt-bridge/sbt-test/source-dependencies/parent-member-change/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/parent-member-change/test rename to sbt-bridge/sbt-test/source-dependencies/parent-member-change/test diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/changes/package.scala b/sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/package.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/changes/package.scala rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/changes/package.scala diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/pkg-self/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/pkg-self/test b/sbt-bridge/sbt-test/source-dependencies/pkg-self/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/pkg-self/test rename to sbt-bridge/sbt-test/source-dependencies/pkg-self/test diff --git a/bridge/src/sbt-test/source-dependencies/qualified-access/A.scala b/sbt-bridge/sbt-test/source-dependencies/qualified-access/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/qualified-access/A.scala rename to sbt-bridge/sbt-test/source-dependencies/qualified-access/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/qualified-access/B.scala b/sbt-bridge/sbt-test/source-dependencies/qualified-access/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/qualified-access/B.scala rename to sbt-bridge/sbt-test/source-dependencies/qualified-access/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/qualified-access/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/qualified-access/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/qualified-access/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/qualified-access/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/qualified-access/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/qualified-access/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/qualified-access/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/qualified-access/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/qualified-access/test b/sbt-bridge/sbt-test/source-dependencies/qualified-access/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/qualified-access/test rename to sbt-bridge/sbt-test/source-dependencies/qualified-access/test diff --git a/bridge/src/sbt-test/source-dependencies/relative-source-error/changes/absolute.sbt b/sbt-bridge/sbt-test/source-dependencies/relative-source-error/changes/absolute.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/relative-source-error/changes/absolute.sbt rename to sbt-bridge/sbt-test/source-dependencies/relative-source-error/changes/absolute.sbt diff --git a/bridge/src/sbt-test/source-dependencies/relative-source-error/changes/relative.sbt b/sbt-bridge/sbt-test/source-dependencies/relative-source-error/changes/relative.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/relative-source-error/changes/relative.sbt rename to sbt-bridge/sbt-test/source-dependencies/relative-source-error/changes/relative.sbt diff --git a/bridge/src/sbt-test/source-dependencies/relative-source-error/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/relative-source-error/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/relative-source-error/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/relative-source-error/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/relative-source-error/src/A.scala b/sbt-bridge/sbt-test/source-dependencies/relative-source-error/src/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/relative-source-error/src/A.scala rename to sbt-bridge/sbt-test/source-dependencies/relative-source-error/src/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/relative-source-error/test b/sbt-bridge/sbt-test/source-dependencies/relative-source-error/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/relative-source-error/test rename to sbt-bridge/sbt-test/source-dependencies/relative-source-error/test diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-a/changes/1.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-a/changes/1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-a/changes/1.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-a/changes/1.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-a/test b/sbt-bridge/sbt-test/source-dependencies/remove-test-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-a/test rename to sbt-bridge/sbt-test/source-dependencies/remove-test-a/test diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B3.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B3.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B3.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B4.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B4.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B4.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B4.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B5.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B5.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/changes/B5.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/changes/B5.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/remove-test-b/test b/sbt-bridge/sbt-test/source-dependencies/remove-test-b/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/remove-test-b/test rename to sbt-bridge/sbt-test/source-dependencies/remove-test-b/test diff --git a/bridge/src/sbt-test/source-dependencies/repeated-parameters/A.scala b/sbt-bridge/sbt-test/source-dependencies/repeated-parameters/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/repeated-parameters/A.scala rename to sbt-bridge/sbt-test/source-dependencies/repeated-parameters/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/repeated-parameters/B.scala b/sbt-bridge/sbt-test/source-dependencies/repeated-parameters/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/repeated-parameters/B.scala rename to sbt-bridge/sbt-test/source-dependencies/repeated-parameters/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/repeated-parameters/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/repeated-parameters/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/repeated-parameters/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/repeated-parameters/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/repeated-parameters/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/repeated-parameters/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/repeated-parameters/test b/sbt-bridge/sbt-test/source-dependencies/repeated-parameters/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/repeated-parameters/test rename to sbt-bridge/sbt-test/source-dependencies/repeated-parameters/test diff --git a/bridge/src/sbt-test/source-dependencies/replace-test-a/changes/first.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/replace-test-a/changes/first.scala rename to sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala diff --git a/bridge/src/sbt-test/source-dependencies/replace-test-a/changes/second.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/replace-test-a/changes/second.scala rename to sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala diff --git a/bridge/src/sbt-test/source-dependencies/replace-test-a/project/Build.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/replace-test-a/project/Build.scala rename to sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala diff --git a/bridge/src/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/replace-test-a/test b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/replace-test-a/test rename to sbt-bridge/sbt-test/source-dependencies/replace-test-a/test diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/build.sbt b/sbt-bridge/sbt-test/source-dependencies/resident-java/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/resident-java/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/changes/A1.java b/sbt-bridge/sbt-test/source-dependencies/resident-java/changes/A1.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/changes/A1.java rename to sbt-bridge/sbt-test/source-dependencies/resident-java/changes/A1.java diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/changes/A2.java b/sbt-bridge/sbt-test/source-dependencies/resident-java/changes/A2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/changes/A2.java rename to sbt-bridge/sbt-test/source-dependencies/resident-java/changes/A2.java diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/changes/B0.scala b/sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/changes/B0.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B0.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/changes/B1.scala b/sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/changes/B1.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B1.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-java/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/resident-java/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-java/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-java/test b/sbt-bridge/sbt-test/source-dependencies/resident-java/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-java/test rename to sbt-bridge/sbt-test/source-dependencies/resident-java/test diff --git a/bridge/src/sbt-test/source-dependencies/resident-package-object/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-package-object/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-package-object/changes/package.scala b/sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/package.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-package-object/changes/package.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/package.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-package-object/changes/package2.scala b/sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/package2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-package-object/changes/package2.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-package-object/changes/package2.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-package-object/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/resident-package-object/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-package-object/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/resident-package-object/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/resident-package-object/test b/sbt-bridge/sbt-test/source-dependencies/resident-package-object/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/resident-package-object/test rename to sbt-bridge/sbt-test/source-dependencies/resident-package-object/test diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/build.sbt b/sbt-bridge/sbt-test/source-dependencies/restore-classes/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/restore-classes/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/restore-classes/test b/sbt-bridge/sbt-test/source-dependencies/restore-classes/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/restore-classes/test rename to sbt-bridge/sbt-test/source-dependencies/restore-classes/test diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/A.scala b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/A.scala rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/B.scala b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/B.scala rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/build.sbt b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/changes/B.scala b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/changes/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/changes/B.scala rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/changes/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/same-file-used-names/test b/sbt-bridge/sbt-test/source-dependencies/same-file-used-names/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/same-file-used-names/test rename to sbt-bridge/sbt-test/source-dependencies/same-file-used-names/test diff --git a/bridge/src/sbt-test/source-dependencies/sealed/A.scala b/sbt-bridge/sbt-test/source-dependencies/sealed/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/sealed/A.scala rename to sbt-bridge/sbt-test/source-dependencies/sealed/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/sealed/D.scala b/sbt-bridge/sbt-test/source-dependencies/sealed/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/sealed/D.scala rename to sbt-bridge/sbt-test/source-dependencies/sealed/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/sealed/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/sealed/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/sealed/pending b/sbt-bridge/sbt-test/source-dependencies/sealed/pending similarity index 100% rename from bridge/src/sbt-test/source-dependencies/sealed/pending rename to sbt-bridge/sbt-test/source-dependencies/sealed/pending diff --git a/bridge/src/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/B.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/B.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/changes/A0.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/changes/A0.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A0.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/changes/A3.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/changes/A3.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/changes/A3.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/signature-change/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/signature-change/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/signature-change/test b/sbt-bridge/sbt-test/source-dependencies/signature-change/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/signature-change/test rename to sbt-bridge/sbt-test/source-dependencies/signature-change/test diff --git a/bridge/src/sbt-test/source-dependencies/specialized/A.scala b/sbt-bridge/sbt-test/source-dependencies/specialized/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/specialized/A.scala rename to sbt-bridge/sbt-test/source-dependencies/specialized/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/specialized/B.scala b/sbt-bridge/sbt-test/source-dependencies/specialized/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/specialized/B.scala rename to sbt-bridge/sbt-test/source-dependencies/specialized/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/specialized/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/specialized/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/specialized/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/specialized/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/specialized/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/specialized/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/specialized/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/specialized/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/specialized/test b/sbt-bridge/sbt-test/source-dependencies/specialized/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/specialized/test rename to sbt-bridge/sbt-test/source-dependencies/specialized/test diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/A.scala b/sbt-bridge/sbt-test/source-dependencies/stability-change/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/A.scala rename to sbt-bridge/sbt-test/source-dependencies/stability-change/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/B.scala b/sbt-bridge/sbt-test/source-dependencies/stability-change/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/B.scala rename to sbt-bridge/sbt-test/source-dependencies/stability-change/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/C.scala b/sbt-bridge/sbt-test/source-dependencies/stability-change/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/C.scala rename to sbt-bridge/sbt-test/source-dependencies/stability-change/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/stability-change/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/stability-change/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/stability-change/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/stability-change/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/stability-change/test b/sbt-bridge/sbt-test/source-dependencies/stability-change/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/stability-change/test rename to sbt-bridge/sbt-test/source-dependencies/stability-change/test diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/A.scala b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/A.scala rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/B.scala b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/B.scala rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/dbg.sbt b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/dbg.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/dbg.sbt rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/dbg.sbt diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/synthetic-companion/test b/sbt-bridge/sbt-test/source-dependencies/synthetic-companion/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/synthetic-companion/test rename to sbt-bridge/sbt-test/source-dependencies/synthetic-companion/test diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/build.sbt b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-member-modified/test b/sbt-bridge/sbt-test/source-dependencies/trait-member-modified/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-member-modified/test rename to sbt-bridge/sbt-test/source-dependencies/trait-member-modified/test diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-object/A.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-object/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-object/A.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-object/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-object/B.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-object/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-object/B.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-object/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-object/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-object/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-object/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-object/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-object/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-object/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-object/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-object/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-object/test b/sbt-bridge/sbt-test/source-dependencies/trait-private-object/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-object/test rename to sbt-bridge/sbt-test/source-dependencies/trait-private-object/test diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/B.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/B.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A0.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A0.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A0.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-private-var/test b/sbt-bridge/sbt-test/source-dependencies/trait-private-var/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-private-var/test rename to sbt-bridge/sbt-test/source-dependencies/trait-private-var/test diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/A.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/A.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/B.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/B.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/Main.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/Main.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/Main.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/Main.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/changes/B3.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/changes/B3.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/changes/B3.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/changes/B3.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/trait-super/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/trait-super/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/trait-super/test b/sbt-bridge/sbt-test/source-dependencies/trait-super/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/trait-super/test rename to sbt-bridge/sbt-test/source-dependencies/trait-super/test diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-a/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/C.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/src/main/scala/C.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/src/main/scala/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-a/test b/sbt-bridge/sbt-test/source-dependencies/transitive-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-a/test rename to sbt-bridge/sbt-test/source-dependencies/transitive-a/test diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-b/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-b/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/C.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/src/main/scala/C.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/src/main/scala/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-b/test b/sbt-bridge/sbt-test/source-dependencies/transitive-b/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-b/test rename to sbt-bridge/sbt-test/source-dependencies/transitive-b/test diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/A.java b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/A.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/A.java rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/A.java diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/B.java b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/B.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/B.java rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/B.java diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/C.java b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/C.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/C.java rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/C.java diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/changes/A2.java b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/changes/A2.java similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/changes/A2.java rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/changes/A2.java diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit-java/test b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit-java/test rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit-java/test diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/A.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/A.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/B.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/B.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/C.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/C.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-inherit/test b/sbt-bridge/sbt-test/source-dependencies/transitive-inherit/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-inherit/test rename to sbt-bridge/sbt-test/source-dependencies/transitive-inherit/test diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/build.sbt b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/A.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/A.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/B.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/B.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/C.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/C.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/D.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/D.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/X.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/X.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/X.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/X.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/Y.scala b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/Y.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/Y.scala rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/src/main/scala/Y.scala diff --git a/bridge/src/sbt-test/source-dependencies/transitive-memberRef/test b/sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/transitive-memberRef/test rename to sbt-bridge/sbt-test/source-dependencies/transitive-memberRef/test diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/A.scala b/sbt-bridge/sbt-test/source-dependencies/type-alias/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/A.scala rename to sbt-bridge/sbt-test/source-dependencies/type-alias/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/B.scala b/sbt-bridge/sbt-test/source-dependencies/type-alias/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/B.scala rename to sbt-bridge/sbt-test/source-dependencies/type-alias/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/build.sbt b/sbt-bridge/sbt-test/source-dependencies/type-alias/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/type-alias/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/type-alias/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/type-alias/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/type-alias/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/type-alias/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-alias/test b/sbt-bridge/sbt-test/source-dependencies/type-alias/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-alias/test rename to sbt-bridge/sbt-test/source-dependencies/type-alias/test diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/A.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/A.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/B.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/B.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/C.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/C.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/D.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/D.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/type-parameter/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/type-parameter/test b/sbt-bridge/sbt-test/source-dependencies/type-parameter/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/type-parameter/test rename to sbt-bridge/sbt-test/source-dependencies/type-parameter/test diff --git a/bridge/src/sbt-test/source-dependencies/typeref-only/A.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-only/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-only/A.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-only/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-only/B.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-only/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-only/B.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-only/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-only/build.sbt b/sbt-bridge/sbt-test/source-dependencies/typeref-only/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-only/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/typeref-only/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/typeref-only/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-only/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-only/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-only/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-only/test b/sbt-bridge/sbt-test/source-dependencies/typeref-only/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-only/test rename to sbt-bridge/sbt-test/source-dependencies/typeref-only/test diff --git a/bridge/src/sbt-test/source-dependencies/typeref-return/A.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-return/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-return/A.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-return/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-return/B.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-return/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-return/B.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-return/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-return/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-return/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-return/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-return/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-return/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/typeref-return/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-return/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/typeref-return/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/typeref-return/test b/sbt-bridge/sbt-test/source-dependencies/typeref-return/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/typeref-return/test rename to sbt-bridge/sbt-test/source-dependencies/typeref-return/test diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/A.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/A.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/B.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/B.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/C.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/C.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/D.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/D.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/D.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/D.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-a/test b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-a/test rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-a/test diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-b/A.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-b/A.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-b/B.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-b/B.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-b/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-b/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-b/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-b/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/types-in-used-names-b/test b/sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/types-in-used-names-b/test rename to sbt-bridge/sbt-test/source-dependencies/types-in-used-names-b/test diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/A.scala b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/A.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/B.scala b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/B.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/C.scala b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/C.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/build.sbt b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/changes/A2.scala b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/changes/A2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/changes/A2.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/changes/A2.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class-underlying/test b/sbt-bridge/sbt-test/source-dependencies/value-class-underlying/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class-underlying/test rename to sbt-bridge/sbt-test/source-dependencies/value-class-underlying/test diff --git a/bridge/src/sbt-test/source-dependencies/value-class/build.sbt b/sbt-bridge/sbt-test/source-dependencies/value-class/build.sbt similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/build.sbt rename to sbt-bridge/sbt-test/source-dependencies/value-class/build.sbt diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/A0.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/A0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/A0.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/A0.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/A1.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/A1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/A1.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/A1.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B0.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/B0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/B0.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/B0.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B1.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/B1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/B1.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/B1.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B2.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/B2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/B2.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/B2.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C0.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/C0.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/C0.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/C0.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C1.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/C1.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/C1.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/C1.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C2.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/changes/C2.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/changes/C2.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/changes/C2.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/value-class/test b/sbt-bridge/sbt-test/source-dependencies/value-class/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/value-class/test rename to sbt-bridge/sbt-test/source-dependencies/value-class/test diff --git a/bridge/src/sbt-test/source-dependencies/var/A.scala b/sbt-bridge/sbt-test/source-dependencies/var/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/var/A.scala rename to sbt-bridge/sbt-test/source-dependencies/var/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/var/B.scala b/sbt-bridge/sbt-test/source-dependencies/var/B.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/var/B.scala rename to sbt-bridge/sbt-test/source-dependencies/var/B.scala diff --git a/bridge/src/sbt-test/source-dependencies/var/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/var/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/var/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/var/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/var/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/var/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/var/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/var/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/var/test b/sbt-bridge/sbt-test/source-dependencies/var/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/var/test rename to sbt-bridge/sbt-test/source-dependencies/var/test diff --git a/bridge/src/sbt-test/source-dependencies/variance/A.scala b/sbt-bridge/sbt-test/source-dependencies/variance/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/variance/A.scala rename to sbt-bridge/sbt-test/source-dependencies/variance/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/variance/C.scala b/sbt-bridge/sbt-test/source-dependencies/variance/C.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/variance/C.scala rename to sbt-bridge/sbt-test/source-dependencies/variance/C.scala diff --git a/bridge/src/sbt-test/source-dependencies/variance/changes/A.scala b/sbt-bridge/sbt-test/source-dependencies/variance/changes/A.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/variance/changes/A.scala rename to sbt-bridge/sbt-test/source-dependencies/variance/changes/A.scala diff --git a/bridge/src/sbt-test/source-dependencies/variance/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/variance/project/DottyInjectedPlugin.scala similarity index 100% rename from bridge/src/sbt-test/source-dependencies/variance/project/DottyInjectedPlugin.scala rename to sbt-bridge/sbt-test/source-dependencies/variance/project/DottyInjectedPlugin.scala diff --git a/bridge/src/sbt-test/source-dependencies/variance/test b/sbt-bridge/sbt-test/source-dependencies/variance/test similarity index 100% rename from bridge/src/sbt-test/source-dependencies/variance/test rename to sbt-bridge/sbt-test/source-dependencies/variance/test diff --git a/bridge/src/main/scala/xsbt/CompilerClassLoader.scala b/sbt-bridge/src/xsbt/CompilerClassLoader.scala similarity index 100% rename from bridge/src/main/scala/xsbt/CompilerClassLoader.scala rename to sbt-bridge/src/xsbt/CompilerClassLoader.scala diff --git a/bridge/src/main/scala/xsbt/CompilerInterface.scala b/sbt-bridge/src/xsbt/CompilerInterface.scala similarity index 100% rename from bridge/src/main/scala/xsbt/CompilerInterface.scala rename to sbt-bridge/src/xsbt/CompilerInterface.scala diff --git a/bridge/src/main/scala/xsbt/ConsoleInterface.scala b/sbt-bridge/src/xsbt/ConsoleInterface.scala similarity index 100% rename from bridge/src/main/scala/xsbt/ConsoleInterface.scala rename to sbt-bridge/src/xsbt/ConsoleInterface.scala diff --git a/bridge/src/main/scala/xsbt/DelegatingReporter.scala b/sbt-bridge/src/xsbt/DelegatingReporter.scala similarity index 100% rename from bridge/src/main/scala/xsbt/DelegatingReporter.scala rename to sbt-bridge/src/xsbt/DelegatingReporter.scala diff --git a/bridge/src/main/scala/xsbt/Log.scala b/sbt-bridge/src/xsbt/Log.scala similarity index 100% rename from bridge/src/main/scala/xsbt/Log.scala rename to sbt-bridge/src/xsbt/Log.scala diff --git a/bridge/src/main/scala/xsbt/Message.scala b/sbt-bridge/src/xsbt/Message.scala similarity index 100% rename from bridge/src/main/scala/xsbt/Message.scala rename to sbt-bridge/src/xsbt/Message.scala diff --git a/bridge/src/main/scala/xsbt/ScaladocInterface.scala b/sbt-bridge/src/xsbt/ScaladocInterface.scala similarity index 100% rename from bridge/src/main/scala/xsbt/ScaladocInterface.scala rename to sbt-bridge/src/xsbt/ScaladocInterface.scala diff --git a/bridge/src/test/scala/xsbt/DependencySpecification.scala b/sbt-bridge/test/xsbt/DependencySpecification.scala similarity index 100% rename from bridge/src/test/scala/xsbt/DependencySpecification.scala rename to sbt-bridge/test/xsbt/DependencySpecification.scala diff --git a/bridge/src/test/scala/xsbt/ExtractAPISpecification.scala b/sbt-bridge/test/xsbt/ExtractAPISpecification.scala similarity index 100% rename from bridge/src/test/scala/xsbt/ExtractAPISpecification.scala rename to sbt-bridge/test/xsbt/ExtractAPISpecification.scala diff --git a/bridge/src/test/scala/xsbt/ExtractUsedNamesSpecification.scala b/sbt-bridge/test/xsbt/ExtractUsedNamesSpecification.scala similarity index 100% rename from bridge/src/test/scala/xsbt/ExtractUsedNamesSpecification.scala rename to sbt-bridge/test/xsbt/ExtractUsedNamesSpecification.scala diff --git a/bridge/src/test/scala/xsbt/ScalaCompilerForUnitTesting.scala b/sbt-bridge/test/xsbt/ScalaCompilerForUnitTesting.scala similarity index 100% rename from bridge/src/test/scala/xsbt/ScalaCompilerForUnitTesting.scala rename to sbt-bridge/test/xsbt/ScalaCompilerForUnitTesting.scala diff --git a/bridge/src/test/scala/xsbti/TestCallback.scala b/sbt-bridge/test/xsbti/TestCallback.scala similarity index 100% rename from bridge/src/test/scala/xsbti/TestCallback.scala rename to sbt-bridge/test/xsbti/TestCallback.scala diff --git a/src/dotty/runtime/LegacyApp.scala b/src/dotty/runtime/LegacyApp.scala deleted file mode 100644 index 2c4b295d05b5..000000000000 --- a/src/dotty/runtime/LegacyApp.scala +++ /dev/null @@ -1,9 +0,0 @@ -package dotty.runtime - - -/** - * replaces the `scala.App` class which relies on `DelayedInit` functionality, not supported by Dotty. - */ -class LegacyApp { - def main(args: Array[String]): Unit = () -} diff --git a/src/typedapply.scala b/src/typedapply.scala deleted file mode 100644 index 8496d528bb67..000000000000 --- a/src/typedapply.scala +++ /dev/null @@ -1,11 +0,0 @@ -object typedapply { - - def foo[X, Y](x: X, y: Y) = (x, y) - - foo(1, "abc") - - foo[Int, String](1, "abc") - - foo[Int, String] _ - -} diff --git a/test/dotc/scala-collections.whitelist b/test/dotc/scala-collections.whitelist deleted file mode 100644 index 29db48cf2c31..000000000000 --- a/test/dotc/scala-collections.whitelist +++ /dev/null @@ -1,282 +0,0 @@ -./scala-scala/src/library/scala/runtime/RichBoolean.scala -./scala-scala/src/library/scala/runtime/RichByte.scala -./scala-scala/src/library/scala/runtime/RichChar.scala -./scala-scala/src/library/scala/runtime/RichDouble.scala -./scala-scala/src/library/scala/runtime/RichException.scala -./scala-scala/src/library/scala/runtime/RichFloat.scala -./scala-scala/src/library/scala/runtime/RichInt.scala -./scala-scala/src/library/scala/runtime/RichLong.scala -./scala-scala/src/library/scala/runtime/RichShort.scala -./scala-scala/src/library/scala/Array.scala -./scala-scala/src/library/scala/NotImplementedError.scala -./scala-scala/src/library/scala/AnyValCompanion.scala - -# AnyVal is a synthesized class in Dotty, cannot be compiled from source. -#./scala-scala/src/library/scala/AnyVal.scala - -./scala-scala/src/library/scala/Boolean.scala -./scala-scala/src/library/scala/Byte.scala -./scala-scala/src/library/scala/Char.scala -./scala-scala/src/library/scala/Double.scala -./scala-scala/src/library/scala/Float.scala -./scala-scala/src/library/scala/Int.scala -./scala-scala/src/library/scala/Long.scala -./scala-scala/src/library/scala/Short.scala -./scala-scala/src/library/scala/Unit.scala -./scala-scala/src/library/scala/Cloneable.scala -./scala-scala/src/library/scala/DelayedInit.scala -./scala-scala/src/library/scala/Dynamic.scala -./scala-scala/src/library/scala/Equals.scala -./scala-scala/src/library/scala/Immutable.scala -./scala-scala/src/library/scala/MatchError.scala -./scala-scala/src/library/scala/Mutable.scala -./scala-scala/src/library/scala/NotNull.scala -./scala-scala/src/library/scala/Option.scala -./scala-scala/src/library/scala/PartialFunction.scala -./scala-scala/src/library/scala/Predef.scala -./scala-scala/src/library/scala/Product.scala -./scala-scala/src/library/scala/Product1.scala -./scala-scala/src/library/scala/Product10.scala -./scala-scala/src/library/scala/Product11.scala -./scala-scala/src/library/scala/Product12.scala -./scala-scala/src/library/scala/Product13.scala -./scala-scala/src/library/scala/Product14.scala -./scala-scala/src/library/scala/Product15.scala -./scala-scala/src/library/scala/Product16.scala -./scala-scala/src/library/scala/Product17.scala -./scala-scala/src/library/scala/Product18.scala -./scala-scala/src/library/scala/Product19.scala -./scala-scala/src/library/scala/Product2.scala -./scala-scala/src/library/scala/Product20.scala -./scala-scala/src/library/scala/Product21.scala -./scala-scala/src/library/scala/Product22.scala -./scala-scala/src/library/scala/Product3.scala -./scala-scala/src/library/scala/Product4.scala -./scala-scala/src/library/scala/Product5.scala -./scala-scala/src/library/scala/Product6.scala -./scala-scala/src/library/scala/Product7.scala -./scala-scala/src/library/scala/Product8.scala -./scala-scala/src/library/scala/Product9.scala -./scala-scala/src/library/scala/Proxy.scala -./scala-scala/src/library/scala/SerialVersionUID.scala -./scala-scala/src/library/scala/Serializable.scala -./scala-scala/src/library/scala/Specializable.scala -./scala-scala/src/library/scala/Symbol.scala -./scala-scala/src/library/scala/UninitializedError.scala -./scala-scala/src/library/scala/UninitializedFieldError.scala -./scala-scala/src/library/scala/collection/IndexedSeqOptimized.scala -./scala-scala/src/library/scala/collection/IterableLike.scala -./scala-scala/src/library/scala/collection/Iterator.scala -./scala-scala/src/library/scala/collection/LinearSeqOptimized.scala -./scala-scala/src/library/scala/collection/TraversableOnce.scala -./scala-scala/src/library/scala/collection/generic/Growable.scala -./scala-scala/src/library/scala/collection/generic/TraversableForwarder.scala -./scala-scala/src/library/scala/collection/immutable/BitSet.scala -./scala-scala/src/library/scala/collection/immutable/DefaultMap.scala -./scala-scala/src/library/scala/collection/immutable/IndexedSeq.scala -./scala-scala/src/library/scala/collection/immutable/Iterable.scala -./scala-scala/src/library/scala/collection/immutable/LinearSeq.scala -./scala-scala/src/library/scala/collection/immutable/List.scala -./scala-scala/src/library/scala/collection/immutable/MapProxy.scala -./scala-scala/src/library/scala/collection/immutable/PagedSeq.scala -./scala-scala/src/library/scala/collection/immutable/Queue.scala -./scala-scala/src/library/scala/collection/immutable/Seq.scala -./scala-scala/src/library/scala/collection/mutable/IndexedSeq.scala -./scala-scala/src/library/scala/collection/mutable/ListBuffer.scala -./scala-scala/src/library/scala/collection/mutable/BufferLike.scala - -./scala-scala/src/library/scala/collection/mutable/ArrayBuilder.scala - -./scala-scala/src/library/scala/collection/immutable/Stack.scala -./scala-scala/src/library/scala/collection/immutable/StringLike.scala -./scala-scala/src/library/scala/collection/immutable/StringOps.scala -./scala-scala/src/library/scala/collection/immutable/Traversable.scala -./scala-scala/src/library/scala/collection/immutable/Vector.scala -./scala-scala/src/library/scala/collection/immutable/WrappedString.scala -./scala-scala/src/library/scala/collection/mutable/Builder.scala -./scala-scala/src/library/scala/collection/mutable/GrowingBuilder.scala -./scala-scala/src/library/scala/collection/mutable/WrappedArray.scala -./scala-scala/src/library/scala/collection/mutable/WrappedArrayBuilder.scala -./scala-scala/src/library/scala/deprecated.scala -./scala-scala/src/library/scala/deprecatedInheritance.scala -./scala-scala/src/library/scala/deprecatedName.scala -./scala-scala/src/library/scala/deprecatedOverriding.scala -./scala-scala/src/library/scala/inline.scala -./scala-scala/src/library/scala/language.scala -./scala-scala/src/library/scala/languageFeature.scala -./scala-scala/src/library/scala/math/Equiv.scala -./scala-scala/src/library/scala/math/Fractional.scala -./scala-scala/src/library/scala/math/Integral.scala -./scala-scala/src/library/scala/math/Numeric.scala -./scala-scala/src/library/scala/math/Ordered.scala -./scala-scala/src/library/scala/math/Ordering.scala -./scala-scala/src/library/scala/math/PartialOrdering.scala -./scala-scala/src/library/scala/math/ScalaNumericConversions.scala -./scala-scala/src/library/scala/math/package.scala -./scala-scala/src/library/scala/native.scala -./scala-scala/src/library/scala/noinline.scala -./scala-scala/src/library/scala/package.scala -./scala-scala/src/library/scala/remote.scala -./scala-scala/src/library/scala/specialized.scala -./scala-scala/src/library/scala/throws.scala -./scala-scala/src/library/scala/transient.scala -./scala-scala/src/library/scala/unchecked.scala -./scala-scala/src/library/scala/volatile.scala -./scala-scala/src/library/scala/collection/BitSet.scala -./scala-scala/src/library/scala/collection/BitSetLike.scala -./scala-scala/src/library/scala/collection/BufferedIterator.scala -./scala-scala/src/library/scala/collection/CustomParallelizable.scala -./scala-scala/src/library/scala/collection/DefaultMap.scala -./scala-scala/src/library/scala/collection/GenIterable.scala -./scala-scala/src/library/scala/collection/GenIterableLike.scala -./scala-scala/src/library/scala/collection/GenMap.scala -./scala-scala/src/library/scala/collection/GenMapLike.scala -./scala-scala/src/library/scala/collection/GenSeq.scala -./scala-scala/src/library/scala/collection/GenSeqLike.scala -./scala-scala/src/library/scala/collection/GenSet.scala -./scala-scala/src/library/scala/collection/GenSetLike.scala -./scala-scala/src/library/scala/collection/GenTraversable.scala -./scala-scala/src/library/scala/collection/GenTraversableLike.scala - -./scala-scala/src/library/scala/collection/GenTraversableOnce.scala -./scala-scala/src/library/scala/collection/IndexedSeq.scala -./scala-scala/src/library/scala/collection/IndexedSeqLike.scala -./scala-scala/src/library/scala/collection/Iterable.scala -./scala-scala/src/library/scala/collection/IterableProxy.scala -./scala-scala/src/library/scala/collection/IterableProxyLike.scala -./scala-scala/src/library/scala/collection/JavaConversions.scala -./scala-scala/src/library/scala/collection/JavaConverters.scala -./scala-scala/src/library/scala/collection/LinearSeq.scala -./scala-scala/src/library/scala/collection/LinearSeqLike.scala -./scala-scala/src/library/scala/collection/Map.scala -./scala-scala/src/library/scala/collection/MapLike.scala -./scala-scala/src/library/scala/collection/MapProxy.scala -./scala-scala/src/library/scala/collection/MapProxyLike.scala -./scala-scala/src/library/scala/collection/Parallel.scala -./scala-scala/src/library/scala/collection/Parallelizable.scala -./scala-scala/src/library/scala/collection/Searching.scala -./scala-scala/src/library/scala/collection/Seq.scala -./scala-scala/src/library/scala/collection/SeqExtractors.scala -./scala-scala/src/library/scala/collection/SeqLike.scala -./scala-scala/src/library/scala/collection/SeqProxy.scala -./scala-scala/src/library/scala/collection/SeqProxyLike.scala -./scala-scala/src/library/scala/collection/Set.scala -./scala-scala/src/library/scala/collection/SetLike.scala -./scala-scala/src/library/scala/collection/SetProxy.scala -./scala-scala/src/library/scala/collection/SetProxyLike.scala -./scala-scala/src/library/scala/collection/SortedMap.scala -./scala-scala/src/library/scala/collection/SortedMapLike.scala -./scala-scala/src/library/scala/collection/SortedSet.scala -./scala-scala/src/library/scala/collection/SortedSetLike.scala -./scala-scala/src/library/scala/collection/Traversable.scala -./scala-scala/src/library/scala/collection/TraversableLike.scala - -./scala-scala/src/library/scala/collection/TraversableProxy.scala -./scala-scala/src/library/scala/collection/TraversableProxyLike.scala -./scala-scala/src/library/scala/collection/package.scala - -./scala-scala/src/library/scala/collection/IterableView.scala -./scala-scala/src/library/scala/collection/SeqView.scala -./scala-scala/src/library/scala/collection/TraversableView.scala - -## those classes use early initialisers. -./scala-scala/src/library/scala/collection/TraversableViewLike.scala -./scala-scala/src/library/scala/collection/IterableViewLike.scala -./scala-scala/src/library/scala/collection/SeqViewLike.scala -./scala-scala/src/library/scala/collection/mutable/IndexedSeqView.scala -./scala-scala/src/library/scala/collection/immutable/StreamViewLike.scala -./scala-scala/src/library/scala/collection/immutable/TrieIterator.scala - -./scala-scala/src/library/scala/collection/immutable/HashMap.scala -./scala-scala/src/library/scala/collection/immutable/HashSet.scala - - -./scala-scala/src/library/scala/collection/immutable/IntMap.scala -./scala-scala/src/library/scala/collection/immutable/ListMap.scala -./scala-scala/src/library/scala/collection/immutable/ListSet.scala -./scala-scala/src/library/scala/collection/immutable/LongMap.scala - -./scala-scala/src/library/scala/collection/immutable/Map.scala -./scala-scala/src/library/scala/collection/immutable/MapLike.scala -./scala-scala/src/library/scala/collection/immutable/NumericRange.scala -./scala-scala/src/library/scala/collection/immutable/Range.scala -./scala-scala/src/library/scala/collection/immutable/RedBlackTree.scala - -# had a variance error, now fixed. -./scala-scala/src/library/scala/collection/immutable/Set.scala - -./scala-scala/src/library/scala/collection/immutable/SetProxy.scala - -# https://github.com/lampepfl/dotty/issues/942 -./scala-scala/src/library/scala/collection/immutable/SortedMap.scala -./scala-scala/src/library/scala/collection/immutable/SortedSet.scala - -# https://github.com/lampepfl/dotty/issues/941 -./scala-scala/src/library/scala/collection/immutable/Stream.scala -./scala-scala/src/library/scala/collection/immutable/StreamView.scala - -./scala-scala/src/library/scala/collection/immutable/TreeMap.scala -./scala-scala/src/library/scala/collection/immutable/TreeSet.scala -./scala-scala/src/library/scala/collection/generic/BitOperations.scala -./scala-scala/src/library/scala/collection/generic/BitSetFactory.scala -./scala-scala/src/library/scala/collection/generic/CanBuildFrom.scala -./scala-scala/src/library/scala/collection/generic/CanCombineFrom.scala -./scala-scala/src/library/scala/collection/generic/ClassTagTraversableFactory.scala -./scala-scala/src/library/scala/collection/generic/Clearable.scala -./scala-scala/src/library/scala/collection/generic/FilterMonadic.scala -./scala-scala/src/library/scala/collection/generic/GenMapFactory.scala -./scala-scala/src/library/scala/collection/generic/GenSeqFactory.scala -./scala-scala/src/library/scala/collection/generic/GenSetFactory.scala -./scala-scala/src/library/scala/collection/generic/GenTraversableFactory.scala -./scala-scala/src/library/scala/collection/generic/GenericClassTagCompanion.scala -./scala-scala/src/library/scala/collection/generic/GenericClassTagTraversableTemplate.scala -./scala-scala/src/library/scala/collection/generic/GenericCompanion.scala -./scala-scala/src/library/scala/collection/generic/GenericOrderedCompanion.scala -./scala-scala/src/library/scala/collection/generic/GenericOrderedTraversableTemplate.scala -./scala-scala/src/library/scala/collection/generic/GenericParCompanion.scala -./scala-scala/src/library/scala/collection/generic/GenericParTemplate.scala -./scala-scala/src/library/scala/collection/generic/GenericSeqCompanion.scala -./scala-scala/src/library/scala/collection/generic/GenericSetTemplate.scala - -./scala-scala/src/library/scala/collection/generic/GenericTraversableTemplate.scala - -./scala-scala/src/library/scala/collection/generic/HasNewBuilder.scala -./scala-scala/src/library/scala/collection/generic/HasNewCombiner.scala - -./scala-scala/src/library/scala/collection/generic/ImmutableMapFactory.scala -./scala-scala/src/library/scala/collection/generic/ImmutableSetFactory.scala - -./scala-scala/src/library/scala/collection/generic/ImmutableSortedMapFactory.scala -./scala-scala/src/library/scala/collection/generic/ImmutableSortedSetFactory.scala -./scala-scala/src/library/scala/collection/generic/IndexedSeqFactory.scala -./scala-scala/src/library/scala/collection/generic/IsSeqLike.scala -./scala-scala/src/library/scala/collection/generic/IsTraversableLike.scala -./scala-scala/src/library/scala/collection/generic/IsTraversableOnce.scala -./scala-scala/src/library/scala/collection/generic/IterableForwarder.scala - -./scala-scala/src/library/scala/collection/generic/MapFactory.scala -./scala-scala/src/library/scala/collection/generic/MutableMapFactory.scala -./scala-scala/src/library/scala/collection/generic/MutableSetFactory.scala -./scala-scala/src/library/scala/collection/generic/ParMapFactory.scala -./scala-scala/src/library/scala/collection/generic/SeqFactory.scala -./scala-scala/src/library/scala/collection/generic/SortedMapFactory.scala -./scala-scala/src/library/scala/collection/generic/SortedSetFactory.scala -./scala-scala/src/library/scala/collection/generic/SetFactory.scala -./scala-scala/src/library/scala/collection/generic/ParFactory.scala - -# https://github.com/lampepfl/dotty/issues/974 -> @smarter -./scala-scala/src/library/scala/collection/generic/MutableSortedSetFactory.scala - -# cyclic reference, maybe related to #974 -> @smarter -#./scala-scala/src/library/scala/collection/generic/ParSetFactory.scala - -./scala-scala/src/library/scala/collection/generic/OrderedTraversableFactory.scala -./scala-scala/src/library/scala/collection/generic/SeqForwarder.scala -./scala-scala/src/library/scala/collection/generic/Shrinkable.scala -./scala-scala/src/library/scala/collection/generic/Signalling.scala -./scala-scala/src/library/scala/collection/generic/Sizing.scala -./scala-scala/src/library/scala/collection/generic/SliceInterval.scala -./scala-scala/src/library/scala/collection/generic/Sorted.scala -./scala-scala/src/library/scala/collection/generic/Subtractable.scala -./scala-scala/src/library/scala/collection/generic/TraversableFactory.scala -./scala-scala/src/library/scala/collection/generic/package.scala diff --git a/test/test/ContravariantTrees.scala b/test/test/ContravariantTrees.scala deleted file mode 100644 index 999224042caa..000000000000 --- a/test/test/ContravariantTrees.scala +++ /dev/null @@ -1,65 +0,0 @@ -package test - -import language.higherKinds -import dotty.tools.dotc.core._ -import Flags._, Names._, StdNames._ -import annotation.unchecked.uncheckedVariance - -object ContravariantTrees { - - type Untyped = Null - - case class Modifiers[-T >: Untyped] ( - flags: FlagSet = EmptyFlags, - privateWithin: TypeName = tpnme.EMPTY, - annotations: List[Tree[T]] = Nil) { - - def is(fs: FlagSet): Boolean = flags is fs - def is(fc: FlagConjunction): Boolean = flags is fc - - def | (fs: FlagSet): Modifiers[T] = withFlags(flags | fs) - def & (fs: FlagSet): Modifiers[T] = withFlags(flags & fs) - def &~(fs: FlagSet): Modifiers[T] = withFlags(flags &~ fs) - - def toTypeFlags: Modifiers[T] = withFlags(flags.toTypeFlags) - def toTermFlags: Modifiers[T] = withFlags(flags.toTermFlags) - - private def withFlags(flags: FlagSet) = - if (this.flags == flags) this - else copy(flags = flags) - - def withPrivateWithin(pw: TypeName) = - if (pw.isEmpty) this - else copy(privateWithin = pw) - - def hasFlags = flags != EmptyFlags - def hasAnnotations = annotations.nonEmpty - def hasPrivateWithin = privateWithin != tpnme.EMPTY - } - - abstract class Tree[-T >: Untyped] { - private[this] var myTpe: T = _ - private def setMyTpe(tpe: T) = myTpe = tpe - - def tpe: T @uncheckedVariance = { - if (myTpe == null) throw new Error() - myTpe - } - } - - trait TermTree[-T >: Untyped] extends Tree[T] { - type ThisTree[T >: Untyped] <: TermTree[T] - } - - case class Select[-T >: Untyped](qualifier: Tree[T], name: Name) - extends TermTree[T] { - type ThisTree[T >: Untyped] = Select[T] - } - - /** mods def name[tparams](vparams_1)...(vparams_n): tpt = rhs */ - case class DefDef[-T >: Untyped](mods: Modifiers[T], name: TermName, tparams: List[Tree[T]], vparamss: List[List[Tree[T]]], tpt: Tree[T], rhs: Tree[T]) - extends Tree[T] { - type ThisTree[T >: Untyped] = DefDef[T] - } - -} diff --git a/test/test/SamplePhaseTest.scala b/test/test/SamplePhaseTest.scala deleted file mode 100644 index 47037f1d83c7..000000000000 --- a/test/test/SamplePhaseTest.scala +++ /dev/null @@ -1,16 +0,0 @@ -package test - -import org.junit.{Assert, Test} - -class SamplePhaseTest extends DottyTest { - - // Disabled, awaiting resolution: @Test - def testTypechekingSimpleClass = checkCompile("frontend", "class A{}") { - (tree, context) => - implicit val ctx = context - Assert.assertTrue("can typecheck simple class", - tree.toString == "PackageDef(Ident(),List(TypeDef(Modifiers(,,List()),A,Template(DefDef(Modifiers(,,List()),,List(),List(List()),TypeTree[TypeRef(ThisType(module class scala),Unit)],EmptyTree),List(Apply(Select(New(TypeTree[TypeRef(ThisType(module class lang),Object)]),),List())),ValDef(Modifiers(private,,List()),_,EmptyTree,EmptyTree),List()))))" - ) - } - -} diff --git a/test/x/PatMat.scala b/test/x/PatMat.scala deleted file mode 100644 index 131136a1e114..000000000000 --- a/test/x/PatMat.scala +++ /dev/null @@ -1,16 +0,0 @@ -package x - -trait PatMat { - - trait A - type TT <: B1 - trait B2 - trait B1 extends B - case class B() - - def foo[T <: Any](x: TT) = x match { - case x: B => println("!!!") - case "hi" => ??? - } - -} diff --git a/test/x/cakes.scala b/test/x/cakes.scala deleted file mode 100644 index ff5e5d64f72a..000000000000 --- a/test/x/cakes.scala +++ /dev/null @@ -1,49 +0,0 @@ -package test - -trait API { - - type Name >: Null <: NameAPI - type Symbol >: Null <: SymbolAPI - type ScopeEntry >: Null <: ScopeEntryAPI - - class NameAPI - class SymbolAPI - class ScopeEntryAPI - -} - -trait Names { self: SymTab => - - class Name extends NameAPI - -} - -trait Symbols { self: SymTab => - - class Symbol extends SymbolAPI - -} - -trait Scopes { self: SymTab => - - class ScopeEntry extends ScopeEntryAPI - class Scope { - def unlink(e: ScopeEntry): Unit = ??? - def unlink(e: Symbol): Unit = ??? - } - -} - -trait SymTab extends API with Names with Scopes { - -} - - -trait SyncOps extends SymTab { - - trait SyncScope extends Scope { - override def unlink(e: ScopeEntry): Unit = ??? - override def unlink(e: Symbol): Unit = ??? - } - -} diff --git a/test/x/names.scala b/test/x/names.scala deleted file mode 100644 index c80c3e51d659..000000000000 --- a/test/x/names.scala +++ /dev/null @@ -1,21 +0,0 @@ -package test - -object Foo { - def foo = 1 -} - -object Bar { - def foo = 2 -} - -object Test123 { - - import Foo.foo - - object Inner { - - import Bar._ -//!! println(foo) - } - -} diff --git a/test/x/xplore.sc b/test/x/xplore.sc deleted file mode 100644 index 15b4316371a7..000000000000 --- a/test/x/xplore.sc +++ /dev/null @@ -1,70 +0,0 @@ -package x -import dotty.tools.dotc._ -import core._ -import Contexts._ -import Symbols._ -import Decorators._ - -object xplore { - println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet - val c = Main.newCompiler //> c : dotty.tools.dotc.Compiler = dotty.tools.dotc.Compiler@36ff057f - val base = new ContextBase //> base : dotty.tools.dotc.core.Contexts.ContextBase = dotty.tools.dotc.core.C - //| ontexts$ContextBase@2980f96c - implicit val ctx = c.rootContext(base.initialCtx) - //> ctx : dotty.tools.dotc.core.Contexts.Context = dotty.tools.dotc.core.Contex - //| ts$InitialContext@6aadae91 - val strClass = defn.StringClass //> strClass : dotty.tools.dotc.core.Symbols.ClassSymbol = class String#213 - strClass.baseClasses //> res0: List[dotty.tools.dotc.core.Symbols.ClassSymbol] = List(class String#21 - //| 3, class CharSequence#531, class Comparable#102, class Serializable#3816, cl - //| ass Object#129, class Any#2133) - strClass.typeRef <:< defn.AnyType //> res1: Boolean = true - val predef = defn.PredefModule //> predef : dotty.tools.dotc.core.Symbols.TermSymbol = module Predef#1515 - val strd = predef.info.member("String".toTypeName) - //> strd : dotty.tools.dotc.core.Denotations.Denotation = type String - strd.info //> res2: dotty.tools.dotc.core.Types.Type = TypeAlias(TypeRef(ThisType(module c - //| lass lang#57),String)) - val strType = strd.symbol.typeRef //> strType : dotty.tools.dotc.core.Types.TypeRef = TypeRef(ThisType(module cla - //| ss Predef$#1516),String) - strType <:< defn.AnyType //> res3: Boolean = true - val prdef = defn.PredefModule //> prdef : dotty.tools.dotc.core.Symbols.TermSymbol = module Predef#1515 - predef.isCompleted //> res4: Boolean = true - predef.info.parents //> res5: List[dotty.tools.dotc.core.Types.TypeRef] = List(TypeRef(ThisType(modu - //| le class scala#35),LowPriorityImplicits), TypeRef(ThisType(module class scal - //| a#35),DeprecatedPredef)) - predef.info //> res6: dotty.tools.dotc.core.Types.Type = TypeRef(ThisType(module class scala - //| #35),Predef$) - predef.info.typeSymbol //> res7: dotty.tools.dotc.core.Symbols.Symbol = module class Predef$#1516 - val scala = defn.ScalaPackageClass //> scala : dotty.tools.dotc.core.Symbols.ClassSymbol = module class scala#35 - scala.info.decl("Predef$".toTypeName) //> res8: dotty.tools.dotc.core.Denotations.Denotation = module class Predef$ - predef.info.decls //> res9: dotty.tools.dotc.core.Scopes.Scope = Scopes(val #4979, val class - //| Of#4980, type Class#4981, type String#4984, type Function#4985, type Map#498 - //| 8, type Set#4991, val Map#4993, val Map #4994, val Set#4995, val Set #4996, - //| type ClassManifest#4997, type OptManifest#4999, type Manifest#5001, val Clas - //| sManifest#5003, val ClassManifest #5004, val Manifest#5005, val Manifest #50 - //| 06, val NoManifest#5007, val NoManifest #5008, val manifest#5009, val classM - //| anifest#5012, val optManifest#5015, val identity#5018, val implicitly#5021, - //| val locally#5024, val error#5027, val assert#5029, val assert#5031, val assu - //| me#5034, val assume#5036, val require#5039, val require#5041, val $qmark$qma - //| rk$qmark#5044, type Pair#5045, module Pair#5048, type Triple#5060, module Tr - //| iple#5064, class ArrowAssoc#5079, val ArrowAssoc#5094, class Ensuring#5097, - //| val Ensuring#5116, class StringFormat#5119, val StringFormat#5130, class Str - //| ingAdd#5133, val StringAdd#5144, class RichException#5147, val RichException - //| #5156, class SeqCharSequence#5158, val SeqCharSequence#5170, class ArrayChar - //| Sequence#5172, val ArrayCharSequence#5184, val StringCanBuildFrom#5186, val - //| StringCanBuildFrom #5187, val augmentString#5188, val unaugmentString#5190, - //| val print#5192, val println#5194, val println#5195, val printf#5197, val tup - //| le2ToZippedOps#5200, val tuple3ToZippedOps#5204, val genericArrayOps#5209, v - //| al booleanArrayOps#5212, val byteArrayOps#5214, val charArrayOps#5216, val d - //| oubleArrayOps#5218, val floatArrayOps#5220, val intArrayOps#5222, val longAr - //| rayOps#5224, val refArrayOps#5226, val shortArrayOps#5229, val unitArrayOps# - //| 5231, val byte2Byte#5233, val short2Short#5235, val char2Character#5237, val - //| int2Integer#5239, val long2Long#5241, val float2Float#5243, val double2Doub - //| le#5245, val boolean2Boolean#5247, val Byte2byte#5249, val Short2short#5251, - //| val Character2char#5253, val Integer2int#5255, val Long2long#5257, val Floa - //| t2float#5259, val Double2double#5261, val Boolean2boolean#5263, class $less$ - //| colon$less#5265, val singleton_$less$colon$less#5270, val conforms#5271, cla - //| ss $eq$colon$eq#5273, val singleton_$eq$colon$eq#5278, module $eq$colon$eq#5 - //| 279, class DummyImplicit#5285, module DummyImplicit#5287, module RichExcepti - //| on#5291, module StringAdd#5301, module StringFormat#5315, module Ensuring#53 - //| 29, module ArrowAssoc#5357) -} \ No newline at end of file diff --git a/test/x/xplore2.sc b/test/x/xplore2.sc deleted file mode 100644 index 5a33b2519d29..000000000000 --- a/test/x/xplore2.sc +++ /dev/null @@ -1,104 +0,0 @@ -package x -import dotty.tools.dotc._ -import core._ -import Contexts._ -import Symbols._ -import Decorators._ // should always import to get useful implicit decorators. -import Flags._ -import Types._ -import ast.Trees._ -import ast.tpd -import ast.untpd -import Constants._ - -object xplore2 { - import ast.tpd._ - println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet - val c = Main.newCompiler //> c : dotty.tools.dotc.Compiler = dotty.tools.dotc.Compiler@d8d9850 - val base = new ContextBase //> base : dotty.tools.dotc.core.Contexts.ContextBase = dotty.tools.dotc.core.C - //| ontexts$ContextBase@31ad98ef - implicit val ctx = c.rootContext(base.initialCtx) - //> ctx : dotty.tools.dotc.core.Contexts.Context = Context( - //| owner = module class , scope = Scopes() - //| owner = module class , scope = Scopes() - //| owner = module class , scope = Scopes() - //| owner = module class , scope = Scopes() - //| owner = module class , scope = Scopes() - //| owner = val , scope = null - - val SerializableClass = ctx.requiredClass("scala.Serializable") - //> SerializableClass : dotty.tools.dotc.core.Symbols.ClassSymbol = class Seria - //| lizable - val SystemModule = ctx.requiredModule("java.lang.System") - //> SystemModule : dotty.tools.dotc.core.Symbols.TermSymbol = module System - - val scope = new Scopes.MutableScope //> scope : dotty.tools.dotc.core.Scopes.MutableScope = Scopes() - val bla = ctx.newClassSymbol( // suggestion: Use newCompleteClassSymbol instead! - owner = defn.EmptyPackageClass, - name = "Bia".toTypeName, - flags = EmptyFlags, - infoFn = cls => ClassInfo( - prefix = defn.EmptyPackageClass.thisType, - cls = cls, - classParents = List(defn.ObjectClass.typeRef, SerializableClass.typeRef), - decls = scope, - selfInfo = NoType)).entered //> bla : dotty.tools.dotc.core.Symbols.ClassSymbol = class Bia - val constr = ctx.newConstructor(bla, EmptyFlags, List("p".toTermName, "r".toTermName), List(defn.AnyRefType, defn.IntType)).entered - //> constr : dotty.tools.dotc.core.Symbols.Symbol{type ThisName = dotty.tools. - //| dotc.core.Names.TermName} = method - val foo = ctx.newSymbol( - owner = bla, - name = "foo".toTermName, - flags = Final, - info = MethodType(List("s".toTermName), List(defn.IntType), defn.UnitType)).entered - //> foo : dotty.tools.dotc.core.Symbols.Symbol{type ThisName = dotty.tools.dot - //| c.core.Names.TermName} = val foo - val rep = ctx.newSymbol(bla, "rep".toTermName, flags = Lazy, info = defn.IntType).entered - //> rep : dotty.tools.dotc.core.Symbols.Symbol{type ThisName = dotty.tools.dot - //| c.core.Names.TermName} = val rep - val tostr = ctx.newSymbol(bla, "toString".toTermName, flags = Override, info = defn.UnitType).entered - //> tostr : dotty.tools.dotc.core.Symbols.Symbol{type ThisName = dotty.tools.d - //| otc.core.Names.TermName} = val toString -// val repTree = ValDef(rep, Literal(Constant(3))) - "==".toTermName.encode //> res0: dotty.tools.dotc.core.Names.Name = $eq$eq - val b = ctx.newSymbol(tostr, "b".toTermName, EmptyFlags, bla.typeRef) - //> b : dotty.tools.dotc.core.Symbols.Symbol{type ThisName = dotty.tools.dotc. - //| core.Names.TermName} = val b - - val bTree = ValDef(b, New(bla.typeRef, List(This(bla), Literal(Constant(3))))) - //> bTree : dotty.tools.dotc.ast.tpd.ValDef = ValDef(Modifiers(,,List()),b,Typ - //| eTree[TypeRef(ThisType(module class ),Bia)],Apply(Select(New(TypeTre - //| e[TypeRef(ThisType(module class ),Bia)]),),List(This(Bia), Lit - //| eral(Constant(3))))) - val system = tpd.Ident(SystemModule.termRef) //> system : dotty.tools.dotc.ast.tpd.Ident = Ident(System) - - val ref @ TermRef(_, _) = system.tpe //> ref : dotty.tools.dotc.core.Types.TermRef = TermRef(ThisType(module class - //| lang),System) - ref.symbol //> res1: dotty.tools.dotc.core.Symbols.Symbol = module System - val idHash = Select(system, "identityHashCode".toTermName) - //> idHash : dotty.tools.dotc.ast.tpd.Select = Select(Ident(System),identityHa - //| shCode) - val idHashApp = Apply(idHash, Ident(b.termRef) :: Nil) - //> idHashApp : dotty.tools.dotc.ast.tpd.Apply = Apply(Select(Ident(System),id - //| entityHashCode),List(Ident(b))) - val eqlref = defn.IntType.member("==".toTermName) - //> eqlref : dotty.tools.dotc.core.Denotations.Denotation = val - - /* - val tostrTree = { - Block( - List( - ValDef(b, New(bla.typeRef, List(This(bla), Literal(Constant(3))))), - If( - Apply( - Select( - Apply( - Select(Ident(SystemModule.termRef), "identityHashCode".toTermName), - Ident(b.termRef) :: Nil), - "==".toTermName.encode), - Literal(Constant(0)) :: Nil), - Apply(Select(Ident(b.termRef), foo.termRef), Literal(Constant(3)) :: Nil), - EmptyTree)), - Literal(Constant(()))) - }*/ -} \ No newline at end of file diff --git a/tests/neg/leaks.scala b/tests/neg/leaks.scala new file mode 100644 index 000000000000..0431c18ce750 --- /dev/null +++ b/tests/neg/leaks.scala @@ -0,0 +1,16 @@ +class Outer { + private val x: Int = 1 + + class Inner { + def foo: x.type = x // error: non-private method foo refers to private value x in its type signature + } +} + +class Outer3Neg { + def meth: Unit = { + class Inner { + private val x: Int = 1 + def foo: x.type = x // error + } + } +} diff --git a/tests/pickling/i1202a.scala b/tests/pickling/i1202a.scala index 0bc19f4e3c5c..a8134720f794 100644 --- a/tests/pickling/i1202a.scala +++ b/tests/pickling/i1202a.scala @@ -1,3 +1,5 @@ +package i1202a + class Test[T] { def testMethod: Unit = new Foo(this) diff --git a/tests/pickling/private-leak.scala b/tests/pickling/private-leak.scala new file mode 100644 index 000000000000..3fc32b51962f --- /dev/null +++ b/tests/pickling/private-leak.scala @@ -0,0 +1,9 @@ +package private_leak + +class Test { + private type Foo = Int + + val x: Foo = 1 + + x // unpickled with type Foo +} diff --git a/tests/pickling/zoo.scala b/tests/pickling/zoo.scala index 02dac8f5bf32..e6bde86b1174 100644 --- a/tests/pickling/zoo.scala +++ b/tests/pickling/zoo.scala @@ -1,3 +1,5 @@ +package zoo + object Test { trait FoodStuff trait Meat extends FoodStuff { diff --git a/tests/pos/java-interop/1576/TagAnnotation.java b/tests/pos-java-interop/1576/TagAnnotation.java similarity index 100% rename from tests/pos/java-interop/1576/TagAnnotation.java rename to tests/pos-java-interop/1576/TagAnnotation.java diff --git a/tests/pos/java-interop/1576/Test.scala b/tests/pos-java-interop/1576/Test.scala similarity index 100% rename from tests/pos/java-interop/1576/Test.scala rename to tests/pos-java-interop/1576/Test.scala diff --git a/tests/pos/java-interop/i879.java b/tests/pos-java-interop/i879.java similarity index 100% rename from tests/pos/java-interop/i879.java rename to tests/pos-java-interop/i879.java diff --git a/tests/pos/java-interop/t0288/Foo.scala b/tests/pos-java-interop/t0288/Foo.scala similarity index 100% rename from tests/pos/java-interop/t0288/Foo.scala rename to tests/pos-java-interop/t0288/Foo.scala diff --git a/tests/pos/java-interop/t0288/Outer.java b/tests/pos-java-interop/t0288/Outer.java similarity index 100% rename from tests/pos/java-interop/t0288/Outer.java rename to tests/pos-java-interop/t0288/Outer.java diff --git a/tests/pos/java-interop/t0695/JavaClass.java b/tests/pos-java-interop/t0695/JavaClass.java similarity index 100% rename from tests/pos/java-interop/t0695/JavaClass.java rename to tests/pos-java-interop/t0695/JavaClass.java diff --git a/tests/pos/java-interop/t0695/Test.scala b/tests/pos-java-interop/t0695/Test.scala similarity index 100% rename from tests/pos/java-interop/t0695/Test.scala rename to tests/pos-java-interop/t0695/Test.scala diff --git a/tests/pos/java-interop/t1101/J.java b/tests/pos-java-interop/t1101/J.java similarity index 100% rename from tests/pos/java-interop/t1101/J.java rename to tests/pos-java-interop/t1101/J.java diff --git a/tests/pos/java-interop/t1101/S.scala b/tests/pos-java-interop/t1101/S.scala similarity index 100% rename from tests/pos/java-interop/t1101/S.scala rename to tests/pos-java-interop/t1101/S.scala diff --git a/tests/pos/java-interop/t1102/J.java b/tests/pos-java-interop/t1102/J.java similarity index 100% rename from tests/pos/java-interop/t1102/J.java rename to tests/pos-java-interop/t1102/J.java diff --git a/tests/pos/java-interop/t1102/S.scala b/tests/pos-java-interop/t1102/S.scala similarity index 100% rename from tests/pos/java-interop/t1102/S.scala rename to tests/pos-java-interop/t1102/S.scala diff --git a/tests/pos/java-interop/t1150/J.java b/tests/pos-java-interop/t1150/J.java similarity index 100% rename from tests/pos/java-interop/t1150/J.java rename to tests/pos-java-interop/t1150/J.java diff --git a/tests/pos/java-interop/t1150/S.scala b/tests/pos-java-interop/t1150/S.scala similarity index 100% rename from tests/pos/java-interop/t1150/S.scala rename to tests/pos-java-interop/t1150/S.scala diff --git a/tests/pos/java-interop/t1152/J.java b/tests/pos-java-interop/t1152/J.java similarity index 100% rename from tests/pos/java-interop/t1152/J.java rename to tests/pos-java-interop/t1152/J.java diff --git a/tests/pos/java-interop/t1152/S.scala b/tests/pos-java-interop/t1152/S.scala similarity index 100% rename from tests/pos/java-interop/t1152/S.scala rename to tests/pos-java-interop/t1152/S.scala diff --git a/tests/pos/java-interop/t1176/J.java b/tests/pos-java-interop/t1176/J.java similarity index 100% rename from tests/pos/java-interop/t1176/J.java rename to tests/pos-java-interop/t1176/J.java diff --git a/tests/pos/java-interop/t1176/S.scala b/tests/pos-java-interop/t1176/S.scala similarity index 100% rename from tests/pos/java-interop/t1176/S.scala rename to tests/pos-java-interop/t1176/S.scala diff --git a/tests/pos/java-interop/t1186/t1186.java b/tests/pos-java-interop/t1186/t1186.java similarity index 100% rename from tests/pos/java-interop/t1186/t1186.java rename to tests/pos-java-interop/t1186/t1186.java diff --git a/tests/pos/java-interop/t1196/J.java b/tests/pos-java-interop/t1196/J.java similarity index 100% rename from tests/pos/java-interop/t1196/J.java rename to tests/pos-java-interop/t1196/J.java diff --git a/tests/pos/java-interop/t1196/S.scala b/tests/pos-java-interop/t1196/S.scala similarity index 100% rename from tests/pos/java-interop/t1196/S.scala rename to tests/pos-java-interop/t1196/S.scala diff --git a/tests/pos/java-interop/t1197/J.java b/tests/pos-java-interop/t1197/J.java similarity index 100% rename from tests/pos/java-interop/t1197/J.java rename to tests/pos-java-interop/t1197/J.java diff --git a/tests/pos/java-interop/t1197/S.scala b/tests/pos-java-interop/t1197/S.scala similarity index 100% rename from tests/pos/java-interop/t1197/S.scala rename to tests/pos-java-interop/t1197/S.scala diff --git a/tests/pos/java-interop/t1203b/J.java b/tests/pos-java-interop/t1203b/J.java similarity index 100% rename from tests/pos/java-interop/t1203b/J.java rename to tests/pos-java-interop/t1203b/J.java diff --git a/tests/pos/java-interop/t1203b/S.scala b/tests/pos-java-interop/t1203b/S.scala similarity index 100% rename from tests/pos/java-interop/t1203b/S.scala rename to tests/pos-java-interop/t1203b/S.scala diff --git a/tests/pos/java-interop/t1230/J.java b/tests/pos-java-interop/t1230/J.java similarity index 100% rename from tests/pos/java-interop/t1230/J.java rename to tests/pos-java-interop/t1230/J.java diff --git a/tests/pos/java-interop/t1230/S.scala b/tests/pos-java-interop/t1230/S.scala similarity index 100% rename from tests/pos/java-interop/t1230/S.scala rename to tests/pos-java-interop/t1230/S.scala diff --git a/tests/pos/java-interop/t1231/J.java b/tests/pos-java-interop/t1231/J.java similarity index 100% rename from tests/pos/java-interop/t1231/J.java rename to tests/pos-java-interop/t1231/J.java diff --git a/tests/pos/java-interop/t1231/S.scala b/tests/pos-java-interop/t1231/S.scala similarity index 100% rename from tests/pos/java-interop/t1231/S.scala rename to tests/pos-java-interop/t1231/S.scala diff --git a/tests/pos/java-interop/t1232/J.java b/tests/pos-java-interop/t1232/J.java similarity index 100% rename from tests/pos/java-interop/t1232/J.java rename to tests/pos-java-interop/t1232/J.java diff --git a/tests/pos/java-interop/t1232/J2.java b/tests/pos-java-interop/t1232/J2.java similarity index 100% rename from tests/pos/java-interop/t1232/J2.java rename to tests/pos-java-interop/t1232/J2.java diff --git a/tests/pos/java-interop/t1232/S.scala b/tests/pos-java-interop/t1232/S.scala similarity index 100% rename from tests/pos/java-interop/t1232/S.scala rename to tests/pos-java-interop/t1232/S.scala diff --git a/tests/pos/java-interop/t1235/Test.java b/tests/pos-java-interop/t1235/Test.java similarity index 100% rename from tests/pos/java-interop/t1235/Test.java rename to tests/pos-java-interop/t1235/Test.java diff --git a/tests/pos/java-interop/t1254/t1254.java b/tests/pos-java-interop/t1254/t1254.java similarity index 100% rename from tests/pos/java-interop/t1254/t1254.java rename to tests/pos-java-interop/t1254/t1254.java diff --git a/tests/pos/java-interop/t1409/AbstractImpl.java b/tests/pos-java-interop/t1409/AbstractImpl.java similarity index 100% rename from tests/pos/java-interop/t1409/AbstractImpl.java rename to tests/pos-java-interop/t1409/AbstractImpl.java diff --git a/tests/pos/java-interop/t1409/ConcreteImpl.scala b/tests/pos-java-interop/t1409/ConcreteImpl.scala similarity index 100% rename from tests/pos/java-interop/t1409/ConcreteImpl.scala rename to tests/pos-java-interop/t1409/ConcreteImpl.scala diff --git a/tests/pos/java-interop/t1409/OuterInterface.java b/tests/pos-java-interop/t1409/OuterInterface.java similarity index 100% rename from tests/pos/java-interop/t1409/OuterInterface.java rename to tests/pos-java-interop/t1409/OuterInterface.java diff --git a/tests/pos/java-interop/t1642/JavaCallingScalaHashMap.java b/tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java similarity index 100% rename from tests/pos/java-interop/t1642/JavaCallingScalaHashMap.java rename to tests/pos-java-interop/t1642/JavaCallingScalaHashMap.java diff --git a/tests/pos/java-interop/t1711/Seq.scala b/tests/pos-java-interop/t1711/Seq.scala similarity index 100% rename from tests/pos/java-interop/t1711/Seq.scala rename to tests/pos-java-interop/t1711/Seq.scala diff --git a/tests/pos/java-interop/t1711/Test.java b/tests/pos-java-interop/t1711/Test.java similarity index 100% rename from tests/pos/java-interop/t1711/Test.java rename to tests/pos-java-interop/t1711/Test.java diff --git a/tests/pos/java-interop/t1751/A1_2.scala b/tests/pos-java-interop/t1751/A1_2.scala similarity index 100% rename from tests/pos/java-interop/t1751/A1_2.scala rename to tests/pos-java-interop/t1751/A1_2.scala diff --git a/tests/pos/java-interop/t1751/A2_1.scala b/tests/pos-java-interop/t1751/A2_1.scala similarity index 100% rename from tests/pos/java-interop/t1751/A2_1.scala rename to tests/pos-java-interop/t1751/A2_1.scala diff --git a/tests/pos/java-interop/t1751/SuiteClasses.java b/tests/pos-java-interop/t1751/SuiteClasses.java similarity index 100% rename from tests/pos/java-interop/t1751/SuiteClasses.java rename to tests/pos-java-interop/t1751/SuiteClasses.java diff --git a/tests/pos/java-interop/t1782/Ann.java b/tests/pos-java-interop/t1782/Ann.java similarity index 100% rename from tests/pos/java-interop/t1782/Ann.java rename to tests/pos-java-interop/t1782/Ann.java diff --git a/tests/pos/java-interop/t1782/Days.java b/tests/pos-java-interop/t1782/Days.java similarity index 100% rename from tests/pos/java-interop/t1782/Days.java rename to tests/pos-java-interop/t1782/Days.java diff --git a/tests/pos/java-interop/t1782/ImplementedBy.java b/tests/pos-java-interop/t1782/ImplementedBy.java similarity index 100% rename from tests/pos/java-interop/t1782/ImplementedBy.java rename to tests/pos-java-interop/t1782/ImplementedBy.java diff --git a/tests/pos/java-interop/t1782/Test_1.scala b/tests/pos-java-interop/t1782/Test_1.scala similarity index 100% rename from tests/pos/java-interop/t1782/Test_1.scala rename to tests/pos-java-interop/t1782/Test_1.scala diff --git a/tests/pos/java-interop/t1836/J.java b/tests/pos-java-interop/t1836/J.java similarity index 100% rename from tests/pos/java-interop/t1836/J.java rename to tests/pos-java-interop/t1836/J.java diff --git a/tests/pos/java-interop/t1836/S.scala b/tests/pos-java-interop/t1836/S.scala similarity index 100% rename from tests/pos/java-interop/t1836/S.scala rename to tests/pos-java-interop/t1836/S.scala diff --git a/tests/pos/java-interop/t1840/J.java b/tests/pos-java-interop/t1840/J.java similarity index 100% rename from tests/pos/java-interop/t1840/J.java rename to tests/pos-java-interop/t1840/J.java diff --git a/tests/pos/java-interop/t1840/S.scala b/tests/pos-java-interop/t1840/S.scala similarity index 100% rename from tests/pos/java-interop/t1840/S.scala rename to tests/pos-java-interop/t1840/S.scala diff --git a/tests/pos/java-interop/t1937/NumberGenerator.java b/tests/pos-java-interop/t1937/NumberGenerator.java similarity index 100% rename from tests/pos/java-interop/t1937/NumberGenerator.java rename to tests/pos-java-interop/t1937/NumberGenerator.java diff --git a/tests/pos/java-interop/t2377/Q.java b/tests/pos-java-interop/t2377/Q.java similarity index 100% rename from tests/pos/java-interop/t2377/Q.java rename to tests/pos-java-interop/t2377/Q.java diff --git a/tests/pos/java-interop/t2377/a.scala b/tests/pos-java-interop/t2377/a.scala similarity index 100% rename from tests/pos/java-interop/t2377/a.scala rename to tests/pos-java-interop/t2377/a.scala diff --git a/tests/pos/java-interop/t2409/J.java b/tests/pos-java-interop/t2409/J.java similarity index 100% rename from tests/pos/java-interop/t2409/J.java rename to tests/pos-java-interop/t2409/J.java diff --git a/tests/pos/java-interop/t2409/t2409.scala b/tests/pos-java-interop/t2409/t2409.scala similarity index 100% rename from tests/pos/java-interop/t2409/t2409.scala rename to tests/pos-java-interop/t2409/t2409.scala diff --git a/tests/pos/java-interop/t2413/TestJava.java b/tests/pos-java-interop/t2413/TestJava.java similarity index 100% rename from tests/pos/java-interop/t2413/TestJava.java rename to tests/pos-java-interop/t2413/TestJava.java diff --git a/tests/pos/java-interop/t2413/TestScalac.scala b/tests/pos-java-interop/t2413/TestScalac.scala similarity index 100% rename from tests/pos/java-interop/t2413/TestScalac.scala rename to tests/pos-java-interop/t2413/TestScalac.scala diff --git a/tests/pos/java-interop/t2433/A.java b/tests/pos-java-interop/t2433/A.java similarity index 100% rename from tests/pos/java-interop/t2433/A.java rename to tests/pos-java-interop/t2433/A.java diff --git a/tests/pos/java-interop/t2433/B.java b/tests/pos-java-interop/t2433/B.java similarity index 100% rename from tests/pos/java-interop/t2433/B.java rename to tests/pos-java-interop/t2433/B.java diff --git a/tests/pos/java-interop/t2433/Test.scala b/tests/pos-java-interop/t2433/Test.scala similarity index 100% rename from tests/pos/java-interop/t2433/Test.scala rename to tests/pos-java-interop/t2433/Test.scala diff --git a/tests/pos/java-interop/t2464/JavaOne.java b/tests/pos-java-interop/t2464/JavaOne.java similarity index 100% rename from tests/pos/java-interop/t2464/JavaOne.java rename to tests/pos-java-interop/t2464/JavaOne.java diff --git a/tests/pos/java-interop/t2464/ScalaOne_1.scala b/tests/pos-java-interop/t2464/ScalaOne_1.scala similarity index 100% rename from tests/pos/java-interop/t2464/ScalaOne_1.scala rename to tests/pos-java-interop/t2464/ScalaOne_1.scala diff --git a/tests/pos/java-interop/t2464/t2464_2.scala b/tests/pos-java-interop/t2464/t2464_2.scala similarity index 100% rename from tests/pos/java-interop/t2464/t2464_2.scala rename to tests/pos-java-interop/t2464/t2464_2.scala diff --git a/tests/pos/java-interop/t2764/Ann.java b/tests/pos-java-interop/t2764/Ann.java similarity index 100% rename from tests/pos/java-interop/t2764/Ann.java rename to tests/pos-java-interop/t2764/Ann.java diff --git a/tests/pos/java-interop/t2764/Enum.java b/tests/pos-java-interop/t2764/Enum.java similarity index 100% rename from tests/pos/java-interop/t2764/Enum.java rename to tests/pos-java-interop/t2764/Enum.java diff --git a/tests/pos/java-interop/t2764/Use.scala b/tests/pos-java-interop/t2764/Use.scala similarity index 100% rename from tests/pos/java-interop/t2764/Use.scala rename to tests/pos-java-interop/t2764/Use.scala diff --git a/tests/pos/java-interop/t294/Ann.java b/tests/pos-java-interop/t294/Ann.java similarity index 100% rename from tests/pos/java-interop/t294/Ann.java rename to tests/pos-java-interop/t294/Ann.java diff --git a/tests/pos/java-interop/t294/Ann2.java b/tests/pos-java-interop/t294/Ann2.java similarity index 100% rename from tests/pos/java-interop/t294/Ann2.java rename to tests/pos-java-interop/t294/Ann2.java diff --git a/tests/pos/java-interop/t294/Test_1.scala b/tests/pos-java-interop/t294/Test_1.scala similarity index 100% rename from tests/pos/java-interop/t294/Test_1.scala rename to tests/pos-java-interop/t294/Test_1.scala diff --git a/tests/pos/java-interop/t294/Test_2.scala b/tests/pos-java-interop/t294/Test_2.scala similarity index 100% rename from tests/pos/java-interop/t294/Test_2.scala rename to tests/pos-java-interop/t294/Test_2.scala diff --git a/tests/pos/java-interop/t2940/Cycle.java b/tests/pos-java-interop/t2940/Cycle.java similarity index 100% rename from tests/pos/java-interop/t2940/Cycle.java rename to tests/pos-java-interop/t2940/Cycle.java diff --git a/tests/pos/java-interop/t2940/Error.scala b/tests/pos-java-interop/t2940/Error.scala similarity index 100% rename from tests/pos/java-interop/t2940/Error.scala rename to tests/pos-java-interop/t2940/Error.scala diff --git a/tests/pos/java-interop/t2956/BeanDefinitionVisitor.java b/tests/pos-java-interop/t2956/BeanDefinitionVisitor.java similarity index 100% rename from tests/pos/java-interop/t2956/BeanDefinitionVisitor.java rename to tests/pos-java-interop/t2956/BeanDefinitionVisitor.java diff --git a/tests/pos/java-interop/t2956/t2956.scala b/tests/pos-java-interop/t2956/t2956.scala similarity index 100% rename from tests/pos/java-interop/t2956/t2956.scala rename to tests/pos-java-interop/t2956/t2956.scala diff --git a/tests/pos/java-interop/volatile/Foo.java b/tests/pos-java-interop/volatile/Foo.java similarity index 100% rename from tests/pos/java-interop/volatile/Foo.java rename to tests/pos-java-interop/volatile/Foo.java diff --git a/tests/pos/leaks.scala b/tests/pos/leaks.scala new file mode 100644 index 000000000000..3fe029c75865 --- /dev/null +++ b/tests/pos/leaks.scala @@ -0,0 +1,27 @@ +class Outer1 { + private val x: Int = 1 + + private class Inner { + def foo: x.type = x // OK + } +} + +object Outer2 { + private val x: Int = 1 +} + +class Outer2 { + private class Inner { + def foo: Outer2.x.type = Outer2.x // OK + } +} + +class Outer3 { + private val x: Int = 1 + + def meth: Unit = { + class Inner { + def foo: x.type = x // OK + } + } +} diff --git a/tests/repl/errmsgs.check b/tests/repl/errmsgs.check index 2bcb40eb0c64..f0ccdf53f675 100644 --- a/tests/repl/errmsgs.check +++ b/tests/repl/errmsgs.check @@ -1,42 +1,42 @@ scala> class Inv[T](x: T) defined class Inv scala> val x: List[String] = List(1) --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 4 |val x: List[String] = List(1) | ^ | found: Int(1) | required: String | scala> val y: List[List[String]] = List(List(1)) --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 4 |val y: List[List[String]] = List(List(1)) | ^ | found: Int(1) | required: String | scala> val z: (List[String], List[Int]) = (List(1), List("a")) --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 4 |val z: (List[String], List[Int]) = (List(1), List("a")) | ^ | found: Int(1) | required: String | --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 4 |val z: (List[String], List[Int]) = (List(1), List("a")) | ^^^ | found: String("a") | required: Int | scala> val a: Inv[String] = new Inv(new Inv(1)) --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 5 |val a: Inv[String] = new Inv(new Inv(1)) | ^^^^^ - | found: Inv[T] - | required: String - | - | where: T is a type variable with constraint >: Int(1) + | found: Inv[T] + | required: String + | + | where: T is a type variable with constraint >: Int(1) scala> val b: Inv[String] = new Inv(1) --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 5 |val b: Inv[String] = new Inv(1) | ^ | found: Int(1) @@ -57,25 +57,25 @@ scala> abstract class C { } } } --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 9 | var y: T = x | ^ - | found: C.this.T(C.this.x) - | required: T' - | - | where: T is a type in class C - | T' is a type in the initalizer of value s which is an alias of String --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- + |found: C.this.T(C.this.x) + |required: T' + | + |where: T is a type in class C + | T' is a type in the initalizer of value s which is an alias of String +-- [E007] Type Mismatch Error: --------------------------------------- 13 | val z: T = y | ^ - | found: T(y) - | required: T' - | - | where: T is a type in the initalizer of value s which is an alias of String - | T' is a type in method f which is an alias of Int + |found: T(y) + |required: T' + | + |where: T is a type in the initalizer of value s which is an alias of String + | T' is a type in method f which is an alias of Int scala> class Foo() { def bar: Int = 1 }; val foo = new Foo(); foo.barr --- [E008] Member Not Found Error: ---------------------------------------------------------------------------- +-- [E008] Member Not Found Error: ------------------------------------ 4 |class Foo() { def bar: Int = 1 }; val foo = new Foo(); foo.barr | ^^^^^^^^ - | value `barr` is not a member of Foo(foo) - did you mean `foo.bar`? + | value `barr` is not a member of Foo(foo) - did you mean `foo.bar`? scala> :quit diff --git a/tests/repl/imports.check b/tests/repl/imports.check index b6d9ae8a7b01..7e078fe001b8 100644 --- a/tests/repl/imports.check +++ b/tests/repl/imports.check @@ -7,7 +7,7 @@ defined module o scala> import o._ import o._ scala> buf += xs --- [E007] Type Mismatch Error: ------------------------------------------------------------------------------- +-- [E007] Type Mismatch Error: --------------------------------------- 11 |buf += xs | ^^ | found: scala.collection.immutable.List[Int](o.xs) @@ -16,13 +16,13 @@ scala> buf += xs scala> buf ++= xs res1: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3) scala> import util.foo --- Error: ---------------------------------------------------------------------------------------------------- +-- Error: ------------------------------------------------------------ 8 |import util.foo | ^^^ | foo is not a member of util scala> import util.foo.bar --- [E008] Member Not Found Error: ---------------------------------------------------------------------------- +-- [E008] Member Not Found Error: ------------------------------------ 8 |import util.foo.bar | ^^^^^^^^ - | value `foo` is not a member of util.type - did you mean `util.Left`? + | value `foo` is not a member of util.type - did you mean `util.Left`? scala> :quit diff --git a/tests/run/programmatic-main.check b/tests/run/programmatic-main.check deleted file mode 100644 index 1cd94ccb453f..000000000000 --- a/tests/run/programmatic-main.check +++ /dev/null @@ -1,27 +0,0 @@ - phase name id description - ---------- -- ----------- - parser 1 parse source into ASTs, perform simple desugaring - namer 2 resolve names, attach symbols to named trees -packageobjects 3 load package objects - typer 4 the meat and potatoes: type the trees - patmat 5 translate match expressions -superaccessors 6 add super accessors in traits and nested classes - extmethods 7 add extension methods for inline classes - pickler 8 serialize symbol tables - refchecks 9 reference/override checking, translate nested objects - uncurry 10 uncurry, translate function values to anonymous classes - tailcalls 11 replace tail calls by jumps - specialize 12 @specialized-driven class and method specialization - explicitouter 13 this refs to outer pointers - erasure 14 erase types, add interfaces for traits - posterasure 15 clean up erased inline classes - lazyvals 16 allocate bitmaps, translate lazy vals into lazified defs - lambdalift 17 move nested functions to top level - constructors 18 move field definitions into constructors - flatten 19 eliminate inner classes - mixin 20 mixin composition - cleanup 21 platform-specific cleanups, generate reflective calls - delambdafy 22 remove lambdas - icode 23 generate portable intermediate code - jvm 24 generate JVM bytecode - terminal 25 the last phase during a compilation run diff --git a/tests/run/programmatic-main.scala b/tests/run/programmatic-main.scala deleted file mode 100644 index 542ac2781e47..000000000000 --- a/tests/run/programmatic-main.scala +++ /dev/null @@ -1,16 +0,0 @@ - -import scala.language.postfixOps -import scala.tools.nsc._ -import io.Path - -object Test { - val cwd = Option(System.getProperty("partest.cwd")) getOrElse "." - val basedir = Path(cwd).parent / "lib" path - val baseargs = Array("-usejavacp", "-bootclasspath", basedir + "/scala-library.jar", "-cp", basedir + "/scala-compiler.jar") - - def main(args: Array[String]): Unit = { - Console.withErr(Console.out) { - Main process (baseargs ++ "-Xpluginsdir /does/not/exist/foo/quux -Xshow-phases".split(' ')) - } - } -} diff --git a/tests/run/t2512.scala b/tests/run/t2512.scala deleted file mode 100644 index 8166839a9abd..000000000000 --- a/tests/run/t2512.scala +++ /dev/null @@ -1,13 +0,0 @@ -import scala.tools.nsc.util.HashSet - -object Test { - val runs = 10000 - class Bop - - def main(args: Array[String]): Unit = { - val set: HashSet[Bop] = HashSet("Bop", 16) - (1 to runs).toList foreach (_ => set addEntry new Bop) - - assert(runs == set.size && set.size == set.iterator.length) - } -} diff --git a/tests/run/t6194.check b/tests/run/t6194.check deleted file mode 100644 index b325f479d794..000000000000 --- a/tests/run/t6194.check +++ /dev/null @@ -1 +0,0 @@ -C:\FooBar\Java\includes\*.jar diff --git a/tests/run/t6194.scala b/tests/run/t6194.scala deleted file mode 100644 index ced325942725..000000000000 --- a/tests/run/t6194.scala +++ /dev/null @@ -1,8 +0,0 @@ -import scala.tools.nsc.util._ - -object Test { - def main(args: Array[String]): Unit = { - val cp = ClassPath.expandPath("""C:\FooBar\Java\includes\*.jar""") mkString java.io.File.pathSeparator - println(cp) - } -}