summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorDonna Malayeri <lindydonna@gmail.com>2010-04-12 14:52:39 +0000
committerDonna Malayeri <lindydonna@gmail.com>2010-04-12 14:52:39 +0000
commitec5a4e8f47db7dacad2cafd387d4bae7e8e486aa (patch)
treeee7f4e9c6a9ebe21574b185799f6a6003437b07b /src/compiler
parent03e6cd14000ef66cb03fd515c454994df06edcb8 (diff)
downloadscala-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')
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/page/Template.scala18
-rw-r--r--src/compiler/scala/tools/nsc/doc/html/resource/lib/template.css10
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/Entity.scala2
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala6
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)))