aboutsummaryrefslogtreecommitdiff
path: root/sbt-bridge/src/sbt-test/source-dependencies/sealed
diff options
context:
space:
mode:
Diffstat (limited to 'sbt-bridge/src/sbt-test/source-dependencies/sealed')
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/sealed/A.scala3
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/sealed/D.scala8
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala4
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/sealed/pending11
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala17
5 files changed, 43 insertions, 0 deletions
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/sealed/A.scala b/sbt-bridge/src/sbt-test/source-dependencies/sealed/A.scala
new file mode 100644
index 000000000..d185a50a9
--- /dev/null
+++ b/sbt-bridge/src/sbt-test/source-dependencies/sealed/A.scala
@@ -0,0 +1,3 @@
+sealed trait A
+class B extends A
+class C extends A \ No newline at end of file
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/sealed/D.scala b/sbt-bridge/src/sbt-test/source-dependencies/sealed/D.scala
new file mode 100644
index 000000000..1f49e9d61
--- /dev/null
+++ b/sbt-bridge/src/sbt-test/source-dependencies/sealed/D.scala
@@ -0,0 +1,8 @@
+
+object D {
+def x(a: A) =
+ a match {
+ case _: B => ()
+ case _: C => ()
+ }
+} \ No newline at end of file
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala b/sbt-bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala
new file mode 100644
index 000000000..f00e9c127
--- /dev/null
+++ b/sbt-bridge/src/sbt-test/source-dependencies/sealed/changes/A.scala
@@ -0,0 +1,4 @@
+sealed trait A
+class B extends A
+class C extends A
+class E extends A \ No newline at end of file
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/sealed/pending b/sbt-bridge/src/sbt-test/source-dependencies/sealed/pending
new file mode 100644
index 000000000..69c8ebe98
--- /dev/null
+++ b/sbt-bridge/src/sbt-test/source-dependencies/sealed/pending
@@ -0,0 +1,11 @@
+> 'set scalacOptions += "-Xfatal-warnings"'
+
+> compile
+
+# have new class E extend A
+$ copy-file changes/A.scala A.scala
+
+# D.scala needs recompiling because the pattern match in D
+# is no longer exhaustive, which should be a warning
+# there is no way to make warnings errors, so this has to be manually checked
+-> compile \ No newline at end of file
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala b/sbt-bridge/src/sbt-test/source-dependencies/sealed/project/DottyInjectedPlugin.scala
new file mode 100644
index 000000000..3433779b6
--- /dev/null
+++ b/sbt-bridge/src/sbt-test/source-dependencies/sealed/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()
+ )
+}