diff options
author | michelou <michelou@epfl.ch> | 2006-10-23 17:49:33 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2006-10-23 17:49:33 +0000 |
commit | d6753d1eda95a94dc8f5fb67ada51e38f104916e (patch) | |
tree | be8b48a5d03d9887b4325f2123d9fc4b8b032daf | |
parent | 54a3755e36a1e52ff367b0b27d6d27dc0578967c (diff) | |
download | scala-d6753d1eda95a94dc8f5fb67ada51e38f104916e.tar.gz scala-d6753d1eda95a94dc8f5fb67ada51e38f104916e.tar.bz2 scala-d6753d1eda95a94dc8f5fb67ada51e38f104916e.zip |
separated constrs/defs tables for primitive typ...
separated constrs/defs tables for primitive types in DocGenerator.scala
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/DocGenerator.scala | 64 | ||||
-rw-r--r-- | test/files/ant/test-build.xml | 8 | ||||
-rw-r--r-- | test/files/ant/test.check | 6 |
3 files changed, 48 insertions, 30 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/DocGenerator.scala b/src/compiler/scala/tools/nsc/doc/DocGenerator.scala index 1c6c6b5fef..3c06d98bad 100644 --- a/src/compiler/scala/tools/nsc/doc/DocGenerator.scala +++ b/src/compiler/scala/tools/nsc/doc/DocGenerator.scala @@ -576,6 +576,11 @@ abstract class DocGenerator extends Models { </span>; } + private val kinds = + new TreeMap[String, Symbol => Boolean] + + "Constructor" -> ((s: Symbol) => s.isConstructor) + + "Def" -> ((s: Symbol) => s.isMethod) + private abstract class PrimitiveContentFrame extends ContentFrame0 { def sym: Symbol def path = urlFor0(sym, sym) @@ -601,32 +606,43 @@ abstract class DocGenerator extends Models { {Text(codeFor(kind))} <span class="entity">{Text(sym.nameString)}</span> </div> - <hr/> - <table cellpadding="3" class="member" summary=""> - <tr> - <td colspan="2" class="title">Def Summary</td> - </tr> - { { - for (val m <- sym.tpe.decls.toList; m hasFlag Flags.METHOD) yield + <hr/>.concat({ + val decls = sym.tpe.decls.toList + //compute table members once for each relevant kind + val tables = for (val k <- kinds.keys.toList) + yield Pair(k, decls filter kinds(k)) + for (val Pair(k, members) <- tables; !members.isEmpty) yield + <table cellpadding="3" class="member" summary="" style="margin:0 0 1.2em 0;"> <tr> - <td valign="top" class="modifiers"> - </td> - <td class="signature"><code>def</code> - { Text(m.nameString + " ").concat(m.tpe match { - case MethodType(params, result) => - (if (params.length > 0) - Text("(").concat(params.map(p => forType(p))).concat(")") - else - NodeSeq.Empty - ).concat(": ").concat(forType(result)) - case _ => - Text(": ").concat(forType(m.tpe)) - }) - } - </td> + <td colspan="2" class="title">{k} Summary</td> </tr> - } } - </table>) + { { + for (val m <- members) yield + <tr> + <td valign="top" class="modifiers"> + </td> + <td class="signature"><code>def</code> + { Text(m.nameString + " ").concat(m.tpe match { + case MethodType(typeParams, resultType) => + (if (typeParams.isEmpty) + NodeSeq.Empty + else + Text("(").concat(typeParams.map(p => forType(p))).concat(")") + ).concat(": ").concat(forType(resultType)) + case PolyType(typeParams, resultType) => + val tp = + if (typeParams.isEmpty) "" + else (typeParams map (.defString)).mkString("[", ",", "]") + Text(tp + ": ").concat(forType(resultType)) + case _ => + Text(": ").concat(forType(m.tpe)) + }) + } + </td> + </tr> + } } + </table> + })) } private val loader = getClass().getClassLoader() diff --git a/test/files/ant/test-build.xml b/test/files/ant/test-build.xml index aae3503385..7d28eccb47 100644 --- a/test/files/ant/test-build.xml +++ b/test/files/ant/test-build.xml @@ -93,6 +93,8 @@ INITIALISATION </fail> <fail message="Scala library '${scala-compiler.lib}' is not available"> <condition><not><and> + <available classname="scala.tools.ant.Scalac" + classpath="${scala-compiler.lib}"/> <available classname="scala.tools.nsc.Main" classpath="${scala-compiler.lib}"/> <available classname="scala.tools.util.StringOps" @@ -131,9 +133,9 @@ BUILD /> <dirname property="log.dir" file="${build.dir}"/> <replace - file="${log.dir}/test-ant.log" - token="${user.name}" - value="USERNAME" + file="${log.dir}/${ant.project.name}-ant.log" + token="${log.dir}" + value="[...]/files/ant" /> </target> diff --git a/test/files/ant/test.check b/test/files/ant/test.check index 16ecead7bc..6675558506 100644 --- a/test/files/ant/test.check +++ b/test/files/ant/test.check @@ -1,4 +1,4 @@ -Buildfile: /home/USERNAME/projects/scala-installer/dependencies/scala/test/files/ant/test-build.xml +Buildfile: [...]/files/ant/test-build.xml quick.init: @@ -9,5 +9,5 @@ installed.init: init: build: - [mkdir] Created dir: /home/USERNAME/projects/scala-installer/dependencies/scala/test/files/ant/test-ant.obj - [scalac] Compiling 1 source file to /home/USERNAME/projects/scala-installer/dependencies/scala/test/files/ant/test-ant.obj + [mkdir] Created dir: [...]/files/ant/test-ant.obj + [scalac] Compiling 1 source file to [...]/files/ant/test-ant.obj |