diff options
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/transformer/Erasure.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java index f4fe0ea044..d98b281e69 100644 --- a/sources/scalac/transformer/Erasure.java +++ b/sources/scalac/transformer/Erasure.java @@ -204,9 +204,10 @@ public class Erasure extends GenTransformer implements Modifiers { case Select(Tree qualifier, _): Symbol symbol = tree.symbol(); Type prefix = qualifier.type().baseType(symbol.owner()).erasure(); - assert prefix != Type.NoType: tree; - qualifier = transform(qualifier); - qualifier = coerce(qualifier, prefix); + qualifier = transform(qualifier); + assert prefix != Type.NoType: qualifier.type() + "/" + qualifier.type().singleDeref() + " basetype " + symbol.owner(); + qualifier = coerce(qualifier, prefix); + // Might end up with "box(unbox(...))". That's needed by backend. if (isUnboxedType(prefix)) qualifier = box(qualifier); return gen.Select(tree.pos, qualifier, symbol); |