diff options
author | Martin Odersky <odersky@gmail.com> | 2015-06-05 18:49:36 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2015-06-06 11:05:27 +0200 |
commit | 080ed2f3d8b5d8fd249691aacc0fe4f9596bb772 (patch) | |
tree | 1fac280aa6832c115037e04178d791cc92f9de25 /src/dotty/tools/dotc/core/TypeOps.scala | |
parent | eaf3095494af2b0ea028452450a6af44e27f5284 (diff) | |
download | dotty-080ed2f3d8b5d8fd249691aacc0fe4f9596bb772.tar.gz dotty-080ed2f3d8b5d8fd249691aacc0fe4f9596bb772.tar.bz2 dotty-080ed2f3d8b5d8fd249691aacc0fe4f9596bb772.zip |
Split RefinedThis and SkolemType
SkolemTypes need to behave differently form RefinedThis types in TypeMap
and TypeAccumulator. For skolem types these should follow through to the
underlying type. For RefinedThis types, these need to do nothing, in order
not to start an infinite recursion.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeOps.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeOps.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/TypeOps.scala b/src/dotty/tools/dotc/core/TypeOps.scala index acbd5b6f0..a01f8af9f 100644 --- a/src/dotty/tools/dotc/core/TypeOps.scala +++ b/src/dotty/tools/dotc/core/TypeOps.scala @@ -12,6 +12,9 @@ import ast.tpd._ trait TypeOps { this: Context => // TODO: Make standalone object. + final def asSeenFrom(tp: Type, pre: Type, cls: Symbol): Type = + asSeenFrom(tp, pre, cls, null) + final def asSeenFrom(tp: Type, pre: Type, cls: Symbol, theMap: AsSeenFromMap): Type = { def toPrefix(pre: Type, cls: Symbol, thiscls: ClassSymbol): Type = /*>|>*/ ctx.conditionalTraceIndented(TypeOps.track, s"toPrefix($pre, $cls, $thiscls)") /*<|<*/ { |