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
|
// negatives
package foo1 {
object Foo { // companion is trait
def main(args: Array[String]): Unit = ()
}
trait Foo
}
package foo2 {
object Foo { // companion has its own main
def main(args: Array[String]): Unit = ()
}
class Foo {
def main(args: Array[String]): Unit = ()
}
}
// these should all be made to work, but are negatives for now
// because forwarders need more work.
package foo3 {
object Foo { // Companion contains main, but not an interfering main.
def main(args: Array[String]): Unit = ()
}
class Foo {
def main(args: Int): Unit = ()
}
}
package foo4 {
object Foo extends Foo { // Inherits main from the class
}
class Foo {
def main(args: Array[String]): Unit = ()
}
}
package foo5 {
object Foo extends Foo { // Overrides main from the class
override def main(args: Array[String]): Unit = ()
}
class Foo {
def main(args: Array[String]): Unit = ()
}
}
|