diff options
Diffstat (limited to 'sources/scalac/backend')
-rw-r--r-- | sources/scalac/backend/jvm/GenJVMBCELPhase.java | 45 | ||||
-rw-r--r-- | sources/scalac/backend/jvm/GenJVMPhase.java | 38 | ||||
-rw-r--r-- | sources/scalac/backend/msil/GenMSILPhase.java | 36 |
3 files changed, 70 insertions, 49 deletions
diff --git a/sources/scalac/backend/jvm/GenJVMBCELPhase.java b/sources/scalac/backend/jvm/GenJVMBCELPhase.java index 4ef402fd86..3d1b50a77e 100644 --- a/sources/scalac/backend/jvm/GenJVMBCELPhase.java +++ b/sources/scalac/backend/jvm/GenJVMBCELPhase.java @@ -9,31 +9,42 @@ package scalac.backend.jvm; import scalac.Global; -import scalac.Unit; +import scalac.Phase; import scalac.PhaseDescriptor; -import scalac.ApplicationError; +import scalac.Unit; -public class GenJVMBCELPhase extends PhaseDescriptor { +/** + * Phase to generate Java bytecodes using the BCEL library. + * + * @author Michel Schinz + * @version 1.0 + */ - public String name () { - return "genjvm-bcel"; - } +public class GenJVMBCELPhase extends Phase { - public String description () { - return "generate JVM bytecodes"; - } + //######################################################################## + // Private Fields - public String taskDescription() { - return "generated JVM code"; - } + /** The tree to code translator */ + private final GenJVMBCEL translator; + + //######################################################################## + // Public Constructors - public void apply(Global global) { - for (int i = 0; i < global.units.length; i++) - apply(global.units[i]); + /** Initializes this instance. */ + public GenJVMBCELPhase(Global global, PhaseDescriptor descriptor) { + super(global, descriptor); + this.translator = new GenJVMBCEL(global); } - public void apply(Unit unit) { - new GenJVMBCEL(unit.global).translate(unit); + //######################################################################## + // Public Methods + + /** Applies this phase to the given compilation units. */ + public void apply(Unit[] units) { + for (int i = 0; i < units.length; i++) translator.translate(units[i]); } + + //######################################################################## } diff --git a/sources/scalac/backend/jvm/GenJVMPhase.java b/sources/scalac/backend/jvm/GenJVMPhase.java index 6087cfb2e1..9fb1c72e89 100644 --- a/sources/scalac/backend/jvm/GenJVMPhase.java +++ b/sources/scalac/backend/jvm/GenJVMPhase.java @@ -9,9 +9,9 @@ package scalac.backend.jvm; import scalac.Global; -import scalac.Unit; +import scalac.Phase; import scalac.PhaseDescriptor; -import scalac.ApplicationError; +import scalac.Unit; /** * Phase to generate Java bytecodes using the FJBG library. @@ -20,26 +20,30 @@ import scalac.ApplicationError; * @version 1.0 */ -public class GenJVMPhase extends PhaseDescriptor { +public class GenJVMPhase extends Phase { - public String name () { - return "genjvm"; - } + //######################################################################## + // Private Fields - public String description () { - return "generate JVM bytecodes"; - } + /** The tree to code translator */ + private final GenJVM translator; - public String taskDescription() { - return "generated JVM code"; - } + //######################################################################## + // Public Constructors - public void apply(Global global) { - for (int i = 0; i < global.units.length; i++) - apply(global.units[i]); + /** Initializes this instance. */ + public GenJVMPhase(Global global, PhaseDescriptor descriptor) { + super(global, descriptor); + this.translator = new GenJVM(global); } - public void apply(Unit unit) { - new GenJVM(unit.global).translate(unit); + //######################################################################## + // Public Methods + + /** Applies this phase to the given compilation units. */ + public void apply(Unit[] units) { + for (int i = 0; i < units.length; i++) translator.translate(units[i]); } + + //######################################################################## } diff --git a/sources/scalac/backend/msil/GenMSILPhase.java b/sources/scalac/backend/msil/GenMSILPhase.java index 0e814e2346..6ba91bf7eb 100644 --- a/sources/scalac/backend/msil/GenMSILPhase.java +++ b/sources/scalac/backend/msil/GenMSILPhase.java @@ -9,12 +9,19 @@ package scalac.backend.msil; import scalac.Global; -import scalac.Unit; +import scalac.Phase; import scalac.PhaseDescriptor; +import scalac.Unit; import java.util.HashMap; -public class GenMSILPhase extends PhaseDescriptor { +public class GenMSILPhase extends Phase { + + //######################################################################## + // Private Fields + + /** The tree to code translator */ + private final GenMSIL translator; final HashMap assemblies = new HashMap(); @@ -24,23 +31,22 @@ public class GenMSILPhase extends PhaseDescriptor { final HashMap symbols2methods = new HashMap(); final HashMap symbols2moduleFields = new HashMap(); - public String name () { - return "genmsil"; - } + //######################################################################## + // Public Constructors - public String description () { - return "generate MSIL code"; + /** Initializes this instance. */ + public GenMSILPhase(Global global, PhaseDescriptor descriptor) { + super(global, descriptor); + this.translator = new GenMSIL(global, this); } - public String taskDescription() { - return "generated MSIL code"; - } + //######################################################################## + // Public Methods - public void apply(Global global) { - new GenMSIL(global, this).apply(); + /** Applies this phase to the given compilation units. */ + public void apply(Unit[] units) { + for (int i = 0; i < units.length; i++) translator.apply(units[i]); } - public void apply(Unit unit) { - new GenMSIL(unit.global, this).apply(unit); - } + //######################################################################## } |