diff options
author | Martin Odersky <odersky@gmail.com> | 2003-03-13 11:00:02 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-03-13 11:00:02 +0000 |
commit | 766aece3147dcd211b5e46c92df2552ff5b87892 (patch) | |
tree | 95e6c3981510e2d2cf697f393323712b73991727 /sources/scalac/typechecker/Analyzer.java | |
parent | b078b78ebdb3b636b4006e478fca0a5d5b629a7c (diff) | |
download | scala-766aece3147dcd211b5e46c92df2552ff5b87892.tar.gz scala-766aece3147dcd211b5e46c92df2552ff5b87892.tar.bz2 scala-766aece3147dcd211b5e46c92df2552ff5b87892.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/typechecker/Analyzer.java')
-rw-r--r-- | sources/scalac/typechecker/Analyzer.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java index 38e8eb2b16..5f90933576 100644 --- a/sources/scalac/typechecker/Analyzer.java +++ b/sources/scalac/typechecker/Analyzer.java @@ -1094,10 +1094,16 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { return error(tree.pos, "not found: " + decode(name)); } else { sym.flags |= ACCESSED; - if (sym.owner().kind == CLASS) + if (sym.owner().kind == CLASS) { pre = nextcontext.enclClass.owner.thisType(); - else + if (!sym.owner().isPackage()) { + tree = make.Select( + tree.pos, gen.mkStableId(tree.pos, pre), name); + //System.out.println(name + " :::> " + tree);//DEBUG + } + } else { pre = Type.localThisType; + } } } else if (sym.kind != NONE && !sym.isPreloaded()) { return error(tree.pos, @@ -1867,6 +1873,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds { new ValDef[][]{Tree.ExtValDef.EMPTY_ARRAY}, Tree.Empty, templ); + //new TextTreePrinter().print(cd).println().end();//DEBUG enterSym(cd); cd = transform(cd); Symbol clazz = cd.symbol(); |