@@ -281,6 +281,11 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
281
281
case tree : ModuleDef if (name eq tree.name) && (impl eq tree.impl) => tree
282
282
case _ => untpd.ModuleDef (name, impl).withPos(tree.pos)
283
283
}
284
+ def ParsedTry (tree : Tree )(expr : Tree , handler : Tree , finalizer : Tree ) = tree match {
285
+ case tree : ParsedTry
286
+ if (expr eq tree.expr) && (handler eq tree.handler) && (finalizer eq tree.finalizer) => tree
287
+ case _ => untpd.ParsedTry (expr, handler, finalizer).withPos(tree.pos)
288
+ }
284
289
def PolyTypeDef (tree : Tree )(name : TypeName , tparams : List [TypeDef ], rhs : Tree ) = tree match {
285
290
case tree : PolyTypeDef if (name eq tree.name) && (tparams eq tree.tparams) && (rhs eq tree.rhs) => tree
286
291
case _ => new PolyTypeDef (name, tparams, rhs).withPos(tree.pos)
@@ -359,6 +364,8 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
359
364
override def transform (tree : Tree )(implicit ctx : Context ): Tree = tree match {
360
365
case ModuleDef (name, impl) =>
361
366
cpy.ModuleDef (tree)(name, transformSub(impl))
367
+ case ParsedTry (expr, handler, finalizer) =>
368
+ cpy.ParsedTry (tree)(transform(expr), transform(handler), transform(finalizer))
362
369
case SymbolLit (str) =>
363
370
cpy.SymbolLit (tree)(str)
364
371
case InterpolatedString (id, strings, elems) =>
@@ -404,6 +411,8 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
404
411
override def foldOver (x : X , tree : Tree )(implicit ctx : Context ): X = tree match {
405
412
case ModuleDef (name, impl) =>
406
413
this (x, impl)
414
+ case ParsedTry (expr, handler, finalizer) =>
415
+ this (this (this (x, expr), handler), finalizer)
407
416
case SymbolLit (str) =>
408
417
x
409
418
case InterpolatedString (id, strings, elems) =>
0 commit comments