diff options
Diffstat (limited to 'sources/scalac/symtab/classfile/AttributeParser.java')
-rw-r--r-- | sources/scalac/symtab/classfile/AttributeParser.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/sources/scalac/symtab/classfile/AttributeParser.java b/sources/scalac/symtab/classfile/AttributeParser.java index 8cc8e296d0..a6ae0a9083 100644 --- a/sources/scalac/symtab/classfile/AttributeParser.java +++ b/sources/scalac/symtab/classfile/AttributeParser.java @@ -253,7 +253,9 @@ public class AttributeParser implements ClassfileConstants { if ((parser.c.flags & Modifiers.INTERFACE) != 0) { parser.c.constructor().setInfo( - Type.PolyType(smbls, constrtype), parser.phaseId); + Type.PolyType( + smbls, Type.MethodType(Symbol.EMPTY_ARRAY, constrtype)), + parser.phaseId); //System.out.println("info = " + parser.c.constructor().info());//DEBUG } Symbol[] constrs; @@ -269,13 +271,9 @@ public class AttributeParser implements ClassfileConstants { switch (constrs[i].rawInfo()) { case MethodType(Symbol[] vparams, _): constrs[i].setInfo( - Type.PolyType(smbls, - Type.MethodType( - vparams, constrtype)), parser.phaseId); - break; - case PolyType(_, _): - constrs[i].setInfo( - Type.PolyType(smbls, constrtype), parser.phaseId); + Type.PolyType( + smbls, Type.MethodType(vparams, constrtype)), + parser.phaseId); break; } //System.out.println("*** constructor " + e.sym + ": " + e.sym.info());//DEBUG |