diff options
author | Martin Odersky <odersky@gmail.com> | 2007-08-21 16:45:26 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-08-21 16:45:26 +0000 |
commit | 649289cb6882a3534ef7ac2f4a50e096af84c45f (patch) | |
tree | daa70c139383a7f186c391e6c881bac3d20ae9c2 /src/compiler/scala/tools/nsc/typechecker/Typers.scala | |
parent | 2ddb10dfa4f88208ed651a3d9a0e79720c74462c (diff) | |
download | scala-649289cb6882a3534ef7ac2f4a50e096af84c45f.tar.gz scala-649289cb6882a3534ef7ac2f4a50e096af84c45f.tar.bz2 scala-649289cb6882a3534ef7ac2f4a50e096af84c45f.zip |
fixed bug1274
moved a bunch of `unapply' definitions from Definitions to a new trait,
typechecker.UnApplies
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index c0052ccc10..c162eacc1d 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -701,7 +701,7 @@ trait Typers { self: Analyzer => } tree1 } else { - val extractor = tree.symbol.filter(sym => definitions.unapplyMember(sym.tpe).exists) + val extractor = tree.symbol.filter(sym => unapplyMember(sym.tpe).exists) if (extractor != NoSymbol) { tree setSymbol extractor } else { @@ -1577,7 +1577,7 @@ trait Typers { self: Analyzer => if (forMSIL) { fun match { case Select(qual, name) => - if (isSubType(qual.tpe, definitions.DelegateClass.tpe) + if (isSubType(qual.tpe, DelegateClass.tpe) && (name == encode("+=") || name == encode("-="))) { val n = if (name == encode("+=")) nme.PLUS else nme.MINUS @@ -1631,8 +1631,8 @@ trait Typers { self: Analyzer => setError(copy.Apply(tree, fun, args)) /* --- begin unapply --- */ - case otpe if (mode & PATTERNmode) != 0 && definitions.unapplyMember(otpe).exists => - val unapp = definitions.unapplyMember(otpe) + case otpe if (mode & PATTERNmode) != 0 && unapplyMember(otpe).exists => + val unapp = unapplyMember(otpe) assert(unapp.exists, tree) val unappType = otpe.memberType(unapp) val argDummyType = pt // was unappArg @@ -2134,7 +2134,7 @@ trait Typers { self: Analyzer => case Select(qual, name) if (forMSIL && pt != WildcardType && pt != ErrorType && - isSubType(pt, definitions.DelegateClass.tpe)) => + isSubType(pt, DelegateClass.tpe)) => val scalaCaller = newScalaCaller(pt); addScalaCallerInfo(scalaCaller, expr1.symbol) val n: Name = scalaCaller.name |