diff options
Diffstat (limited to 'sources/scalac/transformer/LambdaLiftPhase.java')
-rw-r--r-- | sources/scalac/transformer/LambdaLiftPhase.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sources/scalac/transformer/LambdaLiftPhase.java b/sources/scalac/transformer/LambdaLiftPhase.java index 563710cb51..a61011cfc9 100644 --- a/sources/scalac/transformer/LambdaLiftPhase.java +++ b/sources/scalac/transformer/LambdaLiftPhase.java @@ -85,14 +85,15 @@ public class LambdaLiftPhase extends PhaseDescriptor implements Kinds, Modifiers case TypeRef(Type pre, Symbol sym, Type[] targs): switch (pre) { case ThisType(_): - if (sym.kind == CLASS && sym.constructor().isUpdated(nextPhase)) { + if (sym.kind == CLASS && + sym.primaryConstructor().isUpdated(nextPhase)) { // !!! For some Java classes, // Symbol.constructor() returns an Overloaded // symbol. This is wrong as constructor() // should return the primary constructor. Once // this problem is solved, the following // switch can be removed. - Type constrtype = sym.constructor().infoAt(nextPhase); + Type constrtype = sym.primaryConstructor().infoAt(nextPhase); Symbol[] tparams; switch (constrtype) { case OverloadedType(_, _): |