summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/files/run/t7533.check30
-rw-r--r--test/files/run/t7533.scala38
2 files changed, 68 insertions, 0 deletions
diff --git a/test/files/run/t7533.check b/test/files/run/t7533.check
new file mode 100644
index 0000000000..fa5b3edc8f
--- /dev/null
+++ b/test/files/run/t7533.check
@@ -0,0 +1,30 @@
+Testing Symbol.isAbstract...
+=======class C=======
+class C => true
+constructor C => false
+value x1 => true
+value x2 => false
+value x2 => false
+method y1 => true
+method y2 => false
+type T1 => true
+type T2 => false
+=======trait T=======
+trait T => true
+method $init$ => false
+value z1 => true
+value z2 => false
+value z2 => false
+method w1 => true
+method w2 => false
+type U1 => true
+type U2 => false
+=======class D=======
+class D => false
+constructor D => false
+value x1 => false
+value x1 => false
+method y1 => false
+=======object M=======
+object M => false
+constructor M => false
diff --git a/test/files/run/t7533.scala b/test/files/run/t7533.scala
new file mode 100644
index 0000000000..46d0b3b02e
--- /dev/null
+++ b/test/files/run/t7533.scala
@@ -0,0 +1,38 @@
+import scala.reflect.runtime.universe._
+
+abstract class C {
+ val x1: Int
+ val x2: Int = 2
+ def y1: Int
+ def y2: Int = 2
+ type T1 <: Int
+ type T2 = Int
+}
+trait T {
+ val z1: Int
+ val z2: Int = 2
+ def w1: Int
+ def w2: Int = 2
+ type U1 <: Int
+ type U2 = Int
+}
+class D extends C {
+ val x1 = 3
+ def y1 = 3
+}
+object M
+
+object Test extends App {
+ println("Testing Symbol.isAbstract...")
+ def test[T: TypeTag] = {
+ val sym = typeOf[T].typeSymbol
+ println(s"=======$sym=======")
+ def printAbstract(sym: Symbol) = println(s"$sym => ${sym.isAbstract}")
+ printAbstract(sym)
+ sym.typeSignature.declarations.sorted.foreach(printAbstract)
+ }
+ test[C]
+ test[T]
+ test[D]
+ test[M.type]
+} \ No newline at end of file