aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Substituters.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-11-28 21:55:31 +0100
committerMartin Odersky <odersky@gmail.com>2013-11-28 21:55:31 +0100
commit98160c43002907b2784d1031c476cd46b912e752 (patch)
tree719b240fff2f060f13c1c950ddb87978a8ee3777 /src/dotty/tools/dotc/core/Substituters.scala
parent4dadbda073422eba3745866737f438aa772169df (diff)
downloaddotty-98160c43002907b2784d1031c476cd46b912e752.tar.gz
dotty-98160c43002907b2784d1031c476cd46b912e752.tar.bz2
dotty-98160c43002907b2784d1031c476cd46b912e752.zip
Making substitutions deep type maps that also map parents and self type of a class info.
Diffstat (limited to 'src/dotty/tools/dotc/core/Substituters.scala')
-rw-r--r--src/dotty/tools/dotc/core/Substituters.scala18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/dotty/tools/dotc/core/Substituters.scala b/src/dotty/tools/dotc/core/Substituters.scala
index 763c3eea7..0df1ea49f 100644
--- a/src/dotty/tools/dotc/core/Substituters.scala
+++ b/src/dotty/tools/dotc/core/Substituters.scala
@@ -172,39 +172,39 @@ trait Substituters { this: Context =>
case nil => false
}
- final class SubstBindingMap(from: BindingType, to: BindingType) extends TypeMap {
+ final class SubstBindingMap(from: BindingType, to: BindingType) extends DeepTypeMap {
def apply(tp: Type) = subst(tp, from, to, this)
}
- final class Subst1Map(from: Symbol, to: Type) extends TypeMap {
+ final class Subst1Map(from: Symbol, to: Type) extends DeepTypeMap {
def apply(tp: Type) = subst1(tp, from, to, this)
}
- final class Subst2Map(from1: Symbol, to1: Type, from2: Symbol, to2: Type) extends TypeMap {
+ final class Subst2Map(from1: Symbol, to1: Type, from2: Symbol, to2: Type) extends DeepTypeMap {
def apply(tp: Type) = subst2(tp, from1, to1, from2, to2, this)
}
- final class SubstMap(from: List[Symbol], to: List[Type]) extends TypeMap {
+ final class SubstMap(from: List[Symbol], to: List[Type]) extends DeepTypeMap {
def apply(tp: Type): Type = subst(tp, from, to, this)
}
- final class SubstSymMap(from: List[Symbol], to: List[Symbol]) extends TypeMap {
+ final class SubstSymMap(from: List[Symbol], to: List[Symbol]) extends DeepTypeMap {
def apply(tp: Type): Type = substSym(tp, from, to, this)
}
- final class SubstThisMap(from: ClassSymbol, to: Type) extends TypeMap {
+ final class SubstThisMap(from: ClassSymbol, to: Type) extends DeepTypeMap {
def apply(tp: Type): Type = substThis(tp, from, to, this)
}
- final class SubstRefinedThisMap(from: RefinedType, to: Type) extends TypeMap {
+ final class SubstRefinedThisMap(from: RefinedType, to: Type) extends DeepTypeMap {
def apply(tp: Type): Type = substThis(tp, from, to, this)
}
- final class SubstParamMap(from: ParamType, to: Type) extends TypeMap {
+ final class SubstParamMap(from: ParamType, to: Type) extends DeepTypeMap {
def apply(tp: Type) = substParam(tp, from, to, this)
}
- final class SubstParamsMap(from: BindingType, to: List[Type]) extends TypeMap {
+ final class SubstParamsMap(from: BindingType, to: List[Type]) extends DeepTypeMap {
def apply(tp: Type) = substParams(tp, from, to, this)
}
} \ No newline at end of file