summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/classfile/ClassfileParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/symtab/classfile/ClassfileParser.java')
-rw-r--r--sources/scalac/symtab/classfile/ClassfileParser.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/sources/scalac/symtab/classfile/ClassfileParser.java b/sources/scalac/symtab/classfile/ClassfileParser.java
index 69d95f79f0..a0d69c4bed 100644
--- a/sources/scalac/symtab/classfile/ClassfileParser.java
+++ b/sources/scalac/symtab/classfile/ClassfileParser.java
@@ -117,10 +117,9 @@ public class ClassfileParser implements ClassfileConstants {
assert constrs.length == 1;
c.constructor().setInfo(constrs[0].info(), phaseId);
} else {
- Type constrtype = ((c.flags & Modifiers.INTERFACE) != 0)
- ? Type.PolyType(Symbol.EMPTY_ARRAY, ctype)
- : Type.MethodType(new Symbol[]{Symbol.NONE}, ctype);
- c.constructor().setInfo(constrtype, phaseId);
+ Symbol[] cparams = ((c.flags & Modifiers.INTERFACE) != 0) ? Symbol.EMPTY_ARRAY
+ : new Symbol[]{Symbol.NONE};
+ c.constructor().setInfo(Type.MethodType(cparams, ctype), phaseId);
}
attrib.readAttributes(c, classType, CLASS_ATTR);
//System.out.println("dynamic class: " + c);
@@ -214,10 +213,7 @@ public class ClassfileParser implements ClassfileConstants {
}
switch (type) {
case MethodType(Symbol[] vparams, _):
- if (c == defs.OBJECT_CLASS)
- type = Type.PolyType(Symbol.EMPTY_ARRAY, ctype);
- else
- type = Type.MethodType(vparams, ctype);
+ type = Type.MethodType(vparams, ctype);
break;
default:
throw new ApplicationError();