aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index 355b9f263..4b49d2669 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -666,20 +666,9 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
def typedTry(tree: untpd.Try, pt: Type)(implicit ctx: Context): Try = track("typedTry") {
val expr1 = typed(tree.expr, pt)
- val handler1: Tree = tree.handler match {
- case h: untpd.Match if ((h.selector eq EmptyTree) // comes from parser
- || (h.selector eq ExceptionHandlerSel)) => // during retyping
- val cases1 = typedCases(h.cases, defn.ThrowableType, pt)
- assignType(untpd.Match(Typed(ExceptionHandlerSel, TypeTree(defn.ThrowableType)), cases1), cases1)
- case Typed(handler, tpe) if ctx.phaseId > ctx.patmatPhase.id => // we are retyping an expanded pattern
- typed(tree.handler, pt)
- case Apply(bx, List(Typed(handler, tpe))) if ctx.erasedTypes && Boxing.isBox(bx.symbol) =>
- typed(tree.handler, pt)
- case _ => typed(tree.handler, defn.FunctionType(defn.ThrowableType :: Nil, pt))
-
- }
+ val cases1 = typedCases(tree.cases, defn.ThrowableType, pt)
val finalizer1 = typed(tree.finalizer, defn.UnitType)
- assignType(cpy.Try(tree)(expr1, handler1, finalizer1), expr1, handler1)
+ assignType(cpy.Try(tree)(expr1, cases1, finalizer1), expr1, cases1)
}
def typedThrow(tree: untpd.Throw)(implicit ctx: Context): Throw = track("typedThrow") {