summaryrefslogtreecommitdiff
path: root/test/files/neg/t8700b
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2016-01-07 19:07:45 +0100
committerSimon Ochsenreither <simon@ochsenreither.de>2016-01-14 00:01:40 +0100
commit11783c3c2a6692cfbb41b14734504b86101ed955 (patch)
tree094d7e5b3155f2325e8d6d290772433b1382228e /test/files/neg/t8700b
parentfb22e2b0a73605d654c153e02d454e5cec21f355 (diff)
downloadscala-11783c3c2a6692cfbb41b14734504b86101ed955.tar.gz
scala-11783c3c2a6692cfbb41b14734504b86101ed955.tar.bz2
scala-11783c3c2a6692cfbb41b14734504b86101ed955.zip
SI-8700 Exhaustiveness warning for enums from Java source
Until now, the warning was only emitted for enums from Java class files. This commit fixes it by - aligning the flags set in JavaParsers with the flags set in ClassfileParser (which are required by the pattern matcher to even consider checking exhaustiveness) - adding the enum members as childs to the class holding the enum as done in ClassfileParser so that the pattern matcher sees the enum members when looking for the sealed children of a type
Diffstat (limited to 'test/files/neg/t8700b')
-rw-r--r--test/files/neg/t8700b/Bar_2.scala9
-rw-r--r--test/files/neg/t8700b/Baz_1.java11
-rw-r--r--test/files/neg/t8700b/Foo_1.java4
3 files changed, 24 insertions, 0 deletions
diff --git a/test/files/neg/t8700b/Bar_2.scala b/test/files/neg/t8700b/Bar_2.scala
new file mode 100644
index 0000000000..97ba16df27
--- /dev/null
+++ b/test/files/neg/t8700b/Bar_2.scala
@@ -0,0 +1,9 @@
+object Bar {
+ def bar1(foo: Foo_1) = foo match {
+ case Foo_1.A => 1
+ }
+
+ def bar2(foo: Baz_1) = foo match {
+ case Baz_1.A => 1
+ }
+}
diff --git a/test/files/neg/t8700b/Baz_1.java b/test/files/neg/t8700b/Baz_1.java
new file mode 100644
index 0000000000..6a057c2c9c
--- /dev/null
+++ b/test/files/neg/t8700b/Baz_1.java
@@ -0,0 +1,11 @@
+public enum Baz_1 {
+ A {
+ public void baz1() {}
+ },
+ B {
+ public void baz1() {}
+ };
+
+ public abstract void baz1();
+ public void baz2() {}
+}
diff --git a/test/files/neg/t8700b/Foo_1.java b/test/files/neg/t8700b/Foo_1.java
new file mode 100644
index 0000000000..22656bdedd
--- /dev/null
+++ b/test/files/neg/t8700b/Foo_1.java
@@ -0,0 +1,4 @@
+public enum Foo_1 {
+ A,
+ B
+}