@@ -611,7 +611,7 @@ object Trees {
611611 *
612612 * Match(EmptyTree, <case x: Throwable => $anonfun(x)>)
613613 */
614- case class Try [- T >: Untyped ] private [ast] (expr : Tree [T ], handler : Tree [ T ], finalizer : Tree [T ])
614+ case class Try [- T >: Untyped ] private [ast] (expr : Tree [T ], cases : List [ CaseDef [ T ] ], finalizer : Tree [T ])
615615 extends TermTree [T ] {
616616 type ThisTree [- T >: Untyped ] = Try [T ]
617617 }
@@ -1024,9 +1024,9 @@ object Trees {
10241024 case tree : Return if (expr eq tree.expr) && (from eq tree.from) => tree
10251025 case _ => finalize(tree, untpd.Return (expr, from))
10261026 }
1027- def Try (tree : Tree )(expr : Tree , handler : Tree , finalizer : Tree )(implicit ctx : Context ): Try = tree match {
1028- case tree : Try if (expr eq tree.expr) && (handler eq tree.handler ) && (finalizer eq tree.finalizer) => tree
1029- case _ => finalize(tree, untpd.Try (expr, handler , finalizer))
1027+ def Try (tree : Tree )(expr : Tree , cases : List [ CaseDef ] , finalizer : Tree )(implicit ctx : Context ): Try = tree match {
1028+ case tree : Try if (expr eq tree.expr) && (cases eq tree.cases ) && (finalizer eq tree.finalizer) => tree
1029+ case _ => finalize(tree, untpd.Try (expr, cases , finalizer))
10301030 }
10311031 def Throw (tree : Tree )(expr : Tree )(implicit ctx : Context ): Throw = tree match {
10321032 case tree : Throw if (expr eq tree.expr) => tree
@@ -1128,8 +1128,8 @@ object Trees {
11281128 Closure (tree : Tree )(env, meth, tpt)
11291129 def CaseDef (tree : CaseDef )(pat : Tree = tree.pat, guard : Tree = tree.guard, body : Tree = tree.body)(implicit ctx : Context ): CaseDef =
11301130 CaseDef (tree : Tree )(pat, guard, body)
1131- def Try (tree : Try )(expr : Tree = tree.expr, handler : Tree = tree.handler , finalizer : Tree = tree.finalizer)(implicit ctx : Context ): Try =
1132- Try (tree : Tree )(expr, handler , finalizer)
1131+ def Try (tree : Try )(expr : Tree = tree.expr, cases : List [ CaseDef ] = tree.cases , finalizer : Tree = tree.finalizer)(implicit ctx : Context ): Try =
1132+ Try (tree : Tree )(expr, cases , finalizer)
11331133 def UnApply (tree : UnApply )(fun : Tree = tree.fun, implicits : List [Tree ] = tree.implicits, patterns : List [Tree ] = tree.patterns): UnApply =
11341134 UnApply (tree : Tree )(fun, implicits, patterns)
11351135 def ValDef (tree : ValDef )(mods : Modifiers = tree.mods, name : TermName = tree.name, tpt : Tree = tree.tpt, rhs : Tree = tree.rhs): ValDef =
@@ -1181,8 +1181,8 @@ object Trees {
11811181 cpy.CaseDef (tree)(transform(pat), transform(guard), transform(body))
11821182 case Return (expr, from) =>
11831183 cpy.Return (tree)(transform(expr), transformSub(from))
1184- case Try (block, handler , finalizer) =>
1185- cpy.Try (tree)(transform(block), transform(handler ), transform(finalizer))
1184+ case Try (block, cases , finalizer) =>
1185+ cpy.Try (tree)(transform(block), transformSub(cases ), transform(finalizer))
11861186 case Throw (expr) =>
11871187 cpy.Throw (tree)(transform(expr))
11881188 case SeqLiteral (elems) =>
0 commit comments