@@ -741,17 +741,6 @@ trait Printers
741
741
printTree(body)
742
742
}
743
743
744
- case IsDefDef (ddef @ DefDef (name, targs, argss, _, rhsOpt)) if name.startsWith(" $anonfun" ) =>
745
- // Decompile lambda definition
746
- assert(targs.isEmpty)
747
- val args :: Nil = argss
748
- val Some (rhs) = rhsOpt
749
- inParens {
750
- printArgsDefs(args)
751
- this += " => "
752
- printTree(rhs)
753
- }
754
-
755
744
case IsDefDef (ddef @ DefDef (name, targs, argss, tpt, rhs)) =>
756
745
printDefAnnotations(ddef)
757
746
@@ -912,9 +901,13 @@ trait Printers
912
901
case Inlined (_, bindings, expansion) =>
913
902
printFlatBlock(bindings, expansion)
914
903
915
- case Closure (meth, tpt) =>
916
- // Printed in by it's DefDef
917
- this
904
+ case Lambda (params, body) =>
905
+ inParens {
906
+ printArgsDefs(params)
907
+ this += " => "
908
+ printTree(body)
909
+ }
910
+
918
911
919
912
case If (cond, thenp, elsep) =>
920
913
this += highlightKeyword(" if " )
@@ -1018,24 +1011,16 @@ trait Printers
1018
1011
1019
1012
def printFlatBlock (stats : List [Statement ], expr : Term )(implicit elideThis : Option [Symbol ]): Buffer = {
1020
1013
val (stats1, expr1) = flatBlock(stats, expr)
1021
- // Remove Lambda nodes, lambdas are printed by their definition
1022
1014
val stats2 = stats1.filter {
1023
- case Closure (_, _) => false
1024
1015
case IsTypeDef (tree) => ! tree.symbol.annots.exists(_.symbol.owner.fullName == " scala.internal.Quoted$.quoteTypeTag" )
1025
1016
case _ => true
1026
1017
}
1027
- val (stats3, expr3) = expr1 match {
1028
- case Closure (_, _) =>
1029
- val init :+ last = stats2
1030
- (init, last)
1031
- case _ => (stats2, expr1)
1032
- }
1033
- if (stats3.isEmpty) {
1034
- printTree(expr3)
1018
+ if (stats2.isEmpty) {
1019
+ printTree(expr1)
1035
1020
} else {
1036
1021
this += " {"
1037
1022
indented {
1038
- printStats(stats3, expr3 )
1023
+ printStats(stats2, expr1 )
1039
1024
}
1040
1025
this += lineBreak() += " }"
1041
1026
}
0 commit comments