aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/TypeOps.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2014-02-19 11:50:13 +0100
committerMartin Odersky <odersky@gmail.com>2014-02-21 18:42:50 +0100
commitf699ba201bafccc66657a2765f280a226fcd9e55 (patch)
treef44f9f9295c781bf182e8eafd25dfda3f6e8c8f3 /src/dotty/tools/dotc/core/TypeOps.scala
parent77fc4d0831dc7a7ddaa74677e2659cdea4a2f52f (diff)
downloaddotty-f699ba201bafccc66657a2765f280a226fcd9e55.tar.gz
dotty-f699ba201bafccc66657a2765f280a226fcd9e55.tar.bz2
dotty-f699ba201bafccc66657a2765f280a226fcd9e55.zip
Avoid using TypeBounds in alias refinements.
The idea is to use the alias itself. This cuts down on # of typebounds created and makes operations on refined infos and applied types more direct.
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeOps.scala')
-rw-r--r--src/dotty/tools/dotc/core/TypeOps.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/TypeOps.scala b/src/dotty/tools/dotc/core/TypeOps.scala
index afa39f2a3..96071107f 100644
--- a/src/dotty/tools/dotc/core/TypeOps.scala
+++ b/src/dotty/tools/dotc/core/TypeOps.scala
@@ -35,7 +35,7 @@ trait TypeOps { this: Context =>
tp.derivedRefinedType(
asSeenFrom(tp.parent, pre, cls, theMap),
tp.refinedName,
- asSeenFrom(tp.refinedInfo, pre, cls, theMap))
+ asSeenFrom(tp.compactInfo, pre, cls, theMap))
case _ =>
(if (theMap != null) theMap else new AsSeenFromMap(pre, cls))
.mapOver(tp)
@@ -57,7 +57,7 @@ trait TypeOps { this: Context =>
case _: ThisType | _: BoundType | NoPrefix =>
tp
case tp: RefinedType =>
- tp.derivedRefinedType(simplify(tp.parent, theMap), tp.refinedName, simplify(tp.refinedInfo, theMap))
+ tp.derivedRefinedType(simplify(tp.parent, theMap), tp.refinedName, simplify(tp.compactInfo, theMap))
case AndType(l, r) =>
simplify(l, theMap) & simplify(r, theMap)
case OrType(l, r) =>