diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-01 16:27:48 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-09 12:11:13 -0800 |
commit | 069359240a902cc989553123a61db3f6abe8fd1a (patch) | |
tree | 905f66556212ff1a259c9d3f15c37af83ad4aff5 /src/compiler/scala/tools/nsc/typechecker/RefChecks.scala | |
parent | 882f8e640b034cc69b122ac221f75cbe0018e2c3 (diff) | |
download | scala-069359240a902cc989553123a61db3f6abe8fd1a.tar.gz scala-069359240a902cc989553123a61db3f6abe8fd1a.tar.bz2 scala-069359240a902cc989553123a61db3f6abe8fd1a.zip |
Move escaping local logic into VarianceValidator.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/RefChecks.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/RefChecks.scala | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala index 750a4f65ec..8a34d58e6e 100644 --- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala +++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala @@ -1449,18 +1449,10 @@ abstract class RefChecks extends InfoTransform with scala.reflect.internal.trans checkMigration(sym, tree.pos) checkCompileTimeOnly(sym, tree.pos) - if (sym eq NoSymbol) { - unit.warning(tree.pos, "Select node has NoSymbol! " + tree + " / " + tree.tpe) - } - else if (currentClass != sym.owner && sym.hasLocalFlag) { - var o = currentClass - var hidden = false - while (!hidden && o != sym.owner && o != sym.owner.moduleClass && !o.isPackage) { - hidden = o.isTerm || o.isPrivateLocal - o = o.owner - } - if (!hidden) varianceValidator.escapedLocals += sym - } + if (sym eq NoSymbol) + devWarning("Select node has NoSymbol! " + tree + " / " + tree.tpe) + else if (sym.hasLocalFlag) + varianceValidator.checkForEscape(sym, currentClass) def checkSuper(mix: Name) = // term should have been eliminated by super accessors |