summaryrefslogtreecommitdiff
path: root/sources/scalac/Global.java
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-03-21 16:49:06 +0000
committerpaltherr <paltherr@epfl.ch>2004-03-21 16:49:06 +0000
commit1e69dfd7774211aa276479d7b031bcee5557d0e2 (patch)
tree5424a7250392e8203b37a25f17e8cccb9aea0f5e /sources/scalac/Global.java
parent5ed2fb0f5d44522925e737198aba3249f091d13c (diff)
downloadscala-1e69dfd7774211aa276479d7b031bcee5557d0e2.tar.gz
scala-1e69dfd7774211aa276479d7b031bcee5557d0e2.tar.bz2
scala-1e69dfd7774211aa276479d7b031bcee5557d0e2.zip
- Simplified method lateEnter in Analyzer and A...
- Simplified method lateEnter in Analyzer and AnalyzerPhase Added - Global.compileLate Changed SourceCompleter and Analyer to use it - Removed mixinOnly from SourceCompleter
Diffstat (limited to 'sources/scalac/Global.java')
-rw-r--r--sources/scalac/Global.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java
index d83751926d..5ae1d874ba 100644
--- a/sources/scalac/Global.java
+++ b/sources/scalac/Global.java
@@ -384,6 +384,19 @@ public abstract class Global {
treePrinter.end();
}
+ /** Compiles an additional source file. */
+ public void compileLate(SourceFile source, boolean mixinOnly) {
+ Unit unit = new Unit(this, source, false, mixinOnly);
+ Phase backup = currentPhase;
+ // !!! add code to print/skip/graph as in compile
+ currentPhase = PHASE.PARSER.phase();
+ PHASE.PARSER.phase().apply(new Unit[] {unit});
+ currentPhase = PHASE.ANALYZER.phase();
+ ((AnalyzerPhase)PHASE.ANALYZER.phase()).lateEnter(unit);
+ // !!! add code for later phases?
+ currentPhase = backup;
+ }
+
private void print() {
if (currentPhase.id == PHASE.MAKEBOXINGEXPLICIT.id()) {
boolean html = args.printer.value.equals(PRINTER_HTML);