diff options
author | Donna Malayeri <lindydonna@gmail.com> | 2009-11-27 13:36:37 +0000 |
---|---|---|
committer | Donna Malayeri <lindydonna@gmail.com> | 2009-11-27 13:36:37 +0000 |
commit | 3bf4c1afc082b617b69f4520a71c2eefe30454f7 (patch) | |
tree | 1fb70325373f5f0edc6c744fdaaeb8f4d415cf76 | |
parent | bc5eb3e511489e5e24fcc016a907ac7f32ca6184 (diff) | |
download | scala-3bf4c1afc082b617b69f4520a71c2eefe30454f7.tar.gz scala-3bf4c1afc082b617b69f4520a71c2eefe30454f7.tar.bz2 scala-3bf4c1afc082b617b69f4520a71c2eefe30454f7.zip |
Undo previous change to Typers; use filter if m...
Undo previous change to Typers; use filter if method withFilter is not
available.
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index 59362e2874..58146ffd80 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -3898,7 +3898,26 @@ trait Typers { self: Analyzer => if (util.Statistics.enabled) selcnt += 1 var qual1 = checkDead(typedQualifier(qual, mode)) if (name.isTypeName) qual1 = checkStable(qual1) - val tree1 = typedSelect(qual1, name) + + val tree1 = // temporarily use `filter' and an alternative for `withFilter' + if (name == nme.withFilter) + silent(_ => typedSelect(qual1, name)) match { + case result1: Tree => + result1 + case ex1: TypeError => + silent(_ => typed1(Select(qual1, nme.filter) setPos tree.pos, mode, pt)) match { + case result2: Tree => + unit.deprecationWarning( + tree.pos, "`withFilter' method does not yet exist on "+qual1.tpe.widen+ + ", using `filter' method instead") + result2 + case ex2: TypeError => + reportTypeError(tree.pos, ex1) + setError(tree) + } + } + else + typedSelect(qual1, name) if (qual1.symbol == RootPackage) treeCopy.Ident(tree1, name) else tree1 |