summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-03-21 12:26:54 +0000
committerMartin Odersky <odersky@gmail.com>2003-03-21 12:26:54 +0000
commitdab45b752f7235516074a2d5c87665945d30c663 (patch)
tree4e2aa2ec2848e2c2afc36a4e60900212e3aaa79b
parent6326a9e379f9ac5974e541b7c29b6e826b9b1510 (diff)
downloadscala-dab45b752f7235516074a2d5c87665945d30c663.tar.gz
scala-dab45b752f7235516074a2d5c87665945d30c663.tar.bz2
scala-dab45b752f7235516074a2d5c87665945d30c663.zip
*** empty log message ***
-rw-r--r--sources/scalac/typechecker/Analyzer.java4
-rw-r--r--sources/scalac/typechecker/ImportList.java6
2 files changed, 10 insertions, 0 deletions
diff --git a/sources/scalac/typechecker/Analyzer.java b/sources/scalac/typechecker/Analyzer.java
index 0787403ce2..5cc9fc81b3 100644
--- a/sources/scalac/typechecker/Analyzer.java
+++ b/sources/scalac/typechecker/Analyzer.java
@@ -71,8 +71,10 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
assert this.unit == null : "start unit non null for " + unit;
this.unit = unit;
this.context = context;
+ ImportList prevImports = context.imports;
descr.contexts.put(unit, context);
enterSyms(unit.body);
+ context.imports = prevImports;
this.unit = null;
this.context = null;
}
@@ -982,6 +984,8 @@ public class Analyzer extends Transformer implements Modifiers, Kinds {
} catch (Type.Error ex) {
reportTypeError(tree.pos, ex);
tree.type = Type.ErrorType;
+ if (tree.hasSymbol()) tree.setSymbol(Symbol.ERROR);
+ return tree;
}
this.unit = savedUnit;
diff --git a/sources/scalac/typechecker/ImportList.java b/sources/scalac/typechecker/ImportList.java
index ba45996570..7f3e82c659 100644
--- a/sources/scalac/typechecker/ImportList.java
+++ b/sources/scalac/typechecker/ImportList.java
@@ -28,6 +28,12 @@ class ImportList {
this.prev = prev;
}
+ public String toString() {
+ String str = tree.symbol().toString();
+ if (prev != null) str = prev + "; " + str;
+ return str;
+ }
+
Tree importPrefix() {
switch (tree) {
case Import(Tree expr, _): return expr;