@@ -611,7 +611,7 @@ object Trees {
611
611
*
612
612
* Match(EmptyTree, <case x: Throwable => $anonfun(x)>)
613
613
*/
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 ])
615
615
extends TermTree [T ] {
616
616
type ThisTree [- T >: Untyped ] = Try [T ]
617
617
}
@@ -1024,9 +1024,9 @@ object Trees {
1024
1024
case tree : Return if (expr eq tree.expr) && (from eq tree.from) => tree
1025
1025
case _ => finalize(tree, untpd.Return (expr, from))
1026
1026
}
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))
1030
1030
}
1031
1031
def Throw (tree : Tree )(expr : Tree )(implicit ctx : Context ): Throw = tree match {
1032
1032
case tree : Throw if (expr eq tree.expr) => tree
@@ -1128,8 +1128,8 @@ object Trees {
1128
1128
Closure (tree : Tree )(env, meth, tpt)
1129
1129
def CaseDef (tree : CaseDef )(pat : Tree = tree.pat, guard : Tree = tree.guard, body : Tree = tree.body)(implicit ctx : Context ): CaseDef =
1130
1130
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)
1133
1133
def UnApply (tree : UnApply )(fun : Tree = tree.fun, implicits : List [Tree ] = tree.implicits, patterns : List [Tree ] = tree.patterns): UnApply =
1134
1134
UnApply (tree : Tree )(fun, implicits, patterns)
1135
1135
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 {
1181
1181
cpy.CaseDef (tree)(transform(pat), transform(guard), transform(body))
1182
1182
case Return (expr, from) =>
1183
1183
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))
1186
1186
case Throw (expr) =>
1187
1187
cpy.Throw (tree)(transform(expr))
1188
1188
case SeqLiteral (elems) =>
0 commit comments