diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-10-28 21:13:47 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2014-10-30 17:22:14 +0100 |
commit | 0c967f06e9bf51e02903d1bb2c79fa1c4febf98d (patch) | |
tree | 6e23dcff2c4f19e27b246b89794deb4e4d79500f | |
parent | e07e9a3986ec59cab1f0ec2b9b4458fd6a64d8c8 (diff) | |
download | dotty-0c967f06e9bf51e02903d1bb2c79fa1c4febf98d.tar.gz dotty-0c967f06e9bf51e02903d1bb2c79fa1c4febf98d.tar.bz2 dotty-0c967f06e9bf51e02903d1bb2c79fa1c4febf98d.zip |
Get rid of ExceptionHandlerSel.
It's not used anymore as superseded by previous commit.
-rw-r--r-- | src/dotty/tools/dotc/ast/Trees.scala | 5 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/PatternMatcher.scala | 4 | ||||
-rw-r--r-- | src/dotty/tools/dotc/transform/TailRec.scala | 11 | ||||
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 2 |
4 files changed, 2 insertions, 20 deletions
diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/src/dotty/tools/dotc/ast/Trees.scala index 4cd41cc2e..71026a449 100644 --- a/src/dotty/tools/dotc/ast/Trees.scala +++ b/src/dotty/tools/dotc/ast/Trees.scala @@ -804,7 +804,7 @@ object Trees { type ThisTree[-T >: Untyped] = Thicket[T] override def isEmpty: Boolean = trees.isEmpty override def toList: List[Tree[T]] = flatten(trees) - override def toString = if(this eq theExceptionHandlerSel) "ExceptionSel" else if (isEmpty) "EmptyTree" else "Thicket(" + trees.mkString(", ") + ")" + override def toString = if (isEmpty) "EmptyTree" else "Thicket(" + trees.mkString(", ") + ")" override def withPos(pos: Position): this.type = { val newTrees = trees.map(_.withPos(pos)) new Thicket[T](newTrees).asInstanceOf[this.type] @@ -818,11 +818,9 @@ object Trees { val theEmptyTree: Thicket[Type] = Thicket(Nil) val theEmptyValDef = new EmptyValDef[Type] - val theExceptionHandlerSel: Thicket[Type] = Thicket(Nil) def genericEmptyValDef[T >: Untyped]: ValDef[T] = theEmptyValDef.asInstanceOf[ValDef[T]] def genericEmptyTree[T >: Untyped]: Thicket[T] = theEmptyTree.asInstanceOf[Thicket[T]] - def genericExceptionHandlerSel[T >: Untyped]: Thicket[T] = theExceptionHandlerSel.asInstanceOf[Thicket[T]] def flatten[T >: Untyped](trees: List[Tree[T]]): List[Tree[T]] = { var buf: ListBuffer[Tree[T]] = null @@ -913,7 +911,6 @@ object Trees { type Thicket = Trees.Thicket[T] val EmptyTree: Thicket = genericEmptyTree - val ExceptionHandlerSel: Thicket = genericExceptionHandlerSel // selector used in exception hanlder of Try nodes val EmptyValDef: ValDef = genericEmptyValDef // ----- Auxiliary creation methods ------------------ diff --git a/src/dotty/tools/dotc/transform/PatternMatcher.scala b/src/dotty/tools/dotc/transform/PatternMatcher.scala index 842582592..7631c99c8 100644 --- a/src/dotty/tools/dotc/transform/PatternMatcher.scala +++ b/src/dotty/tools/dotc/transform/PatternMatcher.scala @@ -1142,9 +1142,7 @@ class PatternMatcher extends MiniPhaseTransform with DenotTransformer {thisTrans val selectorTp = elimAnonymousClass(sel.tpe.widen/*withoutAnnotations*/) - val selectorSym = - if (sel ne ExceptionHandlerSel) freshSym(sel.pos, selectorTp, "selector") - else freshSym(match_.pos, defn.ThrowableType, "ex") + val selectorSym = freshSym(sel.pos, selectorTp, "selector") val (nonSyntheticCases, defaultOverride) = cases match { case init :+ last if isSyntheticDefaultCase(last) => (init, Some(((scrut: Symbol) => last.body))) diff --git a/src/dotty/tools/dotc/transform/TailRec.scala b/src/dotty/tools/dotc/transform/TailRec.scala index 46028e0fc..376a41646 100644 --- a/src/dotty/tools/dotc/transform/TailRec.scala +++ b/src/dotty/tools/dotc/transform/TailRec.scala @@ -231,17 +231,6 @@ class TailRec extends MiniPhaseTransform with DenotTransformer with FullParamete } def rewriteTry(tree: Try): Try = { - def transformHandlers(t: Tree): Tree = { - t match { - case Block(List((d: DefDef)), cl@Closure(Nil, _, EmptyTree)) => - val newDef = cpy.DefDef(d)(rhs = transform(d.rhs)) - Block(List(newDef), cl) - case Match(Typed(ExceptionHandlerSel, _), _) => - transform(t) - case _: Ident|_: Apply| _: TypeApply => t // handler is an external function - case _ => assert(false, s"failed to deconstruct try handler ${t.show}"); ??? - } - } if (tree.finalizer eq EmptyTree) { // SI-1672 Catches are in tail position when there is no finalizer tpd.cpy.Try(tree)( diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 4b49d2669..89edd29ca 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -345,8 +345,6 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit assignType(cpy.Typed(tree)(expr1, tpt1), tpt1) } tree.expr match { - case ExceptionHandlerSel if (tree.tpt.tpe == defn.ThrowableType) => - tree withType defn.ThrowableType case id: untpd.Ident if (ctx.mode is Mode.Pattern) && isVarPattern(id) => if (id.name == nme.WILDCARD) regularTyped(isWildcard = true) else { |