S
Square$RichInt
, класс объекта-компаньона - Square$RichInt$
. Экземпляр объекта компаньона - public static Square$RichInt$ MODULE$
.Size: a a a
S
Square$RichInt
, класс объекта-компаньона - Square$RichInt$
. Экземпляр объекта компаньона - public static Square$RichInt$ MODULE$
.AP
S
AP
S
S
S
public final void weirdMethod$extension(int, int);
Code:
0: getstatic #29 // Field scala/Predef$.MODULE$:Lscala/Predef$;
3: iload_1
4: iload_2
5: iadd
6: bipush 8
8: isub
9: invokestatic #35 // Method scala/runtime/BoxesRunTime.boxToInteger:(I)Ljava/lang/Integer;
12: invokevirtual #39 // Method scala/Predef$.println:(Ljava/lang/Object;)V
15: return
AP
S
AP
AP
AP
S
S
$ cat <<EOF > build.sbt
scalaVersion := "2.13.5"
EOF
$ cat <<EOF > test.scala
object Square {
implicit class RichInt(private val i: Int) extends AnyVal {
def weirdMethod(x: Int) = println(i + x - 8)
}
10.weirdMethod(5)
}
EOF
$ sbt compile
$ javap -p -c target/scala-2.13/classes/Square\$RichInt\$.class
v
GP
S
GP
AP
v