summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-03-07 13:41:15 +0000
committerMartin Odersky <odersky@gmail.com>2003-03-07 13:41:15 +0000
commit0c12c1623d36e0578523fa645bf2e2ef8c8d9646 (patch)
tree7665b600c95d535a4c62d3d4f03fac0a2b393a3b
parenta275c7c9fa889508ce0630fc445a8f1bb2db3aff (diff)
downloadscala-0c12c1623d36e0578523fa645bf2e2ef8c8d9646.tar.gz
scala-0c12c1623d36e0578523fa645bf2e2ef8c8d9646.tar.bz2
scala-0c12c1623d36e0578523fa645bf2e2ef8c8d9646.zip
*** empty log message ***
-rw-r--r--sources/scalac/symtab/Symbol.java9
-rw-r--r--sources/scalac/typechecker/Analyzer.java2
2 files changed, 8 insertions, 3 deletions
diff --git a/sources/scalac/symtab/Symbol.java b/sources/scalac/symtab/Symbol.java
index a2399fda32..dcc3dda65b 100644
--- a/sources/scalac/symtab/Symbol.java
+++ b/sources/scalac/symtab/Symbol.java
@@ -1190,8 +1190,13 @@ public class ClassSymbol extends TypeSymbol {
if (mangled == name) {
return fullName().replace((byte)'.', (byte)'$');
} else {
- return Name.fromString(
- enclToplevelClass().mangledFullName() + "$" + mangled);
+ Symbol tc = enclToplevelClass();
+ if (tc != this) {
+ return Name.fromString(
+ enclToplevelClass().mangledFullName() + "$" + mangled);
+ } else {
+ return mangled;
+ }
}
}
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java
index b4193f828c..0648a5d1de 100644
--- a/sources/scalac/typechecker/Analyzer.java
+++ b/sources/scalac/typechecker/Analyzer.java
@@ -1736,7 +1736,7 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
case Block(Tree[] stats):
pushContext(tree, context.owner, new Scope(context.scope));
- int lastmode = mode;
+ int lastmode = mode & ~FUNmode;
Tree[] stats1 = desugarize.Statements(stats, true);
enterSyms(stats1);
context.imports = context.outer.imports;