summaryrefslogtreecommitdiff
path: root/sources/scalac/typechecker/RefCheck.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/typechecker/RefCheck.java')
-rw-r--r--sources/scalac/typechecker/RefCheck.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java
index f65485a33a..a96a21fd0a 100644
--- a/sources/scalac/typechecker/RefCheck.java
+++ b/sources/scalac/typechecker/RefCheck.java
@@ -648,7 +648,12 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
}
private Tree[] caseFields(ClassSymbol clazz) {
- Symbol[] vparams = clazz.primaryConstructor().type().firstParams();
+ Type ct = clazz.primaryConstructor().type();
+ switch (ct) {
+ case Type.PolyType(Symbol[] tparams, Type restp):
+ ct = infer.skipViewParams(tparams, restp);
+ }
+ Symbol[] vparams = ct.firstParams();
Tree[] fields = new Tree[vparams.length];
for (int i = 0; i < fields.length; i++) {
fields[i] = gen.mkRef(clazz.pos, clazz.thisType(), clazz.caseFieldAccessor(i));