summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2005-11-30 17:16:11 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2005-11-30 17:16:11 +0000
commit89c583a548bfa2c113cb5bff5668895107bee70e (patch)
tree2267fa0064d587646a214d5e1bfc637cb2de93d9
parent31168656d770558c52c7cd1555621ce52ea8cfca (diff)
downloadscala-89c583a548bfa2c113cb5bff5668895107bee70e.tar.gz
scala-89c583a548bfa2c113cb5bff5668895107bee70e.tar.bz2
scala-89c583a548bfa2c113cb5bff5668895107bee70e.zip
SCABBUS now also supports the "print" option.
-rw-r--r--build.xml6
-rw-r--r--config/build.default.properties3
-rw-r--r--sources/scala/tools/nsc/ant/NSC.scala20
3 files changed, 24 insertions, 5 deletions
diff --git a/build.xml b/build.xml
index dff7ed2455..374b8a2c0e 100644
--- a/build.xml
+++ b/build.xml
@@ -218,7 +218,7 @@
<nsc srcdir="${sources.dir}" destdir="${build.nslib.dir}"
usepredefs="false" debuginfo="${nsc.debuginfo}"
stop="${nsc.stop}" skip="${nsc.skip}" check="${nsc.check}" log="${nsc.log}"
- logging="${nsc.logging}">
+ logging="${nsc.logging}" print="${nsc.print}">
<classpath>
<pathelement location="${build.pico-nslib.dir}"/>
<pathelement location="${build.nslib.dir}"/>
@@ -232,7 +232,7 @@
<nsc srcdir="${sources.dir}" destdir="${build.nslib.dir}"
excludesfile="${nsc.nslib.excludes}" debuginfo="${nsc.debuginfo}"
stop="${nsc.stop}" skip="${nsc.skip}" check="${nsc.check}" log="${nsc.log}"
- logging="${nsc.logging}">
+ logging="${nsc.logging}" print="${nsc.print}">
<classpath>
<pathelement location="${build.pico-nslib.dir}"/>
<pathelement location="${build.nslib.dir}"/>
@@ -253,7 +253,7 @@
<nsc srcdir="${sources.dir}" destdir="${build.nstools.dir}"
excludesfile="${nsc.nstools.excludes}" debuginfo="${nsc.debuginfo}"
stop="${nsc.stop}" skip="${nsc.skip}" check="${nsc.check}" log="${nsc.log}"
- logging="${nsc.logging}">
+ logging="${nsc.logging}" print="${nsc.print}">
<classpath>
<pathelement location="${build.pico-nslib.dir}"/>
<pathelement location="${build.nslib.dir}"/>
diff --git a/config/build.default.properties b/config/build.default.properties
index f803b45862..356c664615 100644
--- a/config/build.default.properties
+++ b/config/build.default.properties
@@ -28,6 +28,9 @@ nsc.log=
# consistency.
nsc.check=
+# A comma-separated list of compile phases that NSC should print.
+nsc.print=
+
# The name of a file that lists files that should be excluded when building
# the new Scala library. This file MUST EXIST.
nsc.nslib.excludes=${config.dir}/excludes/nsc.nslib.excludes
diff --git a/sources/scala/tools/nsc/ant/NSC.scala b/sources/scala/tools/nsc/ant/NSC.scala
index 008958857c..3502a01e37 100644
--- a/sources/scala/tools/nsc/ant/NSC.scala
+++ b/sources/scala/tools/nsc/ant/NSC.scala
@@ -52,6 +52,7 @@ package scala.tools.nsc.ant {
* <li>stop,</li>
* <li>skip,</li>
* <li>check,</li>
+ * <li>print,</li>
* <li>showicode,</li>
* <li>log,</li>
* <li>debuginfo.</li>
@@ -133,6 +134,8 @@ package scala.tools.nsc.ant {
private var logPhase: List[String] = Nil;
/** Which compilation phases results should be checked for consistency. */
private var check: List[String] = Nil;
+ /** Which compilation phases results should be printed-out. */
+ private var print: List[String] = Nil;
/** Print ICode files along with class files (debug option). */
private var showICode: Boolean = false;
@@ -426,8 +429,8 @@ package scala.tools.nsc.ant {
}
/**
- * Sets the force attribute. Used by Ant.
- * @param input The value for <code>force</code>.
+ * Sets the check attribute. Used by Ant.
+ * @param input The value for <code>check</code>.
*/
def setCheck (input: String) = {
check = List.fromArray(input.split(",")).flatMap(s: String => {
@@ -437,6 +440,18 @@ package scala.tools.nsc.ant {
});
}
+ /**
+ * Sets the print attribute. Used by Ant.
+ * @param input The value for <code>print</code>.
+ */
+ def setPrint (input: String) = {
+ print = List.fromArray(input.split(",")).flatMap(s: String => {
+ val st = s.trim();
+ if (CompilerPhase.isPermissible(st)) (if (input != "") List(st) else Nil)
+ else {error("Phase " + st + " in print does not exist."); Nil}
+ });
+ }
+
def setShowicode(input: Boolean): Unit =
showICode = input;
@@ -598,6 +613,7 @@ package scala.tools.nsc.ant {
if (!stop.isEmpty) settings.stop.value = List(stop.get);
if (!skip.isEmpty) settings.skip.value = skip;
if (!check.isEmpty) settings.check.value = check;
+ if (!print.isEmpty) settings.print.value = print;
settings.Xshowicode.value = showICode;
settings.debuginfo.value = debugInfo;
if (!logPhase.isEmpty) settings.log.value = logPhase;