diff options
Diffstat (limited to 'bridge/src/sbt-test/source-dependencies/value-class')
11 files changed, 0 insertions, 88 deletions
diff --git a/bridge/src/sbt-test/source-dependencies/value-class/build.sbt b/bridge/src/sbt-test/source-dependencies/value-class/build.sbt deleted file mode 100644 index 77cf9f18c..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/build.sbt +++ /dev/null @@ -1 +0,0 @@ -incOptions := incOptions.value.withRecompileAllFraction(1.0) diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/A0.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/A0.scala deleted file mode 100644 index ad5bf4c56..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/A0.scala +++ /dev/null @@ -1 +0,0 @@ -class A(val x: Int) diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/A1.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/A1.scala deleted file mode 100644 index dbaa1c3f0..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/A1.scala +++ /dev/null @@ -1 +0,0 @@ -class A(val x: Int) extends AnyVal diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B0.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/B0.scala deleted file mode 100644 index 0dba978c3..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/B0.scala +++ /dev/null @@ -1,3 +0,0 @@ -class B { - def foo(a: A): Int = 1 -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B1.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/B1.scala deleted file mode 100644 index c7b689c5e..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/B1.scala +++ /dev/null @@ -1,3 +0,0 @@ -class B { - def bar: A = new A(0) -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/B2.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/B2.scala deleted file mode 100644 index fe1136389..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/B2.scala +++ /dev/null @@ -1,3 +0,0 @@ -class B { - def bar(dummy: String)(dummy2: String): A = new A(0) -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C0.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/C0.scala deleted file mode 100644 index 1fed7a120..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/C0.scala +++ /dev/null @@ -1,3 +0,0 @@ -object C extends dotty.runtime.LegacyApp { - println(new B().foo(null)) -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C1.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/C1.scala deleted file mode 100644 index f10fe2d16..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/C1.scala +++ /dev/null @@ -1,3 +0,0 @@ -object C extends dotty.runtime.LegacyApp { - println(new B().bar.x) -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/changes/C2.scala b/bridge/src/sbt-test/source-dependencies/value-class/changes/C2.scala deleted file mode 100644 index a0c5c6972..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/changes/C2.scala +++ /dev/null @@ -1,3 +0,0 @@ -object C extends dotty.runtime.LegacyApp { - println(new B().bar("")("").x) -} diff --git a/bridge/src/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala b/bridge/src/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala deleted file mode 100644 index 3433779b6..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/project/DottyInjectedPlugin.scala +++ /dev/null @@ -1,17 +0,0 @@ -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/bridge/src/sbt-test/source-dependencies/value-class/test b/bridge/src/sbt-test/source-dependencies/value-class/test deleted file mode 100644 index 268274bf6..000000000 --- a/bridge/src/sbt-test/source-dependencies/value-class/test +++ /dev/null @@ -1,50 +0,0 @@ -## Case 1: value class as parameter of method -$ copy-file changes/A0.scala src/main/scala/A.scala -$ copy-file changes/B0.scala src/main/scala/B.scala -$ copy-file changes/C0.scala src/main/scala/C.scala - -# A is a normal class. B.foo accepts a parameter of type A. C calls B.foo, giving it `null`. -> compile -> run - -# Make A a value class. -$ copy-file changes/A1.scala src/main/scala/A.scala - -# The code no longer compiles because B.foo no longer accepts `null` as an argument. -# This means that we have invalidated C.scala, as expected! --> compile - - -## Case 2: value class as return type of method with no parameter lists -$ copy-file changes/A0.scala src/main/scala/A.scala -$ copy-file changes/B1.scala src/main/scala/B.scala -$ copy-file changes/C1.scala src/main/scala/C.scala - -# A is a normal class. B.bar takes no arguments and returns an instance of A. C calls B.bar. -> compile -> run - -# Make A a value class. -$ copy-file changes/A1.scala src/main/scala/A.scala - -# The code compiles. It will run iff C is recompiled because the signature of B.bar has changed, -# because A is now a value class. -> run - - -## Case 3: value class as return type of method with multiple parameter lists -$ copy-file changes/A0.scala src/main/scala/A.scala -$ copy-file changes/B2.scala src/main/scala/B.scala -$ copy-file changes/C2.scala src/main/scala/C.scala - -# A is a normal class. B.bar takes two dummy arguments and returns an instance of A. C calls B.bar("")(""). -> compile -> run - -# Make A a value class. -$ copy-file changes/A1.scala src/main/scala/A.scala - -# The code compiles. It will run iff C is recompiled because the signature of B.bar has changed, -# because A is now a value class. -> run - |