diff options
author | Martin Odersky <odersky@gmail.com> | 2015-03-02 14:31:13 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-18 11:14:13 +0100 |
commit | 7bd12db9dfad6b5fd28c87e369fa093158840bf7 (patch) | |
tree | 2546159901f6f6bc6a66f051ff4948f62a42855f /src/dotty/tools/dotc/transform/TreeChecker.scala | |
parent | 9adaf253f3a15a8cad3c05bd6bbd75732a70fe3f (diff) | |
download | dotty-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.scala | 4 |
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 = |