aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeOps.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-11-25 11:31:46 +0100
committerMartin Odersky <odersky@gmail.com>2013-11-25 11:34:04 +0100
commit45ea511ec8ef12e0a192e4f4925923e75ef9ae3a (patch)
treef498f664b8a2b7133c86bc37c481aafccfef99b3 /src/dotty/tools/dotc/core/TypeOps.scala
parent92ed954f361ed08ef4821afd530357379956904a (diff)
downloaddotty-45ea511ec8ef12e0a192e4f4925923e75ef9ae3a.tar.gz
dotty-45ea511ec8ef12e0a192e4f4925923e75ef9ae3a.tar.bz2
dotty-45ea511ec8ef12e0a192e4f4925923e75ef9ae3a.zip
Types refactorings
- moving out type applicaton related operations to a decorator: TypeApplications - converting some set operations to list operations to make them replayable. - moving unused operations to Types.overflow
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeOps.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeOps.scala12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/dotty/tools/dotc/core/TypeOps.scala b/src/dotty/tools/dotc/core/TypeOps.scala
index cdc695ebd..c7b75e0b8 100644
--- a/src/dotty/tools/dotc/core/TypeOps.scala
+++ b/src/dotty/tools/dotc/core/TypeOps.scala
@@ -74,10 +74,14 @@ trait TypeOps { this: Context =>
val absParents = parents filter (_.symbol is Deferred)
absParents.size >= 2 || {
val ap = absParents.head
- (parents exists (p =>
- (p ne ap) || p.abstractMemberNames(tp).nonEmpty)) ||
- (refinedNames & tp.abstractMemberNames()).nonEmpty ||
- isVolatile(ap)
+ ((parents exists (p =>
+ (p ne ap)
+ || p.memberNames(abstractTypeNameFilter, tp).nonEmpty
+ || p.memberNames(abstractTermNameFilter, tp).nonEmpty))
+ || (refinedNames & tp.memberNames(abstractTypeNameFilter, tp)).nonEmpty
+ || (refinedNames & tp.memberNames(abstractTermNameFilter, tp)).nonEmpty
+ || isVolatile(ap)
+ )
}
}
}