diff options
author | Paul Phillips <paulp@improving.org> | 2011-08-01 17:46:48 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-08-01 17:46:48 +0000 |
commit | daa26379ceae60b441f49dab49f367ebea027529 (patch) | |
tree | 42ab375e1071ccc625258241f876c1a4d0b75cc7 /test/files/neg/main1.scala | |
parent | 8c0fa605fba819d6ad8714a488d404e966d224b3 (diff) | |
download | scala-daa26379ceae60b441f49dab49f367ebea027529.tar.gz scala-daa26379ceae60b441f49dab49f367ebea027529.tar.bz2 scala-daa26379ceae60b441f49dab49f367ebea027529.zip |
Working on jar creation infrastructure.
output generation (but only then, since otherwise we're not creating the
jar):
1) -Xmain-class foo.Bar will give the jar a Main-Class of foo.Bar 2)
Alternatively, if there is only one runnable program, that will be
the Main-Class 3) Always, the jar's manifest will have an entry for
Scala-Compiler-Version.
Not very relatedly, a warning is now issued when a module has a main
method but a runnable program will not be generated. Closes SI-4861.
This represents an opening step toward automatically recognizing
mismatched bytecode situations: coarse, but useful and safe. Review by
mirco.
Diffstat (limited to 'test/files/neg/main1.scala')
-rw-r--r-- | test/files/neg/main1.scala | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/files/neg/main1.scala b/test/files/neg/main1.scala new file mode 100644 index 0000000000..2b5551ac38 --- /dev/null +++ b/test/files/neg/main1.scala @@ -0,0 +1,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 = () + } +} |