/* ____ ____ ____ ____ ______ *\ ** / __// __ \/ __// __ \/ ____/ 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.AddAccessorsPhase; /* import scalac.transformer.AddInterfacesPhase; 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; //######################################################################## }