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.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java
index 9cd8575c6b..3b5b9f7d78 100644
--- a/sources/scalac/typechecker/RefCheck.java
+++ b/sources/scalac/typechecker/RefCheck.java
@@ -395,7 +395,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
Symbol sym = null;
switch (stat) {
case ClassDef(_, _, _, _, _, _):
- sym = stat.symbol().constructor();
+ sym = stat.symbol().primaryConstructor();
break;
case DefDef(_, _, _, _, _, _):
case ModuleDef(_, _, _, _):
@@ -403,7 +403,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
sym = stat.symbol();
}
if (sym != null && sym.isLocal()) {
- scopes[level].enter(sym);
+ scopes[level].enter(new Scope.Entry(sym, scopes[level]));
symIndex.put(sym, new Integer(index));
}
}
@@ -522,7 +522,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
}
private Tree[] caseFields(ClassSymbol clazz) {
- Symbol[] vparams = clazz.constructor().type().firstParams();
+ Symbol[] vparams = clazz.primaryConstructor().type().firstParams();
Tree[] fields = new Tree[vparams.length];
for (int i = 0; i < fields.length; i++) {
fields[i] = gen.mkRef(
@@ -874,12 +874,14 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
case Apply(Tree fn, Tree[] args):
Symbol fsym = TreeInfo.methSymbol(fn);
+ assert fsym != Symbol.NONE : tree;
if (fsym != null && fsym.isMethod() && !fsym.isConstructor() &&
(fsym.flags & CASE) != 0) {
// convert case methods to new's
- Symbol constr = fsym.type().resultType().symbol().constructor();
+ Symbol constr = fsym.type().resultType().symbol().primaryConstructor();
tree = gen.New(toConstructor(tree, constr));
}
+
return super.transform(tree);
case AppliedType(Tree tpe, Tree[] args):