summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml134
-rw-r--r--src/build/pack.xml16
-rw-r--r--src/manual/scala/man1/fsc.scala3
-rw-r--r--src/manual/scala/man1/sbaz.scala3
-rw-r--r--src/manual/scala/man1/scala.scala3
-rw-r--r--src/manual/scala/man1/scalac.scala3
-rw-r--r--src/manual/scala/man1/scaladoc.scala3
-rw-r--r--src/manual/scala/man1/scalap.scala109
-rw-r--r--src/manual/scala/tools/docutil/resources/index.html20
-rw-r--r--src/scalap/scala/tools/scalap/Arguments.scala (renamed from src/compiler/scala/tools/scalap/Arguments.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/ByteArrayReader.scala (renamed from src/compiler/scala/tools/scalap/ByteArrayReader.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/Classfile.scala (renamed from src/compiler/scala/tools/scalap/Classfile.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/Classfiles.scala (renamed from src/compiler/scala/tools/scalap/Classfiles.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/CodeWriter.scala (renamed from src/compiler/scala/tools/scalap/CodeWriter.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/JavaWriter.scala (renamed from src/compiler/scala/tools/scalap/JavaWriter.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/Main.scala (renamed from src/compiler/scala/tools/scalap/Main.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/MetaParser.scala (renamed from src/compiler/scala/tools/scalap/MetaParser.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/Names.scala (renamed from src/compiler/scala/tools/scalap/Names.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/Properties.scala (renamed from src/compiler/scala/tools/scalap/Properties.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Arrows.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Arrows.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Functors.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Functors.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Input.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Input.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Memoisable.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Monad.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Monad.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Result.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Result.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Rule.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Rule.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/Rules.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/Rules.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/SeqRule.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/SeqRule.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/Flags.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/Flags.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/rules/scalasig/Type.scala (renamed from src/compiler/scala/tools/scalap/scalax/rules/scalasig/Type.scala)0
-rw-r--r--src/scalap/scala/tools/scalap/scalax/util/StringUtil.scala (renamed from src/compiler/scala/tools/scalap/scalax/util/StringUtil.scala)0
36 files changed, 279 insertions, 15 deletions
diff --git a/build.xml b/build.xml
index 2cbbe98008..af763d9b8f 100644
--- a/build.xml
+++ b/build.xml
@@ -517,7 +517,36 @@ QUICK BUILD (QUICK)
<stopwatch name="quick.partest.timer" action="total"/>
</target>
- <target name="quick.pre-bin" depends="quick.partest">
+ <target name="quick.pre-scalap" depends="quick.partest">
+ <uptodate property="quick.scalap.available" targetfile="${build-quick.dir}/scalap.complete">
+ <srcfiles dir="${src.dir}/scalap"/>
+ </uptodate>
+ </target>
+
+ <target name="quick.scalap" depends="quick.pre-scalap" unless="quick.scalap.available">
+ <stopwatch name="quick.scalap.timer"/>
+ <mkdir dir="${build-quick.dir}/classes/scalap"/>
+ <scalacfork
+ destdir="${build-quick.dir}/classes/scalap"
+ compilerpathref="locker.classpath"
+ srcpath="${src.dir}/scalap"
+ params="${scalac.args}"
+ srcdir="${src.dir}/scalap"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-quick.dir}/classes/library"/>
+ <pathelement location="${build-quick.dir}/classes/compiler"/>
+ <pathelement location="${build-quick.dir}/classes/partest"/>
+ <pathelement location="${build-quick.dir}/classes/scalap"/>
+ <pathelement location="${ant.jar}"/>
+ </compilationpath>
+ </scalacfork>
+ <touch file="${build-quick.dir}/scalap.complete" verbose="no"/>
+ <stopwatch name="quick.scalap.timer" action="total"/>
+ </target>
+
+ <target name="quick.pre-bin" depends="quick.scalap">
<condition property="quick.bin.available">
<isset property="quick.comp.available"/>
</condition>
@@ -527,6 +556,7 @@ QUICK BUILD (QUICK)
<path id="quick.bin.classpath">
<pathelement location="${build-quick.dir}/classes/library"/>
<pathelement location="${build-quick.dir}/classes/compiler"/>
+ <pathelement location="${build-quick.dir}/classes/scalap"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${jline.jar}"/>
</path>
@@ -552,10 +582,16 @@ QUICK BUILD (QUICK)
class="scala.tools.nsc.CompileClient"
javaFlags="${java.flags}"
classpathref="quick.bin.classpath"/>
+ <quick-bin
+ file="${build-quick.dir}/bin/scalap"
+ class="scala.tools.scalap.Main"
+ javaFlags="${java.flags}"
+ classpathref="quick.bin.classpath"/>
<chmod perm="ugo+rx" file="${build-quick.dir}/bin/scala"/>
<chmod perm="ugo+rx" file="${build-quick.dir}/bin/scalac"/>
<chmod perm="ugo+rx" file="${build-quick.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${build-quick.dir}/bin/fsc"/>
+ <chmod perm="ugo+rx" file="${build-quick.dir}/bin/scalap"/>
<touch file="${build-quick.dir}/bin.complete" verbose="no"/>
</target>
@@ -645,7 +681,21 @@ PACKED QUICK BUILD (PACK)
</jar>
</target>
- <target name="pack.pre-bin" depends="pack.partest">
+ <target name="pack.pre-scalap" depends="pack.partest">
+ <uptodate
+ property="pack.scalap.available"
+ targetfile="${build-pack.dir}/lib/scalap.jar"
+ srcfile="${build-quick.dir}/scalap.complete"/>
+ </target>
+
+ <target name="pack.scalap" depends="pack.pre-scalap" unless="pack.scalap.available">
+ <mkdir dir="${build-pack.dir}/lib"/>
+ <jar destfile="${build-pack.dir}/lib/scalap.jar">
+ <fileset dir="${build-quick.dir}/classes/scalap"/>
+ </jar>
+ </target>
+
+ <target name="pack.pre-bin" depends="pack.scalap">
<uptodate
property="pack.bin.available"
srcfile="${build-pack.dir}/lib/scala-compiler.jar"
@@ -676,10 +726,15 @@ PACKED QUICK BUILD (PACK)
file="${build-pack.dir}/bin/fsc"
class="scala.tools.nsc.CompileClient"
javaFlags="${java.flags}"/>
+ <pack-bin
+ file="${build-pack.dir}/bin/scalap"
+ class="scala.tools.scalap.Main"
+ javaFlags="${java.flags}"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scala"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalac"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${build-pack.dir}/bin/fsc"/>
+ <chmod perm="ugo+rx" file="${build-pack.dir}/bin/scalap"/>
<touch file="${build-pack.dir}/bin.complete" verbose="no"/>
</target>
@@ -688,6 +743,7 @@ PACKED QUICK BUILD (PACK)
<pathelement location="${build-pack.dir}/lib/scala-library.jar"/>
<pathelement location="${build-pack.dir}/lib/scala-compiler.jar"/>
<pathelement location="${build-pack.dir}/lib/scala-partest.jar"/>
+ <pathelement location="${build-pack.dir}/lib/scalap.jar"/>
<pathelement location="${ant.jar}"/>
</path>
<taskdef resource="scala/tools/ant/antlib.xml" classpathref="pack.classpath"/>
@@ -875,7 +931,34 @@ BOOTSTRAPPING BUILD (STRAP)
<stopwatch name="strap.partest.timer" action="total"/>
</target>
- <target name="strap.done" depends="strap.partest"/>
+ <target name="strap.pre-scalap" depends="strap.partest">
+ <uptodate property="strap.scalap.available" targetfile="${build-strap.dir}/scalap.complete">
+ <srcfiles dir="${src.dir}/scalap"/>
+ </uptodate>
+ </target>
+
+ <target name="strap.scalap" depends="strap.pre-scalap" unless="strap.scalap.available">
+ <stopwatch name="strap.scalap.timer"/>
+ <mkdir dir="${build-strap.dir}/classes/scalap"/>
+ <scalac
+ srcdir="${src.dir}/scalap"
+ destdir="${build-strap.dir}/classes/scalap"
+ target="jvm-1.5"
+ addparams="${scalac.args}">
+ <include name="**/*.scala"/>
+ <classpath>
+ <pathelement location="${build-strap.dir}/classes/library"/>
+ <pathelement location="${build-strap.dir}/classes/compiler"/>
+ <pathelement location="${build-strap.dir}/classes/partest"/>
+ <pathelement location="${build-strap.dir}/classes/scalap"/>
+ <pathelement location="${ant.jar}"/>
+ </classpath>
+ </scalac>
+ <touch file="${build-strap.dir}/scalap.complete" verbose="no"/>
+ <stopwatch name="strap.scalap.timer" action="total"/>
+ </target>
+
+ <target name="strap.done" depends="strap.scalap"/>
<target name="strap.clean">
<delete dir="${build-strap.dir}" includeemptydirs="yes" quiet="yes" failonerror="no"/>
@@ -1081,7 +1164,36 @@ OPTIMISED COMPILER
<stopwatch name="optimised.partest.timer" action="total"/>
</target>
- <target name="optimised.pre-bin" depends="optimised.partest">
+ <target name="optimised.pre-scalap" depends="optimised.partest">
+ <uptodate property="optimised.scalap.available" targetfile="${build-optimised.dir}/scalap.complete">
+ <srcfiles dir="${src.dir}/scalap"/>
+ </uptodate>
+ </target>
+
+ <target name="optimised.scalap" depends="optimised.pre-scalap" unless="optimised.scalap.available">
+ <stopwatch name="optimised.scalap.timer"/>
+ <mkdir dir="${build-optimised.dir}/classes/scalap"/>
+ <scalacfork
+ destdir="${build-optimised.dir}/classes/scalap"
+ compilerpathref="locker.classpath"
+ srcpath="${src.dir}/scalap"
+ params="${scalac.args}"
+ srcdir="${src.dir}/scalap"
+ jvmargs="${scalacfork.jvmargs}">
+ <include name="**/*.scala"/>
+ <compilationpath>
+ <pathelement location="${build-optimised.dir}/classes/library"/>
+ <pathelement location="${build-optimised.dir}/classes/compiler"/>
+ <pathelement location="${build-optimised.dir}/classes/partest"/>
+ <pathelement location="${build-optimised.dir}/classes/scalap"/>
+ <pathelement location="${ant.jar}"/>
+ </compilationpath>
+ </scalacfork>
+ <touch file="${build-optimised.dir}/scalap.complete" verbose="no"/>
+ <stopwatch name="optimised.scalap.timer" action="total"/>
+ </target>
+
+ <target name="optimised.pre-bin" depends="optimised.scalap">
<condition property="optimised.bin.available">
<isset property="optimised.comp.available"/>
</condition>
@@ -1091,6 +1203,7 @@ OPTIMISED COMPILER
<path id="optimised.bin.classpath">
<pathelement location="${build-optimised.dir}/classes/library"/>
<pathelement location="${build-optimised.dir}/classes/compiler"/>
+ <pathelement location="${build-optimised.dir}/classes/scalap"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${jline.jar}"/>
</path>
@@ -1116,10 +1229,16 @@ OPTIMISED COMPILER
class="scala.tools.nsc.CompileClient"
javaFlags="${java.flags}"
classpathref="optimised.bin.classpath"/>
+ <optimised-bin
+ file="${build-optimised.dir}/bin/scalap"
+ class="scala.tools.scalap.Main"
+ javaFlags="${java.flags}"
+ classpathref="optimised.bin.classpath"/>
<chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scala"/>
<chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scalac"/>
<chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${build-optimised.dir}/bin/fsc"/>
+ <chmod perm="ugo+rx" file="${build-optimised.dir}/bin/scalap"/>
<touch file="${build-optimised.dir}/bin.complete" verbose="no"/>
</target>
@@ -1128,6 +1247,7 @@ OPTIMISED COMPILER
<pathelement location="${build-optimised.dir}/classes/library"/>
<pathelement location="${build-optimised.dir}/classes/compiler"/>
<pathelement location="${build-optimised.dir}/classes/partest"/>
+ <pathelement location="${build-optimised.dir}/classes/scalap"/>
<pathelement location="${fjbg.jar}"/>
<pathelement location="${ant.jar}"/>
</path>
@@ -1212,7 +1332,7 @@ DOCUMENTATION
<taskdef name="genman"
classname="scala.tools.docutil.ManMaker"
classpathref="manual.classpath"/>
- <genman command="fsc, sbaz, scala, scalac, scaladoc"
+ <genman command="fsc, sbaz, scala, scalac, scaladoc, scalap"
htmlout="${build-docs.dir}/manual/html"
manout="${build-docs.dir}/manual/genman"/>
<!-- On Windows source and target files can't be the same ! -->
@@ -1353,6 +1473,7 @@ DISTRIBUTION
<chmod perm="ugo+rx" file="${dist.dir}/bin/scalac"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/scaladoc"/>
<chmod perm="ugo+rx" file="${dist.dir}/bin/fsc"/>
+ <chmod perm="ugo+rx" file="${dist.dir}/bin/scalap"/>
</target>
<target name="dist.doc" depends="dist.base">
@@ -1397,6 +1518,9 @@ DISTRIBUTION
<jar destfile="${dist.dir}/src/scala-compiler-src.jar">
<fileset dir="${src.dir}/compiler"/>
</jar>
+ <jar destfile="${dist.dir}/src/scalap-src.jar">
+ <fileset dir="${src.dir}/scalap"/>
+ </jar>
</target>
<target name="dist.latest.unix" depends="dist.src" unless="os.win">
diff --git a/src/build/pack.xml b/src/build/pack.xml
index bed8d1e782..8ed5f25713 100644
--- a/src/build/pack.xml
+++ b/src/build/pack.xml
@@ -119,8 +119,22 @@ MAIN DISTRIBUTION SBAZ
<libset dir="${dist.dir}/lib" includes="scala-partest.jar"/>
</sbaz>
</target>
+
+ <target name="pack-sbaz.scalap" depends="pack-sbaz.test">
+ <sbaz
+ file="${dists.dir}/sbaz/scalap-${version.number}.sbp"
+ adfile="${dists.dir}/sbaz/scalap-${version.number}.advert"
+ name="scalap"
+ version="${version.number}"
+ desc="The scalap package contains the Scala classfile decoder."
+ link="${sbaz.universe}/scalap-${version.number}.sbp">
+ <binset dir="${dist.dir}/bin"
+ includes="scalap,scalap.bat"/>
+ <libset dir="${dist.dir}/lib" includes="scalap.jar"/>
+ </sbaz>
+ </target>
- <target name="pack-sbaz.doc" depends="pack-sbaz.test">
+ <target name="pack-sbaz.doc" depends="pack-sbaz.scalap">
<sbaz
file="${dists.dir}/sbaz/scala-devel-docs-${version.number}.sbp"
adfile="${dists.dir}/sbaz/scala-devel-docs-${version.number}.advert"
diff --git a/src/manual/scala/man1/fsc.scala b/src/manual/scala/man1/fsc.scala
index 22e1c90c4b..a11ef6a936 100644
--- a/src/manual/scala/man1/fsc.scala
+++ b/src/manual/scala/man1/fsc.scala
@@ -142,7 +142,8 @@ object fsc extends Command {
Link(Bold("sbaz") & "(1)", "sbaz.html") & ", " &
Link(Bold("scala") & "(1)", "scala.html") & ", " &
Link(Bold("scalac") & "(1)", "scalac.html") & ", " &
- Link(Bold("scaladoc") & "(1)", "scaladoc.html"))
+ Link(Bold("scaladoc") & "(1)", "scaladoc.html") & ", " &
+ Link(Bold("scalap") & "(1)", "scalap.html"))
def manpage = new Document {
title = command
diff --git a/src/manual/scala/man1/sbaz.scala b/src/manual/scala/man1/sbaz.scala
index 49a2ab44da..bf53e3803d 100644
--- a/src/manual/scala/man1/sbaz.scala
+++ b/src/manual/scala/man1/sbaz.scala
@@ -182,7 +182,8 @@ object sbaz extends Command {
Link(Bold("fsc") & "(1)", "fsc.html") & ", " &
Link(Bold("scala") & "(1)", "scala.html") & ", " &
Link(Bold("scalac") & "(1)", "scalac.html") & ", " &
- Link(Bold("scaladoc") & "(1)", "scaladoc.html"))
+ Link(Bold("scaladoc") & "(1)", "scaladoc.html") & ", " &
+ Link(Bold("scalap") & "(1)", "scalap.html"))
def manpage = new Document {
title = command
diff --git a/src/manual/scala/man1/scala.scala b/src/manual/scala/man1/scala.scala
index 949989d06f..084d40a5a7 100644
--- a/src/manual/scala/man1/scala.scala
+++ b/src/manual/scala/man1/scala.scala
@@ -249,7 +249,8 @@ object scala extends Command {
Link(Bold("fsc") & "(1)", "fsc.html") & ", " &
Link(Bold("sbaz") & "(1)", "sbaz.html") & ", " &
Link(Bold("scalac") & "(1)", "scalac.html") & ", " &
- Link(Bold("scaladoc") & "(1)", "scaladoc.html"))
+ Link(Bold("scaladoc") & "(1)", "scaladoc.html") & ", " &
+ Link(Bold("scalap") & "(1)", "scalap.html"))
def manpage = new Document {
title = command
diff --git a/src/manual/scala/man1/scalac.scala b/src/manual/scala/man1/scalac.scala
index 37815f90f4..af23aa41e8 100644
--- a/src/manual/scala/man1/scalac.scala
+++ b/src/manual/scala/man1/scalac.scala
@@ -351,7 +351,8 @@ object scalac extends Command {
Link(Bold("fsc") & "(1)", "fsc.html") & ", " &
Link(Bold("sbaz") & "(1)", "sbaz.html") & ", " &
Link(Bold("scala") & "(1)", "scala.html") & ", " &
- Link(Bold("scaladoc") & "(1)", "scaladoc.html"))
+ Link(Bold("scaladoc") & "(1)", "scaladoc.html") & ", " &
+ Link(Bold("scalap") & "(1)", "scalap.html"))
def manpage = new Document {
title = command
diff --git a/src/manual/scala/man1/scaladoc.scala b/src/manual/scala/man1/scaladoc.scala
index 54970e600f..458ee8da37 100644
--- a/src/manual/scala/man1/scaladoc.scala
+++ b/src/manual/scala/man1/scaladoc.scala
@@ -126,7 +126,8 @@ object scaladoc extends Command {
Link(Bold("fsc") & "(1)", "fsc.html") & ", " &
Link(Bold("sbaz") & "(1)", "sbaz.html") & ", " &
Link(Bold("scala") & "(1)", "scala.html") & ", " &
- Link(Bold("scalac") & "(1)", "scalac.html"))
+ Link(Bold("scalac") & "(1)", "scalac.html") & ", " &
+ Link(Bold("scalap") & "(1)", "scalap.html"))
def manpage = new Document {
title = command
diff --git a/src/manual/scala/man1/scalap.scala b/src/manual/scala/man1/scalap.scala
new file mode 100644
index 0000000000..7d780ffdb8
--- /dev/null
+++ b/src/manual/scala/man1/scalap.scala
@@ -0,0 +1,109 @@
+/* NSC -- new Scala compiler
+ * Copyright 2005-2009 LAMP/EPFL
+ * @author Stephane Micheloud
+ */
+//$Id$
+
+package scala.man1
+
+object scalap extends Command {
+ import _root_.scala.tools.docutil.ManPage._
+
+ protected def cn = new Error().getStackTrace()(0).getClassName()
+
+ val name = Section("NAME",
+
+ MBold(command) & " " & NDash & " Scala class file decoder for the " &
+ Link("Scala 2", "http://scala-lang.org/") & " language")
+
+ val synopsis = Section("SYNOPSIS",
+
+ CmdLine(" [ " & Argument("options") & " ] " & Argument("source file")))
+
+ val parameters = Section("PARAMETERS",
+
+ DefinitionList(
+ Definition(
+ Mono(Argument("options")),
+ "Command line options. See " & Link(Bold("OPTIONS"), "#options") &
+ " below."),
+ Definition(
+ Mono(Argument("source file")),
+ "One class file to be decoded (such as " &
+ Mono("hello.HelloWorld") & ").")))
+
+ val description = Section("DESCRIPTION",
+
+ "The " & MBold(command) & " tool reads a class file generated by the" &
+ "Scala compiler, and displays object and class definitions.",
+
+ "By default, " & MBold(command) & " looks for the given class file " &
+ "in the current directory. You can specify a separate classpath with " &
+ CmdOption("classpath") & "(see " & Link(Bold("OPTIONS"), "#options") & ", below).")
+
+ val options = Section("OPTIONS",
+
+ "The decoder has a set of standard options that are supported on the " &
+ "current development environment and will be supported in future releases.",
+
+ Section("Standard Options",
+ DefinitionList(
+ Definition(
+ CmdOption("help"),
+ "Display this usage message."),
+ Definition(
+ CmdOption("private"),
+ "Print private definitions."),
+ Definition(
+ CmdOption("verbose"),
+ "Print out additional information."),
+ Definition(
+ CmdOption("version"),
+ "Print product version and exit."),
+ Definition(
+ CmdOption("cp") & "| " & CmdOption("classpath"),
+ "Specify where to find user class files."))))
+
+ val examples = Section("EXAMPLES",
+
+ DefinitionList(
+ Definition(
+ "Display definitions for a generated class file",
+ CmdLine("hello.HelloWorld"))))
+
+ val exitStatus = Section("EXIT STATUS",
+
+ MBold(command) & " returns a zero exist status if it succeeds to process " &
+ "the specified input files. Non zero is returned in case of failure.")
+
+ override val authors = Section("AUTHOR",
+
+ "Written by Ilya Sergey.")
+
+ val seeAlso = Section("SEE ALSO",
+
+ Link(Bold("fsc") & "(1)", "fsc.html") & ", " &
+ Link(Bold("sbaz") & "(1)", "sbaz.html") & ", " &
+ Link(Bold("scala") & "(1)", "scala.html") & ", " &
+ Link(Bold("scalac") & "(1)", "scalac.html") & ", " &
+ Link(Bold("scaladoc") & "(1)", "scaladoc.html"))
+
+ def manpage = new Document {
+ title = command
+ date = "June 8, 2006"
+ author = "Stephane Micheloud"
+ version = "0.2"
+ sections = List(
+ name,
+ synopsis,
+ parameters,
+ description,
+ options,
+ examples,
+ exitStatus,
+ authors,
+ bugs,
+ copyright,
+ seeAlso)
+ }
+}
diff --git a/src/manual/scala/tools/docutil/resources/index.html b/src/manual/scala/tools/docutil/resources/index.html
index 7808cd96f8..248bb02a81 100644
--- a/src/manual/scala/tools/docutil/resources/index.html
+++ b/src/manual/scala/tools/docutil/resources/index.html
@@ -45,14 +45,15 @@
<ul class="ContentList">
<li>
<a href="#basic"><b class="SansSerif">Basic Tools</b></a> (<code>sbaz</code>,
- <code>fsc</code>, <code>scala</code>, <code>scalac</code>, <code>scaladoc</code>)
+ <code>fsc</code>, <code>scala</code>, <code>scalac</code>, <code>scaladoc</code>,
+ <code>scalap</code>)
</li>
</ul>
</div>
<p style="font-size: 90%; margin-left: 2em; margin-right: 2em;">
<b>NOTE</b> - Some tools have separate reference pages for Windows, Linux and Solaris
- to accommodate minor differences in configuration and usage -- for example, the character
+ to accommodate minor differences in configuration and usage -- for example, the character
used to specify directory separators may be different.
</p>
@@ -86,7 +87,7 @@
</td>
<td>
[<a class="external"
- href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/classpath.html">Solaris and Linux</a>]
+ href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/classpath.html">Solaris and Linux</a>]
[<a class="external"
href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/classpath.html">Windows</a>]
</td>
@@ -98,7 +99,7 @@
</td>
<td>
[<a class="external"
- href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/findingclasses.html">Solaris, Linux and Windows</a>]
+ href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/findingclasses.html">Solaris, Linux and Windows</a>]
</td>
</tr>
</table>
@@ -174,6 +175,17 @@
[<a href="scaladoc.html">Solaris, Linux and Windows</a>]
</td>
</tr>
+ <tr>
+ <td width="13%" valign="top">
+ <span class="tool">scalap</span>
+ </td>
+ <td width="70%" valign="top">
+ The Scala class file decoder.
+ </td>
+ <td width="17%" valign="top">
+ [<a href="scalap.html">Solaris, Linux and Windows</a>]
+ </td>
+ </tr>
</table>
<hr/>
diff --git a/src/compiler/scala/tools/scalap/Arguments.scala b/src/scalap/scala/tools/scalap/Arguments.scala
index 4810adf1af..4810adf1af 100644
--- a/src/compiler/scala/tools/scalap/Arguments.scala
+++ b/src/scalap/scala/tools/scalap/Arguments.scala
diff --git a/src/compiler/scala/tools/scalap/ByteArrayReader.scala b/src/scalap/scala/tools/scalap/ByteArrayReader.scala
index 13f62ebfd9..13f62ebfd9 100644
--- a/src/compiler/scala/tools/scalap/ByteArrayReader.scala
+++ b/src/scalap/scala/tools/scalap/ByteArrayReader.scala
diff --git a/src/compiler/scala/tools/scalap/Classfile.scala b/src/scalap/scala/tools/scalap/Classfile.scala
index 795f4ec613..795f4ec613 100644
--- a/src/compiler/scala/tools/scalap/Classfile.scala
+++ b/src/scalap/scala/tools/scalap/Classfile.scala
diff --git a/src/compiler/scala/tools/scalap/Classfiles.scala b/src/scalap/scala/tools/scalap/Classfiles.scala
index d9e85e9d9e..d9e85e9d9e 100644
--- a/src/compiler/scala/tools/scalap/Classfiles.scala
+++ b/src/scalap/scala/tools/scalap/Classfiles.scala
diff --git a/src/compiler/scala/tools/scalap/CodeWriter.scala b/src/scalap/scala/tools/scalap/CodeWriter.scala
index b0ad39bd12..b0ad39bd12 100644
--- a/src/compiler/scala/tools/scalap/CodeWriter.scala
+++ b/src/scalap/scala/tools/scalap/CodeWriter.scala
diff --git a/src/compiler/scala/tools/scalap/JavaWriter.scala b/src/scalap/scala/tools/scalap/JavaWriter.scala
index 46d1f0fb56..46d1f0fb56 100644
--- a/src/compiler/scala/tools/scalap/JavaWriter.scala
+++ b/src/scalap/scala/tools/scalap/JavaWriter.scala
diff --git a/src/compiler/scala/tools/scalap/Main.scala b/src/scalap/scala/tools/scalap/Main.scala
index 6e91e00234..6e91e00234 100644
--- a/src/compiler/scala/tools/scalap/Main.scala
+++ b/src/scalap/scala/tools/scalap/Main.scala
diff --git a/src/compiler/scala/tools/scalap/MetaParser.scala b/src/scalap/scala/tools/scalap/MetaParser.scala
index 1d3bf419db..1d3bf419db 100644
--- a/src/compiler/scala/tools/scalap/MetaParser.scala
+++ b/src/scalap/scala/tools/scalap/MetaParser.scala
diff --git a/src/compiler/scala/tools/scalap/Names.scala b/src/scalap/scala/tools/scalap/Names.scala
index 8bbc30a0b8..8bbc30a0b8 100644
--- a/src/compiler/scala/tools/scalap/Names.scala
+++ b/src/scalap/scala/tools/scalap/Names.scala
diff --git a/src/compiler/scala/tools/scalap/Properties.scala b/src/scalap/scala/tools/scalap/Properties.scala
index 1c23626aae..1c23626aae 100644
--- a/src/compiler/scala/tools/scalap/Properties.scala
+++ b/src/scalap/scala/tools/scalap/Properties.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Arrows.scala b/src/scalap/scala/tools/scalap/scalax/rules/Arrows.scala
index 2bc2cf5380..2bc2cf5380 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Arrows.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Arrows.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Functors.scala b/src/scalap/scala/tools/scalap/scalax/rules/Functors.scala
index b9de5c71da..b9de5c71da 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Functors.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Functors.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Input.scala b/src/scalap/scala/tools/scalap/scalax/rules/Input.scala
index af4ac39464..af4ac39464 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Input.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Input.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Memoisable.scala b/src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
index 0bcae2bded..0bcae2bded 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Memoisable.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Memoisable.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Monad.scala b/src/scalap/scala/tools/scalap/scalax/rules/Monad.scala
index 1b03b5d3fa..1b03b5d3fa 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Monad.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Monad.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Result.scala b/src/scalap/scala/tools/scalap/scalax/rules/Result.scala
index cb8ec4b290..cb8ec4b290 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Result.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Result.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Rule.scala b/src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
index f540d9ad8d..f540d9ad8d 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Rule.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Rule.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/Rules.scala b/src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
index fa6f959384..fa6f959384 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/Rules.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/Rules.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/SeqRule.scala b/src/scalap/scala/tools/scalap/scalax/rules/SeqRule.scala
index d32300f832..d32300f832 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/SeqRule.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/SeqRule.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
index 525217ed83..525217ed83 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ClassFileParser.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Flags.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Flags.scala
index c567cdf715..c567cdf715 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Flags.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Flags.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala
index c660bdd7c3..c660bdd7c3 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala
index abdb28e1f7..abdb28e1f7 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSigPrinter.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala
index f02ca870b0..f02ca870b0 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/SourceFileAttributeParser.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala
index f8c5e88db1..f8c5e88db1 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Symbol.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Type.scala b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Type.scala
index c812a94af7..c812a94af7 100644
--- a/src/compiler/scala/tools/scalap/scalax/rules/scalasig/Type.scala
+++ b/src/scalap/scala/tools/scalap/scalax/rules/scalasig/Type.scala
diff --git a/src/compiler/scala/tools/scalap/scalax/util/StringUtil.scala b/src/scalap/scala/tools/scalap/scalax/util/StringUtil.scala
index d48597fd9a..d48597fd9a 100644
--- a/src/compiler/scala/tools/scalap/scalax/util/StringUtil.scala
+++ b/src/scalap/scala/tools/scalap/scalax/util/StringUtil.scala