summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-12-08 15:31:38 +0000
committerpaltherr <paltherr@epfl.ch>2004-12-08 15:31:38 +0000
commita0a569dfb76080df049e2ca27c27d696c848f5f9 (patch)
treec139758f2631bba1dcf44026b1288dd3b1287538
parent1aa40dd9e33751be7fd1e25bbc178b3937f01b54 (diff)
downloadscala-a0a569dfb76080df049e2ca27c27d696c848f5f9.tar.gz
scala-a0a569dfb76080df049e2ca27c27d696c848f5f9.tar.bz2
scala-a0a569dfb76080df049e2ca27c27d696c848f5f9.zip
- Disabled WholeProgPhase
- Removed method Phase.apply(CompilationUnit[])
-rw-r--r--sources/scala/tools/scalac/wholeprog/WholeProgPhase.scala5
-rw-r--r--sources/scala/tools/scaladoc/ScalaSearch.java4
-rw-r--r--sources/scalac/Global.java6
-rw-r--r--sources/scalac/Phase.java5
4 files changed, 10 insertions, 10 deletions
diff --git a/sources/scala/tools/scalac/wholeprog/WholeProgPhase.scala b/sources/scala/tools/scalac/wholeprog/WholeProgPhase.scala
index b032b59a21..4666b577a1 100644
--- a/sources/scala/tools/scalac/wholeprog/WholeProgPhase.scala
+++ b/sources/scala/tools/scalac/wholeprog/WholeProgPhase.scala
@@ -31,7 +31,7 @@ class WholeProgPhase(global: scalac_Global, descriptor: PhaseDescriptor)
/* Apply the global analysis phase to the given units */
- override def apply(units: Array[CompilationUnit]): unit = {
+ def applyAll(units: Array[CompilationUnit]): unit = {
if (!global.args.XdotFile.value.equals("$")) {
val dotFilePrinter = new PrintDotFile(units);
@@ -50,7 +50,8 @@ class WholeProgPhase(global: scalac_Global, descriptor: PhaseDescriptor)
}
}
- override def apply(unit: CompilationUnit): Unit = throw Debug.abort("!!!");
+ override def apply(unit: CompilationUnit): Unit =
+ throw Debug.abort("!!! Phase " + this + " is currently disabled");
}
diff --git a/sources/scala/tools/scaladoc/ScalaSearch.java b/sources/scala/tools/scaladoc/ScalaSearch.java
index ec1a8811e4..1a2e741c7c 100644
--- a/sources/scala/tools/scaladoc/ScalaSearch.java
+++ b/sources/scala/tools/scaladoc/ScalaSearch.java
@@ -552,7 +552,9 @@ public class ScalaSearch {
CompilationUnit tmpUnit = new CompilationUnit(global, sourceFile, false);
tmpUnit.body = new Parser$class(tmpUnit).parse();
- global.PHASE.ANALYZER.phase().apply(new CompilationUnit[]{ tmpUnit });
+ global.PHASE.ANALYZER.phase().apply(tmpUnit);
+ ((scalac.typechecker.AnalyzerPhase)global.PHASE.ANALYZER.phase())
+ .getUnits(); // force completion of type analysis
if (global.reporter.errors() == errorNumber) {
Scope tmpScope = tmpUnit.body[0].symbol().members();
Type res = tmpScope.lookup(Name.fromString("f")).type();
diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java
index 141d6ec140..dcf8d182fd 100644
--- a/sources/scalac/Global.java
+++ b/sources/scalac/Global.java
@@ -270,6 +270,7 @@ public abstract class Global {
}
this.make = new DefaultTreeFactory();
this.PHASE = args.phases;
+ args.phases.WHOLEPROG.addSkipFlag(); // !!!
// if (!optimize) PHASE.remove(args.phases.OPTIMIZE);
// TODO: Enable TailCall for other backends when they handle LabelDefs
if (!runTimeTypes) args.phases.TYPESASVALUES.addSkipFlag();
@@ -381,7 +382,8 @@ public abstract class Global {
currentPhase = currentPhase.next;
start();
// System.out.println("*** " + currentPhase.descriptor.description() + " ***");
- currentPhase.apply(units);
+ for (int i = 0; i < units.length; i++)
+ currentPhase.apply(units[i]);
if (currentPhase == PHASE.ANALYZER.phase())
units = ((AnalyzerPhase)currentPhase).getUnits();
stop(currentPhase.descriptor.taskDescription());
@@ -413,7 +415,7 @@ public abstract class Global {
Phase backup = currentPhase;
// !!! add code to print/skip/graph as in compile
currentPhase = PHASE.PARSER.phase();
- PHASE.PARSER.phase().apply(new CompilationUnit[] {unit});
+ PHASE.PARSER.phase().apply(unit);
currentPhase = PHASE.ANALYZER.phase();
((AnalyzerPhase)PHASE.ANALYZER.phase()).apply(unit);
// !!! add code for later phases?
diff --git a/sources/scalac/Phase.java b/sources/scalac/Phase.java
index 88420302e9..5239562e9d 100644
--- a/sources/scalac/Phase.java
+++ b/sources/scalac/Phase.java
@@ -61,11 +61,6 @@ public abstract class Phase {
return tp;
}
- /** Applies this phase to the given compilation units. */
- public void apply(CompilationUnit[] units) {
- for (int i = 0; i < units.length; i++) apply(units[i]);
- }
-
/** Applies this phase to the given compilation unit. */
public abstract void apply(CompilationUnit unit);