blob: 7bd8cd720232b0b5d622e4cc2b1769a61a7c15cb (
plain) (
tree)
|
|
[[syntax trees at end of lambdalift]] // newSource1.scala
package <empty> {
class T extends Object {
<paramaccessor> private[this] val classParam: Int = _;
def <init>(classParam: Int): T = {
T.super.<init>();
()
};
private[this] val field: Int = 0;
<stable> <accessor> def field(): Int = T.this.field;
def foo(methodParam: Int): Function0 = {
val methodLocal: Int = 0;
{
(() => T.this.$anonfun$1(methodParam, methodLocal)).$asInstanceOf[Function0]()
}
};
def bar(barParam: Int): Object = {
@volatile var MethodLocalObject$module: runtime.VolatileObjectRef = scala.runtime.VolatileObjectRef.zero();
T.this.MethodLocalObject$1(barParam, MethodLocalObject$module)
};
def tryy(tryyParam: Int): Function0 = {
var tryyLocal: runtime.IntRef = scala.runtime.IntRef.create(0);
{
(() => T.this.$anonfun$2(tryyParam, tryyLocal)).$asInstanceOf[Function0]()
}
};
final <artifact> private[this] def $anonfun$1(methodParam$1: Int, methodLocal$1: Int): Int = T.this.classParam.+(T.this.field()).+(methodParam$1).+(methodLocal$1);
abstract trait MethodLocalTrait$1 extends Object {
<synthetic> <stable> <artifact> def $outer(): T
};
object MethodLocalObject$2 extends Object with T#MethodLocalTrait$1 {
def <init>($outer: T, barParam$1: Int): T#MethodLocalObject$2.type = {
MethodLocalObject$2.super.<init>();
MethodLocalObject$2.this.$asInstanceOf[T#MethodLocalTrait$1$class]()./*MethodLocalTrait$1$class*/$init$(barParam$1);
()
};
<synthetic> <paramaccessor> <artifact> private[this] val $outer: T = _;
<synthetic> <stable> <artifact> def $outer(): T = MethodLocalObject$2.this.$outer;
<synthetic> <stable> <artifact> def $outer(): T = MethodLocalObject$2.this.$outer
};
final <stable> private[this] def MethodLocalObject$1(barParam$1: Int, MethodLocalObject$module$1: runtime.VolatileObjectRef): T#MethodLocalObject$2.type = {
MethodLocalObject$module$1.elem = new T#MethodLocalObject$2.type(T.this, barParam$1);
MethodLocalObject$module$1.elem.$asInstanceOf[T#MethodLocalObject$2.type]()
};
abstract trait MethodLocalTrait$1$class extends Object with T#MethodLocalTrait$1 {
def /*MethodLocalTrait$1$class*/$init$(barParam$1: Int): Unit = {
()
};
scala.this.Predef.print(scala.Int.box(barParam$1))
};
final <artifact> private[this] def $anonfun$2(tryyParam$1: Int, tryyLocal$1: runtime.IntRef): Unit = try {
tryyLocal$1.elem = tryyParam$1
} finally ()
}
}
warning: there was one feature warning; re-run with -feature for details
|