diff options
author | odersky <odersky@gmail.com> | 2016-07-15 13:11:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-15 13:11:52 +0200 |
commit | 409c6c30c8496529aace68967acccf88850145da (patch) | |
tree | 56fd30bbb5d108b895982da72943e649a58fbd40 /src/dotty/tools/dotc/core/TypeErasure.scala | |
parent | 1c02c56213cf22010c0aef1dc1446300fe8005fe (diff) | |
parent | 894c9fbf247765041fc32788c78b85f1b2b2a191 (diff) | |
download | dotty-409c6c30c8496529aace68967acccf88850145da.tar.gz dotty-409c6c30c8496529aace68967acccf88850145da.tar.bz2 dotty-409c6c30c8496529aace68967acccf88850145da.zip |
Merge pull request #1343 from dotty-staging/change-hk-direct2
Direct representation of higher-kinded types
Diffstat (limited to 'src/dotty/tools/dotc/core/TypeErasure.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/TypeErasure.scala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/core/TypeErasure.scala b/src/dotty/tools/dotc/core/TypeErasure.scala index 0894f34b2..a1dab16cb 100644 --- a/src/dotty/tools/dotc/core/TypeErasure.scala +++ b/src/dotty/tools/dotc/core/TypeErasure.scala @@ -430,7 +430,7 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean // constructor method should not be semi-erased. else if (isConstructor && isDerivedValueClass(sym)) eraseNormalClassRef(tp) else this(tp) - case RefinedType(parent, _) if !(parent isRef defn.ArrayClass) => + case RefinedType(parent, _, _) if !(parent isRef defn.ArrayClass) => eraseResult(parent) case _ => this(tp) @@ -474,6 +474,9 @@ class TypeErasure(isJava: Boolean, semiEraseVCs: Boolean, isConstructor: Boolean sigName(tp.widen) case ExprType(rt) => sigName(defn.FunctionOf(Nil, rt)) + case tp: TypeVar => + val inst = tp.instanceOpt + if (inst.exists) sigName(inst) else tpnme.Uninstantiated case tp: TypeProxy => sigName(tp.underlying) case ErrorType | WildcardType => |