diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2004-07-05 16:40:36 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2004-07-05 16:40:36 +0000 |
commit | bd56492ebd57dc26170a8b825061281981516611 (patch) | |
tree | f745d2a6681c808a1734faab8735cd84dc66bec1 /sources/scalac | |
parent | 379107dc6e0d9cc64cbc4163745a542a15129d34 (diff) | |
download | scala-bd56492ebd57dc26170a8b825061281981516611.tar.gz scala-bd56492ebd57dc26170a8b825061281981516611.tar.bz2 scala-bd56492ebd57dc26170a8b825061281981516611.zip |
Added wholeprog phase to compiler
Diffstat (limited to 'sources/scalac')
-rw-r--r-- | sources/scalac/CompilerPhases.java | 7 | ||||
-rw-r--r-- | sources/scalac/transformer/WholeProgPhase.java | 44 |
2 files changed, 51 insertions, 0 deletions
diff --git a/sources/scalac/CompilerPhases.java b/sources/scalac/CompilerPhases.java index daaf55c34c..3dc4e9a24f 100644 --- a/sources/scalac/CompilerPhases.java +++ b/sources/scalac/CompilerPhases.java @@ -33,6 +33,7 @@ public abstract class CompilerPhases { public final PhaseDescriptor EXPLICITOUTER; public final PhaseDescriptor ADDCONSTRUCTORS; public final PhaseDescriptor TAILCALL; + public final PhaseDescriptor WHOLEPROG; public final PhaseDescriptor ADDINTERFACES; public final PhaseDescriptor EXPANDMIXIN; public final PhaseDescriptor MAKEBOXINGEXPLICIT; @@ -61,6 +62,7 @@ public abstract class CompilerPhases { protected Class ADDACCESSORS_PHASE() { return scalac.transformer.AddAccessorsPhase.class; } protected Class ADDCONSTRUCTORS_PHASE() { return scalac.transformer.AddConstructorsPhase.class; } protected Class TAILCALL_PHASE() { return scalac.transformer.TailCallPhase.class; } + protected Class WHOLEPROG_PHASE() { return scalac.util.EmptyPhase.class; } // No java version protected Class ADDINTERFACES_PHASE() { return scalac.transformer.AddInterfacesPhase.class; } protected Class EXPANDMIXIN_PHASE() { return scalac.transformer.ExpandMixinsPhase.class; } protected Class ERASURE_PHASE() { return scalac.transformer.ErasurePhase.class; } @@ -136,6 +138,11 @@ public abstract class CompilerPhases { "add tail-calls", "added tail-calls", TAILCALL_PHASE()), + this.WHOLEPROG = new PhaseDescriptor( + "wholeprog", + "perform whole program analysis", + "find monomorphic callsites and performs inlining", + WHOLEPROG_PHASE()), this.ADDINTERFACES = new PhaseDescriptor( "addinterfaces", "add one interface per class", diff --git a/sources/scalac/transformer/WholeProgPhase.java b/sources/scalac/transformer/WholeProgPhase.java new file mode 100644 index 0000000000..5d97f4abdc --- /dev/null +++ b/sources/scalac/transformer/WholeProgPhase.java @@ -0,0 +1,44 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +package scalac.transformer; + +import scalac.Global; +import scalac.Phase; +import scalac.PhaseDescriptor; +import scalac.CompilationUnit; +import scalac.checkers.TreeChecker; +import scalac.symtab.Definitions; + +import ch.epfl.lamp.util.CodePrinter; +import scalac.atree.ATreePrinter; + + +/** + * This class represents the wholeprog phase for the java version + * of the compiler. It doesn't do anything but permit to make + * a bridge between the java implementation of Socos et the + * scala one. See scala.tools.scalac.wholeprog.WholeProgPhase for + * implementation + */ +public class WholeProgPhase extends Phase { + + /** Initializes this instance. */ + public WholeProgPhase(Global global, PhaseDescriptor descriptor) { + super(global, descriptor); + + } + + //######################################################################## + // Public Methods + + /** Applies this phase to the given compilation units. */ + public void apply(CompilationUnit[] units) { + // This java version doesn't make anything + } + +} + |