diff options
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java index 2779cc528e..38bc722611 100644 --- a/sources/scalac/transformer/AddInterfaces.java +++ b/sources/scalac/transformer/AddInterfaces.java @@ -120,7 +120,8 @@ class AddInterfaces extends SubstTransformer { (Modifiers.MODUL | Modifiers.SYNTHETIC | Modifiers.JAVA); protected boolean needInterface(Symbol sym) { - return (sym.primaryConstructorClass().flags & NO_INTERFACE_MODS) == 0; + return (sym != Symbol.NONE) + && ((sym.primaryConstructorClass().flags & NO_INTERFACE_MODS) == 0); } protected boolean memberGoesInInterface(Symbol member) { @@ -630,8 +631,10 @@ class AddInterfaces extends SubstTransformer { classConstrSym.setInfo(tparamsSM.apply(classConstrSym.info())); Symbol[] vparams = vparams(classConstrSym.nextInfo()); - for (int i = 0; i < vparams.length; ++i) + for (int i = 0; i < vparams.length; ++i) { + vparams[i].setOwner(classConstrSym); vparams[i].updateInfo(tparamsSM.apply(vparams[i].info())); + } Scope newIFaceMembers = new Scope(); Scope classMembers = new Scope(); |