scala-ide / scala-worksheet

A Scala IDE plugin for a multi-line REPL (called worksheet)
96 stars 24 forks source link

ClassFormatError: Duplicate field name&signature in class file gen #221

Open valtih1978 opened 9 years ago

valtih1978 commented 9 years ago

object generator {

// i = Leaf() below if new object is commented out and ClassFormatError otherwise
new Object {}                             //> res0: Object = generator$$anonfun$main$1$$anon$1@f9d4f7

trait Tree {
    def and = Leaf() // this can also be commented to remove the error
}

case class Leaf() extends Tree

val i = Leaf()                            //> java.lang.ClassFormatError: Duplicate field name&signature in class file gen
                                              //| erator$$anonfun$main$1$Leaf$2
                                              //|   at java.lang.ClassLoader.defineClass1(Native Method)
                                              //|   at java.lang.ClassLoader.defineClass(Unknown Source)
                                              //|   at java.security.SecureClassLoader.defineClass(Unknown Source)
                                              //|   at java.net.URLClassLoader.defineClass(Unknown Source)
                                              //|   at java.net.URLClassLoader.access$100(Unknown Source)
                                              //|   at java.net.URLClassLoader$1.run(Unknown Source)
                                              //|   at java.net.URLClassLoader$1.run(Unknown Source)
                                              //|   at java.security.AccessController.doPrivileged(Native Method)
                                              //|   at java.net.URLClassLoader.findClass(Unknown Source)
                                              //|   at java.lang.ClassLoader.loadClass(Unknown Source)
                                              //|   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
                                              //|   at java.lang.ClassLoader.loadClass(Unknown Source)
                                              //|   at generator$$anonfun$main$1$Leaf$3$.apply(generator.scala:12)
                                              //|   at generator$$anonfun$main$1.apply$mcV$sp(generator.scala:14)
                                              //|   at org.scalaide
                                              //| Output exceeds cutoff limit.

}