diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-02-04 16:15:22 +0100 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-03-11 14:43:05 +0100 |
commit | aedeab9f49fbbf35ed6817e51420da4de449fd14 (patch) | |
tree | 742349ec942ec77632b49af00e1530edf7c8fc7c /src/dotty/tools/backend | |
parent | d7c8d75246fd75d1cc03c1d39f7dd5518f215b47 (diff) | |
download | dotty-aedeab9f49fbbf35ed6817e51420da4de449fd14.tar.gz dotty-aedeab9f49fbbf35ed6817e51420da4de449fd14.tar.bz2 dotty-aedeab9f49fbbf35ed6817e51420da4de449fd14.zip |
Workaround #348, linkedClass is broken after flatten
Diffstat (limited to 'src/dotty/tools/backend')
-rw-r--r-- | src/dotty/tools/backend/jvm/DottyBackendInterface.scala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala index 111a5f5f5..651c5d736 100644 --- a/src/dotty/tools/backend/jvm/DottyBackendInterface.scala +++ b/src/dotty/tools/backend/jvm/DottyBackendInterface.scala @@ -493,7 +493,12 @@ class DottyBackendInterface()(implicit ctx: Context) extends BackendInterface{ def superClass: Symbol = toDenot(sym).superClass def enclClass: Symbol = toDenot(sym).enclosingClass def linkedClassOfClass: Symbol = linkedClass - def linkedClass: Symbol = toDenot(sym).linkedClass //exitingPickler(sym.linkedClassOfClass) + def linkedClass: Symbol = { + val ct = ctx.withPhase(ctx.flattenPhase.prev) + toDenot(sym)(ct).linkedClass(ct) + // java.util.Attributes.Name$ -> java$util$Attributes$Name$ no companion class after flatten + // see bug #348 + } //exitingPickler(sym.linkedClassOfClass) def companionClass: Symbol = toDenot(sym).companionClass def companionModule: Symbol = toDenot(sym).companionModule def companionSymbol: Symbol = if (sym is Flags.Module) companionClass else companionModule |