Skip to content

Commit eae7dac

Browse files
committed
update check now that trait vals can be concrete, use names not letters
note the progression in a concrete trait val now being recognized as such ``` -trait T => true -method $init$ => false -value z1 => true -value z2 => true // z2 is actually concrete! ```
1 parent 255cc06 commit eae7dac

File tree

2 files changed

+43
-43
lines changed

2 files changed

+43
-43
lines changed

test/files/run/t7533.check

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
Testing Symbol.isAbstract...
22
=======class C=======
3-
class C => true
4-
constructor C => false
5-
value x1 => true
6-
value x2 => false
7-
value x2 => false
8-
method y1 => true
9-
method y2 => false
10-
type T1 => true
11-
type T2 => false
3+
class C => abstract
4+
constructor C => concrete
5+
value xAbs => abstract
6+
value x => concrete
7+
value x => concrete
8+
method yAbs => abstract
9+
method y => concrete
10+
type TAbs => abstract
11+
type T => concrete
1212
=======trait T=======
13-
trait T => true
14-
method $init$ => false
15-
value z1 => true
16-
value z2 => true
17-
method w1 => true
18-
method w2 => false
19-
type U1 => true
20-
type U2 => false
21-
method T$_setter_$z2_= => true
22-
=======class D=======
23-
class D => false
24-
constructor D => false
25-
value x1 => false
26-
value x1 => false
27-
method y1 => false
13+
trait T => abstract
14+
method $init$ => concrete
15+
value zAbs => abstract
16+
value z => concrete
17+
method wAbs => abstract
18+
method w => concrete
19+
type UAbs => abstract
20+
type U => concrete
21+
method T$_setter_$z_= => abstract
22+
=======class AllConcrete=======
23+
class AllConcrete => concrete
24+
constructor AllConcrete => concrete
25+
value xAbs => concrete
26+
value xAbs => concrete
27+
method yAbs => concrete
2828
=======object M=======
29-
object M => false
30-
constructor M => false
29+
object M => concrete
30+
constructor M => concrete

test/files/run/t7533.scala

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
import scala.reflect.runtime.universe._
22

33
abstract class C {
4-
val x1: Int
5-
val x2: Int = 2
6-
def y1: Int
7-
def y2: Int = 2
8-
type T1 <: Int
9-
type T2 = Int
4+
val xAbs: Int
5+
val x: Int = 2
6+
def yAbs: Int
7+
def y: Int = 2
8+
type TAbs <: Int
9+
type T = Int
1010
}
1111
trait T {
12-
val z1: Int
13-
val z2: Int = 2
14-
def w1: Int
15-
def w2: Int = 2
16-
type U1 <: Int
17-
type U2 = Int
12+
val zAbs: Int
13+
val z: Int = 2
14+
def wAbs: Int
15+
def w: Int = 2
16+
type UAbs <: Int
17+
type U = Int
1818
}
19-
class D extends C {
20-
val x1 = 3
21-
def y1 = 3
19+
class AllConcrete extends C {
20+
val xAbs = 3
21+
def yAbs = 3
2222
}
2323
object M
2424

@@ -27,12 +27,12 @@ object Test extends App {
2727
def test[T: TypeTag] = {
2828
val sym = typeOf[T].typeSymbol
2929
println(s"=======$sym=======")
30-
def printAbstract(sym: Symbol) = println(s"$sym => ${sym.isAbstract}")
30+
def printAbstract(sym: Symbol) = println(s"$sym => ${if (sym.isAbstract) "abstract" else "concrete"}")
3131
printAbstract(sym)
3232
sym.info.decls.sorted.foreach(printAbstract)
3333
}
3434
test[C]
3535
test[T]
36-
test[D]
36+
test[AllConcrete]
3737
test[M.type]
3838
}

0 commit comments

Comments
 (0)