λ
Size: a a a
λ
AS
AS
VE
AS
VE
λ
S
λ
VE
λ
AS
S
λ
AS
final implicit class HasIsEven extends scala.AnyVal {
<paramaccessor> private[this] val n: Int = _;
def <init>(n: Int): A.HasIsEven = {
HasIsEven.super.<init>();
()
};
def isEven: Boolean = HasIsEven.this.n.%(2).==(0);
override <synthetic> def hashCode(): Int = HasIsEven.this.<<none>: error>.<hashCode: error>;
override <synthetic> def equals(x$1: Any): Boolean = x$1 match {
case (_: A.HasIsEven) => true
case _ => false
}.&&({
<synthetic> val HasIsEven$1: A.HasIsEven = x$1.asInstanceOf[A.HasIsEven];
HasIsEven.this.<<none>: error>.<<none>: error>(HasIsEven$1.<<none>: error>)
})
};
implicit <synthetic> def HasIsEven(n: Int): A.HasIsEven = new HasIsEven(n);
<synthetic> object HasIsEven extends AnyRef {
def <init>(): A.HasIsEven.type = {
HasIsEven.super.<init>();
()
}
};
A.this.HasIsEven(42).isEven
VE
S
AS
S
18: invokevirtual #26 // Method HasIsEven:(I)I
21: invokevirtual #30 // Method tmp$HasIsEven$.isEven$extension:(I)Z
15: invokevirtual #22 // Method HasIsEven:(I)Ltmp$HasIsEven;
18: invokevirtual #26 // Method tmp$HasIsEven.isEven:()Z