scala> main.main(Array())
java.lang.ClassFormatError: Duplicate method name&signature in class file main$$anonfun$d$1
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at main$.d(<console>:13)
at main$.main(<console>:17)
... 32 elided
scala> :javap main$$anonfun$d$1
Size 1361 bytes
MD5 checksum c7a82ba8510bdc92cbce7467751a7abb
Compiled from "test.scala"
public final class main$$anonfun$d$1 extends scala.runtime.AbstractPartialFunction<java.lang.Object, java.lang.Object> implements scala.Serializable
Signature: #3 // Lscala/runtime/AbstractPartialFunction<Ljava/lang/Object;Ljava/lang/Object;>;Lscala/Serializable;
SourceFile: "test.scala"
EnclosingMethod: #10.#13 // main$.d
InnerClasses:
public static final #2; //class main$$anonfun$d$1
Error: unknown attribute
Scala: length = 0x0
minor version: 0
major version: 50
flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER
Constant pool:
#1 = Utf8 main$$anonfun$d$1
#2 = Class #1 // main$$anonfun$d$1
#3 = Utf8 Lscala/runtime/AbstractPartialFunction<Ljava/lang/Object;Ljava/lang/Object;>;Lscala/Serializable;
#4 = Utf8 scala/runtime/AbstractPartialFunction
#5 = Class #4 // scala/runtime/AbstractPartialFunction
#6 = Utf8 scala/Serializable
#7 = Class #6 // scala/Serializable
#8 = Utf8 test.scala
#9 = Utf8 main$
#10 = Class #9 // main$
#11 = Utf8 d
#12 = Utf8 ()Lscala/PartialFunction;
#13 = NameAndType #11:#12 // d:()Lscala/PartialFunction;
#14 = Utf8 applyOrElse
#15 = Utf8 (Ljava/lang/Object;Lscala/Function1;)Ljava/lang/Object;
#16 = Utf8 scala/runtime/BoxesRunTime
#17 = Class #16 // scala/runtime/BoxesRunTime
#18 = Utf8 unboxToInt
#19 = Utf8 (Ljava/lang/Object;)I
#20 = NameAndType #18:#19 // unboxToInt:(Ljava/lang/Object;)I
#21 = Methodref #17.#20 // scala/runtime/BoxesRunTime.unboxToInt:(Ljava/lang/Object;)I
#22 = Utf8 scala/runtime/BoxedUnit
#23 = Class #22 // scala/runtime/BoxedUnit
#24 = Utf8 UNIT
#25 = Utf8 Lscala/runtime/BoxedUnit;
#26 = NameAndType #24:#25 // UNIT:Lscala/runtime/BoxedUnit;
#27 = Fieldref #23.#26 // scala/runtime/BoxedUnit.UNIT:Lscala/runtime/BoxedUnit;
#28 = Utf8 this
#29 = Utf8 Lmain$$anonfun$d$1;
#30 = Utf8 x1
#31 = Utf8 Ljava/lang/Object;
#32 = Utf8 default
#33 = Utf8 Lscala/Function1;
#34 = Utf8 isDefinedAt
#35 = Utf8 (I)Z
#36 = Utf8 I
#37 = Utf8 (Ljava/lang/Object;)Z
#38 = NameAndType #34:#35 // isDefinedAt:(I)Z
#39 = Methodref #2.#38 // main$$anonfun$d$1.isDefinedAt:(I)Z
#40 = Utf8 x
#41 = Utf8 (ILscala/Function1;)Ljava/lang/Object;
#42 = NameAndType #14:#41 // applyOrElse:(ILscala/Function1;)Ljava/lang/Object;
#43 = Methodref #2.#42 // main$$anonfun$d$1.applyOrElse:(ILscala/Function1;)Ljava/lang/Object;
#44 = Utf8 <init>
#45 = Utf8 ()V
#46 = NameAndType #44:#45 // "<init>":()V
#47 = Methodref #5.#46 // scala/runtime/AbstractPartialFunction."<init>":()V
#48 = Utf8 Code
#49 = Utf8 LocalVariableTable
#50 = Utf8 LineNumberTable
#51 = Utf8 Signature
#52 = Utf8 <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1;
#53 = Utf8 SourceFile
#54 = Utf8 EnclosingMethod
#55 = Utf8 InnerClasses
#56 = Utf8 Scala
{
public final <A1 extends java.lang.Object, B1 extends java.lang.Object> B1 applyOrElse(A1, scala.Function1<A1, B1>);
descriptor: (Ljava/lang/Object;Lscala/Function1;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=5, args_size=3
0: aload_1
1: invokestatic #21 // Method scala/runtime/BoxesRunTime.unboxToInt:(Ljava/lang/Object;)I
4: istore_3
5: getstatic #27 // Field scala/runtime/BoxedUnit.UNIT:Lscala/runtime/BoxedUnit;
8: astore 4
10: aload 4
12: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 13 0 this Lmain$$anonfun$d$1;
0 13 1 x1 Ljava/lang/Object;
0 13 2 default Lscala/Function1;
LineNumberTable:
line 8: 0
Signature: #52 // <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1;
public final boolean isDefinedAt(int);
descriptor: (I)Z
flags: ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=4, args_size=2
0: iload_1
1: istore_2
2: iconst_1
3: istore_3
4: iload_3
5: ireturn
LocalVariableTable:
Start Length Slot Name Signature
0 6 0 this Lmain$$anonfun$d$1;
0 6 1 x1 I
LineNumberTable:
line 8: 0
public final boolean isDefinedAt(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: ACC_PUBLIC, ACC_FINAL, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload_0
1: aload_1
2: invokestatic #21 // Method scala/runtime/BoxesRunTime.unboxToInt:(Ljava/lang/Object;)I
5: invokevirtual #39 // Method isDefinedAt:(I)Z
8: ireturn
LocalVariableTable:
Start Length Slot Name Signature
0 9 0 this Lmain$$anonfun$d$1;
0 9 1 x Ljava/lang/Object;
LineNumberTable:
line 8: 0
public final java.lang.Object applyOrElse(java.lang.Object, scala.Function1);
descriptor: (Ljava/lang/Object;Lscala/Function1;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_FINAL, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload_0
1: aload_1
2: invokestatic #21 // Method scala/runtime/BoxesRunTime.unboxToInt:(Ljava/lang/Object;)I
5: aload_2
6: invokevirtual #43 // Method applyOrElse:(ILscala/Function1;)Ljava/lang/Object;
9: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 10 0 this Lmain$$anonfun$d$1;
0 10 1 x Ljava/lang/Object;
0 10 2 default Lscala/Function1;
LineNumberTable:
line 8: 0
public main$$anonfun$d$1();
descriptor: ()V
flags: ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: invokespecial #47 // Method scala/runtime/AbstractPartialFunction."<init>":()V
4: return
LocalVariableTable:
Start Length Slot Name Signature
0 5 0 this Lmain$$anonfun$d$1;
LineNumberTable:
line 8: 0
}