From dd012e5461ae23ce388924fcc78cd438c6d8c322 Mon Sep 17 00:00:00 2001 From: schinz Date: Thu, 14 Oct 2004 07:47:30 +0000 Subject: - added option -Xrtt to enable support for run-... - added option -Xrtt to enable support for run-time types --- sources/scalac/CompilerCommand.java | 5 +++++ sources/scalac/Global.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/sources/scalac/CompilerCommand.java b/sources/scalac/CompilerCommand.java index 1e014ee452..d2e244b271 100644 --- a/sources/scalac/CompilerCommand.java +++ b/sources/scalac/CompilerCommand.java @@ -85,6 +85,7 @@ public class CompilerCommand extends CommandParser { public final BooleanOptionParser Xmarkup; public final BooleanOptionParser Xnewmatch; public final BooleanOptionParser XpreserveWS; + public final BooleanOptionParser XrunTimeTypes; /* * Whole-program optimization options @@ -279,6 +280,10 @@ public class CompilerCommand extends CommandParser { "Xinline", "Inline method calls that can be resolved statically", false), + this.XrunTimeTypes = new BooleanOptionParser(this, + "Xrtt", "Enable run-time types", + false), + this.unknown_options = new UnknownOptionParser(this), this.files = new ScalaFileArgumentParser(this), diff --git a/sources/scalac/Global.java b/sources/scalac/Global.java index 469aa9ef89..93a19ff47e 100644 --- a/sources/scalac/Global.java +++ b/sources/scalac/Global.java @@ -64,6 +64,7 @@ public abstract class Global { public final boolean uniqid; public final boolean newMatch; public final boolean xmlPreserveWS; + public final boolean runTimeTypes; public final boolean printtypes; public final boolean printtokens; @@ -222,6 +223,7 @@ public abstract class Global { this.uniqid = args.uniqid.value; this.newMatch = args.Xnewmatch.value; this.xmlPreserveWS = args.XpreserveWS.value; + this.runTimeTypes = args.XrunTimeTypes.value; this.explaintypes = args.explaintypes.value; this.printtypes = args.types.value; this.printtokens = args.print.tokens; @@ -271,6 +273,7 @@ public abstract class Global { this.PHASE = args.phases; // if (!optimize) PHASE.remove(args.phases.OPTIMIZE); // TODO: Enable TailCall for other backends when they handle LabelDefs + if (!runTimeTypes) args.phases.TYPESASVALUES.addSkipFlag(); if (target != TARGET_MSIL) args.phases.GENMSIL.addSkipFlag(); if (target != TARGET_JVM) args.phases.GENJVM.addSkipFlag(); if (target != TARGET_JVMFROMICODE) { -- cgit v1.2.3