diff options
Diffstat (limited to 'sources/scalac/PhaseRepository.java')
-rw-r--r-- | sources/scalac/PhaseRepository.java | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/sources/scalac/PhaseRepository.java b/sources/scalac/PhaseRepository.java new file mode 100644 index 0000000000..4b7e3d4343 --- /dev/null +++ b/sources/scalac/PhaseRepository.java @@ -0,0 +1,96 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +// $Id$ + +package scalac; + +import scalac.ast.parser.ParserPhase; +import scalac.typechecker.AnalyzerPhase; +import scalac.typechecker.RefCheckPhase; +import scalac.transformer.UnCurryPhase; +/* +import scalac.transformer.TransMatchPhase; +*/ +import scalac.transformer.LambdaLiftPhase; +/* +import scalac.transformer.ExplicitOuterClassesPhase; +import scalac.transformer.AddInterfacesPhase; +import scalac.transformer.AddAccessorsPhase; +import scalac.transformer.ExpandMixinsPhase; +import scalac.transformer.ErasurePhase; +import scalac.optimizer.OptimizePhase; +import scalac.backend.AddConstructorsPhase; +import scalac.backend.msil.GenMSILPhase; +import scalac.backend.jvm.GenJVMPhase; +import scalac.jaco.GenJavaPhase; +*/ + +public class PhaseRepository { + + //######################################################################## + // Private state + + public final PhaseDescriptor[] phases; + + //######################################################################## + // Reporter constructors + + public PhaseRepository() { + this.phases = new PhaseDescriptor[] { + INITIAL = PhaseDescriptor.INITIAL, + PARSER = new ParserPhase(), + ANALYZER = new AnalyzerPhase(), + REFCHECK = new RefCheckPhase(), + UNCURRY = new UnCurryPhase(), + /* + OPTIMIZE = new OptimizePhase(), + TRANSMATCH = new TransMatchPhase(), + */ + LAMBDALIFT = new LambdaLiftPhase(), + /* + EXPLICITOUTER = new ExplicitOuterClassesPhase(), + ADDACCESSORS = new AddAccessorsPhase(), + ADDINTERFACES = new AddInterfacesPhase(), + EXPANDMIXIN = new ExpandMixinsPhase(), + ERASURE = new ErasurePhase(), + ADDCONSTRUCTORS = new AddConstructorsPhase(), + GENMSIL = new GenMSILPhase(), + GENJAVA = new GenJavaPhase(), + GENJVM = new GenJVMPhase(), + */ + TERMINAL = PhaseDescriptor.TERMINAL, + }; + } + + //######################################################################## + // Reporter interface + + public final PhaseDescriptor INITIAL; + public final ParserPhase PARSER; + public final AnalyzerPhase ANALYZER; + public final RefCheckPhase REFCHECK; + public final UnCurryPhase UNCURRY; + /* + public final OptimizePhase OPTIMIZE; + public final TransMatchPhase TRANSMATCH; + */ + public final LambdaLiftPhase LAMBDALIFT; + /* + public final ExplicitOuterClassesPhase EXPLICITOUTER; + public final AddAccessorsPhase ADDACCESSORS; + public final AddInterfacesPhase ADDINTERFACES; + public final ExpandMixinsPhase EXPANDMIXIN; + public final ErasurePhase ERASURE; + public final AddConstructorsPhase ADDCONSTRUCTORS; + public final GenMSILPhase GENMSIL; + public final GenJavaPhase GENJAVA; + public final GenJVMPhase GENJVM; + */ + public final PhaseDescriptor TERMINAL; + + //######################################################################## +} |