diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2011-02-23 19:41:12 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2011-02-23 19:41:12 +0000 |
commit | 4449c5af35a2fc0fdb2d4283559eda2d4a7334b8 (patch) | |
tree | 9fd7413be652f42c8ce5bd734b44b48f03c92494 /src | |
parent | 879c7f610daefc41eae6c7a88a0ef330baee6369 (diff) | |
download | scala-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')
-rw-r--r-- | src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala | 16 |
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 |