summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/tools/scalac/typechecker/Analyzer.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/sources/scala/tools/scalac/typechecker/Analyzer.scala b/sources/scala/tools/scalac/typechecker/Analyzer.scala
index 37b3ae2379..e9b45b6c3e 100644
--- a/sources/scala/tools/scalac/typechecker/Analyzer.scala
+++ b/sources/scala/tools/scalac/typechecker/Analyzer.scala
@@ -575,13 +575,14 @@ class Analyzer(global: scalac_Global, descr: AnalyzerPhase) extends Transformer(
val vapp = transform(
make.Apply(tree.pos, vexpr, NewArray.Tree(tree)), mode, pt);
if (v.symtype.isObjectType()) {
+ val tree1 = transform(tree.duplicate(), mode, pt);
gen.If(
gen.Apply(
gen.Select(
vexpr.duplicate(),
definitions.ANY_EQEQ),
NewArray.Tree(gen.mkNullLit(tree.pos))),
- gen.mkNullLit(tree.pos),
+ tree1,
vapp)
} else vapp
}
@@ -1649,6 +1650,7 @@ class Analyzer(global: scalac_Global, descr: AnalyzerPhase) extends Transformer(
if (v != null) {
qual = applyView(
v, qual.setType(qual.getType().singleDeref()), EXPRmode, Type.AnyType);
+ System.out.println("app view " + qual + ":" + qual.getType());//debug
sym = qual.getType().lookup(name);
assert(sym.kind != NONE);
} else {