aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/TreeChecker.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-03-02 14:31:13 +0100
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-03-18 11:14:13 +0100
commit7bd12db9dfad6b5fd28c87e369fa093158840bf7 (patch)
tree2546159901f6f6bc6a66f051ff4948f62a42855f /src/dotty/tools/dotc/transform/TreeChecker.scala
parent9adaf253f3a15a8cad3c05bd6bbd75732a70fe3f (diff)
downloaddotty-7bd12db9dfad6b5fd28c87e369fa093158840bf7.tar.gz
dotty-7bd12db9dfad6b5fd28c87e369fa093158840bf7.tar.bz2
dotty-7bd12db9dfad6b5fd28c87e369fa093158840bf7.zip
Avoid escaping pattern bound variables
... by applying the same "ensureNoLocalRefs" logic we already apply to blocks. This change is necessitated by Pickling - escaping variables are not defined before being referenced. The change uncovered in turn problems in type avoidance.
Diffstat (limited to 'src/dotty/tools/dotc/transform/TreeChecker.scala')
-rw-r--r--src/dotty/tools/dotc/transform/TreeChecker.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/TreeChecker.scala b/src/dotty/tools/dotc/transform/TreeChecker.scala
index 0edf07cf4..b2d4abe10 100644
--- a/src/dotty/tools/dotc/transform/TreeChecker.scala
+++ b/src/dotty/tools/dotc/transform/TreeChecker.scala
@@ -279,8 +279,8 @@ class TreeChecker extends Phase with SymTransformer {
super.typedStats(trees, exprOwner)
}
- override def ensureNoLocalRefs(block: Block, pt: Type, forcedDefined: Boolean = false)(implicit ctx: Context): Tree =
- block
+ override def ensureNoLocalRefs(tree: Tree, pt: Type, localSyms: => List[Symbol], forcedDefined: Boolean = false)(implicit ctx: Context): Tree =
+ tree
override def adapt(tree: Tree, pt: Type, original: untpd.Tree = untpd.EmptyTree)(implicit ctx: Context) = {
def isPrimaryConstructorReturn =