summaryrefslogtreecommitdiff
path: root/sources/scalac/typechecker/Analyzer.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/typechecker/Analyzer.java')
-rw-r--r--sources/scalac/typechecker/Analyzer.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java
index 3718e377bb..11b715fe56 100644
--- a/sources/scalac/typechecker/Analyzer.java
+++ b/sources/scalac/typechecker/Analyzer.java
@@ -552,13 +552,13 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
private Type matchQualType(Tree fn) {
switch (fn) {
case Select(Tree qual, _):
- if (fn.symbol() == definitions.OBJECT_TYPE.lookup(Names.match))
+ if (fn.symbol() == definitions.MATCH)
return qual.type.widen();
break;
case TypeApply(Tree fn1, _):
return matchQualType(fn1);
case Ident(_):
- if (fn.symbol() == definitions.OBJECT_TYPE.lookup(Names.match))
+ if (fn.symbol() == definitions.MATCH)
return context.enclClass.owner.typeOfThis();
break;
}
@@ -642,10 +642,11 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
// Entering Symbols ----------------------------------------------------------
Tree transformPackageId(Tree tree) {
+ if (tree.type != null) return tree;
switch (tree) {
case Ident(Name name):
return tree
- .setSymbol(packageSymbol(tree.pos, definitions.ROOT, name))
+ .setSymbol(packageSymbol(tree.pos, context.owner, name))
.setType(tree.symbol().type());
case Select(Tree qual, Name name):
Tree qual1 = transformPackageId(qual);
@@ -2225,7 +2226,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
}
}
- // resolve overloading
+ // resolve overloading1g
switch (fn1.type) {
case OverloadedType(Symbol[] alts, Type[] alttypes):
try {