summaryrefslogtreecommitdiff
path: root/sources/scalac
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java7
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();