diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-11-17 11:51:08 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2016-11-22 01:35:07 +0100 |
commit | 6acdc1e85f04cc3a240ddb91983588897786d8ca (patch) | |
tree | a86262ad133d0dc3af19919cdc6ff77d1044003a /sbt-bridge/src/sbt-test/source-dependencies/linearization | |
parent | c061baf8c4a81f2b1505c30a5240857411981f62 (diff) | |
download | dotty-6acdc1e85f04cc3a240ddb91983588897786d8ca.tar.gz dotty-6acdc1e85f04cc3a240ddb91983588897786d8ca.tar.bz2 dotty-6acdc1e85f04cc3a240ddb91983588897786d8ca.zip |
Move bridge to correct location, fix unmanaged sources in build
Diffstat (limited to 'sbt-bridge/src/sbt-test/source-dependencies/linearization')
9 files changed, 47 insertions, 0 deletions
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/A.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/A.scala new file mode 100644 index 000000000..69399d3fb --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/A.scala @@ -0,0 +1,3 @@ +trait A { + def x = 3 +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/B.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/B.scala new file mode 100644 index 000000000..608b53052 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/B.scala @@ -0,0 +1,3 @@ +trait B extends A { + override def x = super.x * 2 +}
\ No newline at end of file diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/C.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/C.scala new file mode 100644 index 000000000..3fbd747e0 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/C.scala @@ -0,0 +1,3 @@ +trait C extends A { + override def x = super.x + 5 +}
\ No newline at end of file diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/D.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/D.scala new file mode 100644 index 000000000..7b46ebf97 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/D.scala @@ -0,0 +1,2 @@ +// define the order +trait D extends C with B
\ No newline at end of file diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/E.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/E.scala new file mode 100644 index 000000000..f69ea1d51 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/E.scala @@ -0,0 +1,2 @@ +// put a level in between D and its concrete class +trait E extends D diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/F.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/F.scala new file mode 100644 index 000000000..6dda903f5 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/F.scala @@ -0,0 +1,3 @@ +object F extends E { + def main(args: Array[String]) = assert(x == args(0).toInt, x) +}
\ No newline at end of file diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/changes/D.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/changes/D.scala new file mode 100644 index 000000000..84c173887 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/changes/D.scala @@ -0,0 +1 @@ +trait D extends B with C diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala b/sbt-bridge/src/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala new file mode 100644 index 000000000..3433779b6 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/project/DottyInjectedPlugin.scala @@ -0,0 +1,17 @@ +import sbt._ +import Keys._ + +object DottyInjectedPlugin extends AutoPlugin { + override def requires = plugins.JvmPlugin + override def trigger = allRequirements + + override val projectSettings = Seq( + scalaVersion := "0.1-SNAPSHOT", + scalaOrganization := "ch.epfl.lamp", + scalacOptions += "-language:Scala2", + scalaBinaryVersion := "2.11", + autoScalaLibrary := false, + libraryDependencies ++= Seq("org.scala-lang" % "scala-library" % "2.11.5"), + scalaCompilerBridgeSource := ("ch.epfl.lamp" % "dotty-bridge" % "0.1.1-SNAPSHOT" % "component").sources() + ) +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/linearization/test b/sbt-bridge/src/sbt-test/source-dependencies/linearization/test new file mode 100644 index 000000000..e6078ebfb --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/linearization/test @@ -0,0 +1,13 @@ +> compile + +# the value of F.x should be 16 +> run 16 + +# modify D.scala so that the linearization changes +$ copy-file changes/D.scala D.scala +# F.x becomes 11 +> compile + +# if F is recompiled, the value of x should be 11, otherwise it will still be 16 +# and this will fail +> run 11
\ No newline at end of file |