diff options
author | Donna Malayeri <lindydonna@gmail.com> | 2010-04-12 14:52:39 +0000 |
---|---|---|
committer | Donna Malayeri <lindydonna@gmail.com> | 2010-04-12 14:52:39 +0000 |
commit | ec5a4e8f47db7dacad2cafd387d4bae7e8e486aa (patch) | |
tree | ee7f4e9c6a9ebe21574b185799f6a6003437b07b /src/compiler | |
parent | 03e6cd14000ef66cb03fd515c454994df06edcb8 (diff) | |
download | scala-ec5a4e8f47db7dacad2cafd387d4bae7e8e486aa.tar.gz scala-ec5a4e8f47db7dacad2cafd387d4bae7e8e486aa.tar.bz2 scala-ec5a4e8f47db7dacad2cafd387d4bae7e8e486aa.zip |
Move constructors to beginning of scaladoc html...
Move constructors to beginning of scaladoc html page; show implicit
modifier in main list. Review by dubochet.
Diffstat (limited to 'src/compiler')
4 files changed, 23 insertions, 13 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala index 76405a8eda..d90e3d2f64 100644 --- a/src/compiler/scala/tools/nsc/doc/html/page/Template.scala +++ b/src/compiler/scala/tools/nsc/doc/html/page/Template.scala @@ -71,6 +71,13 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage { </div> </div> + { if (constructors.isEmpty) NodeSeq.Empty else + <div id="constructors" class="members"> + <h3>Instance constructors</h3> + <ol>{ constructors map (memberToHtml(_)) }</ol> + </div> + } + { if (typeMembers.isEmpty) NodeSeq.Empty else <div id="types" class="members"> <h3>Type Members</h3> @@ -85,13 +92,6 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage { </div> } - { if (constructors.isEmpty) NodeSeq.Empty else - <div id="constructors" class="members"> - <h3>Instance constructors</h3> - <ol>{ constructors map (memberToHtml(_)) }</ol> - </div> - } - </div> <div id="tooltip" ></div> @@ -267,7 +267,9 @@ class Template(tpl: DocTemplateEntity) extends HtmlPage { if (tpl.isPackage) "package" else if (tpl.isClass) "class" else if (tpl.isTrait) "trait" else "object" case ctor: Constructor => "new" case tme: MemberEntity => - if (tme.isDef) "def" else if (tme.isVal) "val" else if (tme.isVar) "var" else "type" + val attr: String = if (tme.isImplicit) "implicit " else "" + val kind = if (tme.isDef) "def" else if (tme.isVal) "val" else if (tme.isVar) "var" else "type" + attr + kind } def boundsToHtml(hi: Option[TypeEntity], lo: Option[TypeEntity], hasLinks: Boolean): NodeSeq = { diff --git a/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css b/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css index a23c8b6402..5c8822b1c1 100644 --- a/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css +++ b/src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css @@ -123,12 +123,12 @@ div.members > ol > li { text-align: right; float: left; display: inline-block; - width: 72px; + width: 7em; } .signature .symbol { display: inline; - padding-left: 8px; + padding-left: 0.7em; } .signature .name { @@ -219,12 +219,12 @@ div.members > ol > li { p.comment { display: block; - margin-left: 80px; + margin-left: 7.7em; } p.shortcomment { display: block; - margin-left: 80px; + margin-left: 7.7em; cursor: help; } @@ -234,7 +234,7 @@ div.fullcomment { } #template div.fullcomment { - margin: 6px 0 6px 80px; + margin: 6px 0 6px 7.7em; } div.fullcomment .block { diff --git a/src/compiler/scala/tools/nsc/doc/model/Entity.scala b/src/compiler/scala/tools/nsc/doc/model/Entity.scala index 7aa2c234ea..678702c7f1 100644 --- a/src/compiler/scala/tools/nsc/doc/model/Entity.scala +++ b/src/compiler/scala/tools/nsc/doc/model/Entity.scala @@ -49,6 +49,7 @@ trait MemberEntity extends Entity { def isDef: Boolean def isVal: Boolean def isVar: Boolean + def isImplicit: Boolean def isConstructor: Boolean def isAliasType: Boolean def isAbstractType: Boolean @@ -63,6 +64,7 @@ trait DocTemplateEntity extends TemplateEntity with MemberEntity { def sourceUrl: Option[java.net.URL] def typeParams: List[TypeParam] def parentType: Option[TypeEntity] + def parentTemplates: List[TemplateEntity] def linearization: List[TemplateEntity] def subClasses: List[DocTemplateEntity] def members: List[MemberEntity] diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala index 64dfbfb160..9641bc9045 100644 --- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala +++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala @@ -52,6 +52,10 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme def inTemplate = inTpl def toRoot: List[EntityImpl] = this :: inTpl.toRoot def qualifiedName = name + override def equals(that: Any) = that match { + case that: EntityImpl => this.sym == that.sym + case _ => false + } } /** Provides a default implementation for instances of the `WeakTemplateEntity` type. It must be instantiated as a @@ -121,6 +125,7 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme def isDef = false def isVal = false def isVar = false + def isImplicit = sym.isImplicit def isConstructor = false def isAliasType = false def isAbstractType = false @@ -154,6 +159,7 @@ class ModelFactory(val global: Global, val settings: doc.Settings) extends Comme else None } def typeParams = if (sym.isClass) sym.typeParams map (makeTypeParam(_, this)) else Nil + def parentTemplates = sym.info.parents map { x: Type => makeTemplate(x.typeSymbol) } def parentType = if (sym.isPackage) None else Some(makeType(RefinedType(sym.tpe.parents filter (_ != ScalaObjectClass.tpe), EmptyScope))) |