1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
class CrashTest {
def foo = ()
trait CrashTestTable {
def cols = foo
}
// This was leading to a class between the mixed in
// outer accessor and the outer accessor of this object.
object CrashTestTable extends CrashTestTable {
foo
cols
}
}
class CrashTest1 {
def foo = ()
class CrashTestTable {
def cols = foo
}
object CrashTestTable extends CrashTestTable {
foo
cols
}
}
class CrashTest2 {
def foo = ()
trait CrashTestTable {
def cols = foo
}
object Obj extends CrashTestTable {
foo
cols
}
}
class CrashTest3 {
def foo = ()
def meth() {
trait CrashTestTable {
def cols = foo
}
object Obj extends CrashTestTable {
foo
cols
}
Obj
}
}
object Test extends App {
{
val c = new CrashTest
c.CrashTestTable
}
{
val c = new CrashTest1
c.CrashTestTable
}
{
val c = new CrashTest2
c.Obj
}
{
val c = new CrashTest3
c.meth()
}
}
|