summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2006-12-15 15:04:50 +0000
committermichelou <michelou@epfl.ch>2006-12-15 15:04:50 +0000
commit635b88be42124cf8afa450a32eda83a3698a44e2 (patch)
treecc41afae7daeae1bd30e5968b72e4e4afc8be68d
parentdd230b0b1fbb3e21620774d377f09eeeae61ff13 (diff)
downloadscala-635b88be42124cf8afa450a32eda83a3698a44e2.tar.gz
scala-635b88be42124cf8afa450a32eda83a3698a44e2.tar.bz2
scala-635b88be42124cf8afa450a32eda83a3698a44e2.zip
added option 'unchecked' in Scalac Ant task and...
added option 'unchecked' in Scalac Ant task and man page
-rw-r--r--src/compiler/scala/tools/ant/Scalac.scala28
-rw-r--r--src/manual/scala/man1/Command.scala4
-rw-r--r--src/manual/scala/man1/scalac.scala45
3 files changed, 48 insertions, 29 deletions
diff --git a/src/compiler/scala/tools/ant/Scalac.scala b/src/compiler/scala/tools/ant/Scalac.scala
index 4957eb088a..22b0dc9105 100644
--- a/src/compiler/scala/tools/ant/Scalac.scala
+++ b/src/compiler/scala/tools/ant/Scalac.scala
@@ -1,7 +1,7 @@
/* __ ______________ *\
** / |/ / ____/ ____/ **
** / | | /___ / /___ **
-** /_/|__/_____/_____/ Copyright 2005-2006 LAMP/EPFL **
+** /_/|__/_____/_____/ Copyright 2005-2007 LAMP/EPFL **
** **
\* */
@@ -51,9 +51,10 @@ package scala.tools.ant {
* <li>logphase,</li>
* <li>usepredefs,</li>
* <li>debuginfo,</li>
- * <li>addparams.</li>
+ * <li>addparams,</li>
* <li>scalacdebugging,</li>
- * <li>deprecation.</li>
+ * <li>deprecation,</li>
+ * <li>unchecked.</li>
* </ul>
* <p>
* It also takes the following parameters as nested elements:
@@ -104,8 +105,10 @@ package scala.tools.ant {
val values = List("jvm", "msil", "cldc")
}
- /** Defines valid values for the <code>deprecation</code> property. */
- object Deprecation extends PermissibleValue {
+ /** Defines valid values for the <code>deprecation</code> and
+ * <code>unchecked</code> properties.
+ */
+ object Flag extends PermissibleValue {
val values = List("yes", "no", "on", "off")
}
@@ -145,6 +148,8 @@ package scala.tools.ant {
private var addParams: String = ""
/** Instruct the compiler to generate deprecation information. */
private var deprecation: Boolean = false
+ /** Instruct the compiler to generate unchecked information. */
+ private var unchecked: Boolean = false
/** Whether the compiler is being debuged. Prints more information in case
* in case of failure. */
@@ -345,11 +350,21 @@ package scala.tools.ant {
* @param input One of the flags <code>yes/no</code> or <code>on/off</code>.
*/
def setDeprecation(input: String): Unit =
- if (Deprecation.isPermissible(input))
+ if (Flag.isPermissible(input))
deprecation = "yes".equals(input) || "on".equals(input)
else
error("Unknown deprecation flag '" + input + "'")
+ /** Set the <code>unchecked</code> info attribute.
+ *
+ * @param input One of the flags <code>yes/no</code> or <code>on/off</code>.
+ */
+ def setUnchecked(input: String): Unit =
+ if (Flag.isPermissible(input))
+ unchecked = "yes".equals(input) || "on".equals(input)
+ else
+ error("Unknown unchecked flag '" + input + "'")
+
/** Set the <code>scalacdebugging</code> info attribute.
*
* @param input The specified flag
@@ -564,6 +579,7 @@ package scala.tools.ant {
settings.nopredefs.value = !usepredefs
settings.debuginfo.value = debugInfo
settings.deprecation.value = deprecation
+ settings.unchecked.value = unchecked
log("Scalac params = '" + addParams + "'", Project.MSG_DEBUG)
var args =
diff --git a/src/manual/scala/man1/Command.scala b/src/manual/scala/man1/Command.scala
index 7a5aeb23a3..847e3c6383 100644
--- a/src/manual/scala/man1/Command.scala
+++ b/src/manual/scala/man1/Command.scala
@@ -1,5 +1,5 @@
/* NSC -- new Scala compiler
- * Copyright 2005-2006 LAMP/EPFL
+ * Copyright 2005-2007 LAMP/EPFL
* @author Stephane Micheloud
*/
//$Id$
@@ -51,7 +51,7 @@ trait Command {
//private val df = new java.text.SimpleDateFormat("MMM d, yyyy")
//private val rightNow = new java.util.Date()
- def lastModified: String = "September 20, 2006" // df.format(rightNow)
+ def lastModified: String = "December 15, 2006" // df.format(rightNow)
def manpage: Document
}
diff --git a/src/manual/scala/man1/scalac.scala b/src/manual/scala/man1/scalac.scala
index eb54944371..eb19270f78 100644
--- a/src/manual/scala/man1/scalac.scala
+++ b/src/manual/scala/man1/scalac.scala
@@ -1,5 +1,5 @@
/* NSC -- new Scala compiler
- * Copyright 2005-2006 LAMP/EPFL
+ * Copyright 2005-2007 LAMP/EPFL
* @author Stephane Micheloud
*/
//$Id$
@@ -54,15 +54,9 @@ object scalac extends Command {
Section("Standard Options",
DefinitionList(
Definition(
- CmdOption("g"),
- "Generate debugging info"),
- Definition(
- CmdOption("g:none"),
- "Generate no debugging info"),
- Definition(
- CmdOption("g:{source,lines,vars,notc}"),
+ CmdOption("g:{none,source,lines,vars,notc}"),
SeqPara(
- "Generate only some debugging info.",
+ Mono("\"none\"") & " generates no debugging info,",
Mono("\"source\"") & " generates only the source file attribute,",
Mono("\"lines\"") & " generates source and line number information,",
Mono("\"vars\"") & " generates source, line number and local " &
@@ -73,6 +67,9 @@ object scalac extends Command {
CmdOption("nowarn"),
"Generate no warnings"),
Definition(
+ CmdOption("noassert"),
+ "Generate no assertions and assumptions"),
+ Definition(
CmdOption("verbose"),
"Output messages about what the compiler is doing"),
Definition(
@@ -101,14 +98,6 @@ object scalac extends Command {
CmdOption("d", Argument("directory")),
"Specify where to place generated class files."),
Definition(
- CmdOption("deprecation"),
- SeqPara(
- "Indicates whether source should be compiled with deprecation " &
- "information; defaults to " & Mono("off") & " (" &
- "accepted values are: " & Mono("on") & ", " & Mono("off") &
- ", " & Mono("yes") & " and " & Mono("no") & ")",
- "Available since Scala version 2.2.1")),
- Definition(
CmdOption("encoding", Argument("encoding")),
SeqPara(
"Specify character encoding used by source files.",
@@ -128,8 +117,19 @@ object scalac extends Command {
CmdOption("migrate"),
"Assist in migrating from Scala version 1.0."),
Definition(
- CmdOption("statistics"),
- "Print compiler statistics."),
+ CmdOption("deprecation"),
+ SeqPara(
+ "Indicate whether source should be compiled with deprecation " &
+ "information; defaults to " & Mono("off") & " (" &
+ "accepted values are: " & Mono("on") & ", " & Mono("off") &
+ ", " & Mono("yes") & " and " & Mono("no") & ")",
+ "Available since Scala version 2.2.1")),
+ Definition(
+ CmdOption("unchecked"),
+ SeqPara(
+ "Enable detailed unchecked warnings",
+ "Non variable type-arguments in type patterns are unchecked " &
+ "since they are eliminated by erasure")),
Definition(
CmdOption("resident"),
"Compiler stays resident, files to compile are read from standard " &
@@ -142,7 +142,7 @@ object scalac extends Command {
"Print a synopsis of standard options."),
Definition(
CmdOption("nouescape"),
- "Disables handling of " & BSlash & "u unicode escapes"))),
+ "Disable handling of " & BSlash & "u unicode escapes"))),
Section("Non-Standard Options",
DefinitionList(
@@ -176,6 +176,9 @@ object scalac extends Command {
CmdOption("debug"),
"Output debugging messages."),
Definition(
+ CmdOption("statistics"),
+ "Print compiler statistics."),
+ Definition(
CmdOption("explaintypes"),
"Explain type errors in more detail."),
Definition(
@@ -338,7 +341,7 @@ object scalac extends Command {
title = command
date = lastModified // e.g. "June 8, 2006"
author = "Stephane Micheloud"
- version = "0.3"
+ version = "0.4"
sections = List(
name,
synopsis,