summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2011-02-23 19:41:12 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2011-02-23 19:41:12 +0000
commit4449c5af35a2fc0fdb2d4283559eda2d4a7334b8 (patch)
tree9fd7413be652f42c8ce5bd734b44b48f03c92494 /src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
parent879c7f610daefc41eae6c7a88a0ef330baee6369 (diff)
downloadscala-4449c5af35a2fc0fdb2d4283559eda2d4a7334b8.tar.gz
scala-4449c5af35a2fc0fdb2d4283559eda2d4a7334b8.tar.bz2
scala-4449c5af35a2fc0fdb2d4283559eda2d4a7334b8.zip
[scaladoc] Unsightly hack in Scaladoc to close ...
[scaladoc] Unsightly hack in Scaladoc to close #4086. Review by odersky.
Diffstat (limited to 'src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala')
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
index f8924a6d87..d607d0e017 100644
--- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
@@ -424,10 +424,22 @@ class ModelFactory(val global: Global, val settings: doc.Settings) { thisFactory
Some(new NonTemplateMemberImpl(bSym, inTpl) with Val {
override def isVar = true
})
- else if (bSym.isMethod && !bSym.hasAccessorFlag && !bSym.isConstructor && !bSym.isModule)
- Some(new NonTemplateParamMemberImpl(bSym, inTpl) with HigherKindedImpl with Def {
+ else if (bSym.isMethod && !bSym.hasAccessorFlag && !bSym.isConstructor && !bSym.isModule) {
+ val cSym = { // This unsightly hack closes issue #4086.
+ if (bSym == definitions.Object_synchronized) {
+ val cSymInfo = bSym.info match {
+ case PolyType(ts, MethodType(List(bp), mt)) =>
+ val cp = bp.cloneSymbol.setInfo(appliedType(definitions.ByNameParamClass.typeConstructor, List(bp.info)))
+ PolyType(ts, MethodType(List(cp), mt))
+ }
+ bSym.cloneSymbol.setInfo(cSymInfo)
+ }
+ else bSym
+ }
+ Some(new NonTemplateParamMemberImpl(cSym, inTpl) with HigherKindedImpl with Def {
override def isDef = true
})
+ }
else if (bSym.isConstructor)
Some(new NonTemplateParamMemberImpl(bSym, inTpl) with Constructor {
override def isConstructor = true