@@ -148,7 +148,7 @@ abstract class LambdaLift extends InfoTransform {
148
148
* }
149
149
*/
150
150
private def markFree (sym : Symbol , enclosure : Symbol ): Boolean = {
151
- debuglog( " mark free: " + sym.fullLocationString + " marked free in " + enclosure)
151
+ println( s " mark free: ${ sym.fullLocationString} marked free in $ enclosure" )
152
152
(enclosure == sym.owner.logicallyEnclosingMember) || {
153
153
debuglog(" %s != %s" .format(enclosure, sym.owner.logicallyEnclosingMember))
154
154
if (enclosure.isPackageClass || ! markFree(sym, enclosure.skipConstructor.owner.logicallyEnclosingMember)) false
@@ -158,7 +158,7 @@ abstract class LambdaLift extends InfoTransform {
158
158
ss += sym
159
159
renamable += sym
160
160
changedFreeVars = true
161
- debuglog(" " + sym + " is free in " + enclosure)
161
+ debuglog(s " $ sym is free in $ enclosure" )
162
162
if (sym.isVariable) sym setFlag CAPTURED
163
163
}
164
164
! enclosure.isClass
@@ -167,7 +167,7 @@ abstract class LambdaLift extends InfoTransform {
167
167
}
168
168
169
169
private def markCalled (sym : Symbol , owner : Symbol ) {
170
- debuglog( " mark called: " + sym + " of " + sym.owner + " is called by " + owner)
170
+ println( s " mark called: $ sym of ${ sym.owner} is called by $ owner" )
171
171
symSet(called, owner) += sym
172
172
if (sym.enclClass != owner.enclClass) calledFromInner += sym
173
173
}
@@ -240,7 +240,7 @@ abstract class LambdaLift extends InfoTransform {
240
240
241
241
do {
242
242
changedFreeVars = false
243
- for (caller <- called.keys ; callee <- called(caller) ; fvs <- free get callee ; fv <- fvs)
243
+ for (( caller, callees) <- called ; callee <- callees ; fvs <- free get callee ; fv <- fvs)
244
244
markFree(fv, caller)
245
245
} while (changedFreeVars)
246
246
@@ -468,12 +468,11 @@ abstract class LambdaLift extends InfoTransform {
468
468
private def postTransform (tree : Tree , isBoxedRef : Boolean = false ): Tree = {
469
469
val sym = tree.symbol
470
470
tree match {
471
- case ClassDef (_, _, _, _) =>
472
- val tree1 = addFreeParams(tree, sym)
473
- if (sym.isLocalToBlock) liftDef(tree1) else tree1
474
- case DefDef (_, _, _, _, _, _) =>
475
- val tree1 = addFreeParams(tree, sym)
476
- if (sym.isLocalToBlock) liftDef(tree1) else tree1
471
+ case _ : ClassDef | _ : DefDef =>
472
+ val withFreeParams = addFreeParams(tree, sym)
473
+ if (sym.isLocalToBlock) liftDef(withFreeParams)
474
+ else withFreeParams
475
+
477
476
case ValDef (mods, name, tpt, rhs) =>
478
477
if (sym.isCapturedVariable) {
479
478
val tpt1 = TypeTree (sym.tpe) setPos tpt.pos
0 commit comments