diff options
author | Martin Odersky <odersky@gmail.com> | 2014-08-31 19:34:55 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2014-08-31 19:34:55 +0200 |
commit | ec1d2745dce34f81578967a032253a1a84361bc7 (patch) | |
tree | 5347568cee6bf4f7c7bc6f30248362eb1bb45f7c /src/dotty/tools/dotc/TypeErasure.scala | |
parent | 47b1d735e8323b2587aeb4b2a7ce5e214d9f1f8d (diff) | |
download | dotty-ec1d2745dce34f81578967a032253a1a84361bc7.tar.gz dotty-ec1d2745dce34f81578967a032253a1a84361bc7.tar.bz2 dotty-ec1d2745dce34f81578967a032253a1a84361bc7.zip |
Add outer parameters in constructor calls.
1) Constructors of inner classes get outer parameters
2) Outer arguments are passed as needed.
Diffstat (limited to 'src/dotty/tools/dotc/TypeErasure.scala')
-rw-r--r-- | src/dotty/tools/dotc/TypeErasure.scala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/TypeErasure.scala b/src/dotty/tools/dotc/TypeErasure.scala index d2b241e71..a5dbd5731 100644 --- a/src/dotty/tools/dotc/TypeErasure.scala +++ b/src/dotty/tools/dotc/TypeErasure.scala @@ -1,7 +1,9 @@ -package dotty.tools.dotc +package dotty.tools +package dotc package core import Symbols._, Types._, Contexts._, Flags._, Names._, StdNames._, Decorators._, Flags.JavaDefined +import dotc.transform.OuterAccessors._ import util.DotClass /** Erased types are: @@ -110,6 +112,7 @@ object TypeErasure { if ((sym eq defn.Any_asInstanceOf) || (sym eq defn.Any_isInstanceOf)) eraseParamBounds(sym.info.asInstanceOf[PolyType]) else if (sym.isAbstractType) TypeAlias(WildcardType) + else if (sym.isConstructor) addOuterParam(sym.owner.asClass, erase(tp)) else erase(tp) } |