summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/symtab/classfile/ClassParser.java5
-rw-r--r--sources/scalac/symtab/classfile/PackageParser.java3
-rw-r--r--sources/scalac/symtab/classfile/SymblParser.java3
3 files changed, 10 insertions, 1 deletions
diff --git a/sources/scalac/symtab/classfile/ClassParser.java b/sources/scalac/symtab/classfile/ClassParser.java
index 8fd5448071..82c75a59f9 100644
--- a/sources/scalac/symtab/classfile/ClassParser.java
+++ b/sources/scalac/symtab/classfile/ClassParser.java
@@ -29,7 +29,7 @@ public class ClassParser extends Type.LazyType {
*/
public void complete(Symbol c) {
Phase phase = global.currentPhase;
- global.currentPhase = global.PHASE.INITIAL.phase();
+ global.currentPhase = global.getFirstPhase();
c.owner().initialize();
//System.out.println("loading " + c);//DEBUG
try {
@@ -87,6 +87,8 @@ public class ClassParser extends Type.LazyType {
}
public void complete(Symbol c) {
+ Phase phase = global.currentPhase;
+ global.currentPhase = global.getFirstPhase();
try {
long msec = System.currentTimeMillis();
String filename = SourceRepresentation.externalizeFileName(
@@ -104,6 +106,7 @@ public class ClassParser extends Type.LazyType {
global.error("i/o error while loading " + c);
c.setInfo(Type.ErrorType);
}
+ global.currentPhase = phase;
}
}
}
diff --git a/sources/scalac/symtab/classfile/PackageParser.java b/sources/scalac/symtab/classfile/PackageParser.java
index 544db13092..346272230b 100644
--- a/sources/scalac/symtab/classfile/PackageParser.java
+++ b/sources/scalac/symtab/classfile/PackageParser.java
@@ -37,6 +37,8 @@ public class PackageParser extends Type.LazyType {
/** complete package type symbol p by loading all package members
*/
public void complete(Symbol p) {
+ Phase phase = global.currentPhase;
+ global.currentPhase = global.getFirstPhase();
long msec = System.currentTimeMillis();
Scope members = new Scope();
String dirname = null;
@@ -57,6 +59,7 @@ public class PackageParser extends Type.LazyType {
dirname = "anonymous package";
global.operation("scanned " + dirname + " in " +
(System.currentTimeMillis() - msec) + "ms");
+ global.currentPhase = phase;
}
private boolean isMostRecent(AbstractFile f, Symbol previous, HashMap symFile) {
diff --git a/sources/scalac/symtab/classfile/SymblParser.java b/sources/scalac/symtab/classfile/SymblParser.java
index aa1a1349f1..d540b698d5 100644
--- a/sources/scalac/symtab/classfile/SymblParser.java
+++ b/sources/scalac/symtab/classfile/SymblParser.java
@@ -25,6 +25,8 @@ public class SymblParser extends ClassParser {
/** complete class symbol c by loading the class
*/
public void complete(Symbol c) {
+ Phase phase = global.currentPhase;
+ global.currentPhase = global.getFirstPhase();
//System.out.println("loading " + c);//DEBUG
try {
long msec = System.currentTimeMillis();
@@ -48,6 +50,7 @@ public class SymblParser extends ClassParser {
global.error("i/o error while loading " + c);
c.setInfo(Type.ErrorType);
}
+ global.currentPhase = phase;
}
}