diff options
12 files changed, 279 insertions, 179 deletions
diff --git a/dottydoc/js/src/EntityIndex.scala b/dottydoc/js/src/EntityIndex.scala index b6fe1842f..358298ca0 100644 --- a/dottydoc/js/src/EntityIndex.scala +++ b/dottydoc/js/src/EntityIndex.scala @@ -10,21 +10,16 @@ import sjs.annotation.JSName /** The unpickled AST available as scala classes */ object EntityIndex { - import prickle._ - import dottydoc.model.pickling._ import js.model._ lazy val packages: Map[String, Package] = Unparsed.packages.toMap[String, Package] - val currentEntity: dottydoc.model.Entity = Unpickle[dottydoc.model.Entity] - .fromString(sjs.JSON.stringify(Unparsed.currentEntity)) - .toOption - .get + val currentEntity: Entity = Unparsed.currentEntity /** Unparsed index stores the pickled AST generated by the dottydoc tool */ @sjs.native @JSName("UnparsedIndex") private object Unparsed extends sjs.Object { def packages: sjs.Dictionary[Package] = sjs.native - def currentEntity: sjs.Object = sjs.native + def currentEntity: Entity = sjs.native } } diff --git a/dottydoc/js/src/html/EntityLayout.scala b/dottydoc/js/src/html/EntityLayout.scala index 37a72c73d..e08425c24 100644 --- a/dottydoc/js/src/html/EntityLayout.scala +++ b/dottydoc/js/src/html/EntityLayout.scala @@ -5,8 +5,8 @@ package html import scalatags.JsDom.all._ import org.scalajs.dom import org.scalajs.dom.html.{Anchor, Div} -import dotty.tools.dottydoc.model._ -import dotty.tools.dottydoc.model.comment.{ UnsetLink, Text } +import js.model._ +import js.model.ops._ case class EntityLayout(entity: Entity) extends MemberLayout { def html = div( @@ -14,40 +14,55 @@ case class EntityLayout(entity: Entity) extends MemberLayout { div(cls := "entity-title", entityTitle), div(raw(entity.comment.fold("")(_.body))), entity match { - case e: Entity with Members if e.members.nonEmpty => - Seq( - h5("Members"), - div( - cls := "mld-grid", - e.members - .collect { case x: Entity with Modifiers if !x.isPrivate => x} - .flatMap(member(_, entity)) + case x if x.hasMembers => + val e = x.asInstanceOf[Entity with Members] + if (e.members.nonEmpty) + Seq( + h5("Members"), + div( + cls := "mld-grid", + e.members + .collect { + case x if x.hasModifiers && !x.isPrivate => x + } + .flatMap(member(_, entity)).toList + ) ) - ) case _ => () } ) def entityTitle = { - val modifiers = entity match { - case m: Modifiers if m.modifiers.nonEmpty => - Some(span(cls := "entity-modifiers", m.modifiers.mkString(" "))) + val modifiers = entity.kind match { + case "Modifiers" => + val m = entity.asInstanceOf[Modifiers] + if (m.modifiers.nonEmpty) + Some(span(cls := "entity-modifiers", m.modifiers.mkString(" "))) + else + None case _ => None } val typeParams = entity match { - case t: TypeParams if t.typeParams.nonEmpty => - Some(span(cls := "entity-type-params no-left-margin", t.typeParams.mkString("[", ", ", "]"))) + case x if x.hasTypeParams => + val t = entity.asInstanceOf[TypeParams] + if (t.typeParams.nonEmpty) + Some(span(cls := "entity-type-params no-left-margin", t.typeParams.mkString("[", ", ", "]"))) + else None case _ => None } val superTypes = entity match { - case st: SuperTypes => Some(span( - cls := "entity-super-types", - st.superTypes.collect { - case unset: UnsetLink => unset.title.asInstanceOf[Text].text - }.mkString("extends ", " with ", "") - )) + case x if x.hasSuperTypes => + val st = entity.asInstanceOf[SuperTypes] + if (st.superTypes.nonEmpty) + Some(span( + cls := "entity-super-types", + st.superTypes.collect { + case x => x.title + }.mkString("extends ", " with ", "") + )) + else None case _ => None } diff --git a/dottydoc/js/src/html/Member.scala b/dottydoc/js/src/html/Member.scala index a8da9d126..1786f745a 100644 --- a/dottydoc/js/src/html/Member.scala +++ b/dottydoc/js/src/html/Member.scala @@ -8,8 +8,7 @@ import org.scalajs.dom import org.scalajs.dom.html.{Anchor, Div, Span} trait MemberLayout { - import dotty.tools.dottydoc.model._ - import dotty.tools.dottydoc.model.comment._ + import js.model._ def member(m: Entity, parent: Entity) = { def toggleBetween(short: Div, and: Div): Unit = @@ -21,8 +20,9 @@ trait MemberLayout { short.style.display = "block" } - m match { - case m: Entity with Modifiers => + m.kind match { + case "class" | "case class" | "object" | "trait" | "def" | "val" => + val entity = m.asInstanceOf[Entity with Modifiers] val shortComment = div( cls := "mdl-cell mdl-cell--12-col summary-comment", raw(m.comment.fold("")(_.short)) @@ -50,7 +50,7 @@ trait MemberLayout { cls := "mdl-cell mdl-cell--12-col member-definition", span( cls := "member-modifiers-kind", - m.modifiers.mkString(" ") + " " + m.kind + entity.modifiers.mkString(" ") + " " + m.kind ), span( cls := "member-name", @@ -58,13 +58,13 @@ trait MemberLayout { ), spanWith("member-type-params no-left-margin", typeParams(m)), span(cls := "member-param-list no-left-margin", paramList(m)), - returnValue(m, parent) + returnValue(entity, parent) ), shortComment, fullComment ) Seq(divs) - case x => Seq(h1("ERROR: " + x.name)) + case _ => Seq(h1("ERROR: " + m.name)) } } @@ -73,67 +73,82 @@ trait MemberLayout { case _ => Some(span(cls := clazz, contents)) } - def paramList(m: Entity): Span = m match { - case d: Def if d.paramLists.nonEmpty => - span( - cls := "member-param-lists", - d.paramLists.map { xs => - span( - cls := "param-list", - "(", - xs.flatMap { tr => - Seq( - span(cls := "param-name", tr.title).render, - span(cls := "type-separator no-left-margin", ":").render, - span(referenceToLinks(tr.ref)).render, - span(cls := "type-separator no-left-margin", ",").render - ) - }.dropRight(1), - ")" - ).render - } - ).render + def paramList(m: Entity): Span = m.kind match { + case "def" => + val d = m.asInstanceOf[Def] + if (d.paramLists.nonEmpty) + span( + cls := "member-param-lists", + d.paramLists.map { xs => + span( + cls := "param-list", + "(", + xs.flatMap { tr => + Seq( + span(cls := "param-name", tr.title).render, + span(cls := "type-separator no-left-margin", ":").render, + span(referenceToLinks(tr.ref)).render, + span(cls := "type-separator no-left-margin", ",").render + ) + }.toList.dropRight(1), + ")" + ).render + }.toList + ).render + else span().render case _ => span().render } def referenceToLinks(ref: Reference): Span = { - def linkToAnchor(link: MaterializableLink) = link match { - case MaterializedLink(t, url) => a(href := url, t).render - case NoLink(t, _) => span(t).render + def linkToAnchor(link: MaterializableLink) = link.kind match { + case "MaterializedLink" => + val (t, url) = (link.asInstanceOf[MaterializedLink].title, link.asInstanceOf[MaterializedLink].target) + a(href := url, t).render + case "NoLink" => span(link.title).render //FIXME: there should be no UnsetLinks - either MaterializedLink or NoLink - case UnsetLink(_, q) => span(q).render + case "UnsetLink" => span(link.title).render } - ref match { - case ref: TypeReference if ref.paramLinks.nonEmpty => span( - linkToAnchor(ref.tpeLink), - "[", - ref - .paramLinks - .map(linkToAnchor) - .flatMap(link => Seq(link, span(cls := "type-separator no-left-margin", ",").render)) - .dropRight(1), - "]" - ).render - case ref: TypeReference => span(linkToAnchor(ref.tpeLink)).render - - case OrTypeReference(left, right) => span( - referenceToLinks(left), - span(cls := "type-separator", "|"), - referenceToLinks(right) - ).render - - case AndTypeReference(left, right) => span( - referenceToLinks(left), - span(cls := "type-separator", "&"), - referenceToLinks(right) - ).render + ref.kind match { + case "TypeReference" => + val tref = ref.asInstanceOf[TypeReference] + if (tref.paramLinks.nonEmpty) span( + linkToAnchor(tref.tpeLink), + "[", + tref + .paramLinks + .map(linkToAnchor) + .flatMap(link => Seq(link, span(cls := "type-separator no-left-margin", ",").render)) + .toList.dropRight(1), + "]" + ).render + else span(linkToAnchor(tref.tpeLink)).render + + case "OrTypeReference" => + val (left, right) = (ref.asInstanceOf[OrTypeReference].left, ref.asInstanceOf[OrTypeReference].right) + span( + referenceToLinks(left), + span(cls := "type-separator", "|"), + referenceToLinks(right) + ).render + + case "AndTypeReference" => + val (left, right) = (ref.asInstanceOf[AndTypeReference].left, ref.asInstanceOf[AndTypeReference].right) + span( + referenceToLinks(left), + span(cls := "type-separator", "&"), + referenceToLinks(right) + ).render } } - def typeParams(m: Entity): String = m match { - case d: Def if d.typeParams.nonEmpty => d.typeParams.mkString("[", ", ", "]") + def typeParams(m: Entity): String = m.kind match { + case "def" => + val d = m.asInstanceOf[Def] + if (d.typeParams.nonEmpty) + d.typeParams.mkString("[", ", ", "]") + else "" case _ => "" } @@ -146,50 +161,59 @@ trait MemberLayout { } def link(rv: Reference): Span = { - def decodeTpeLink: MaterializableLink => Span = { - case ml: MaterializedLink => - println(s"received tpeLink: $ml") + def decodeTpeLink(link: MaterializableLink): Span = link.kind match { + case "MaterializedLink" => + val ml = link.asInstanceOf[MaterializedLink] span(cls := "member-return-value", a(href := ml.target, ml.title)).render - case un: UnsetLink => + case "UnsetLink" => + val un = link.asInstanceOf[UnsetLink] span(cls := "member-return-value", shorten(un.query)).render - case no: NoLink => + case "NoLink" => + val no = link.asInstanceOf[NoLink] span(cls := "member-return-value", shorten(no.title)).render } - rv match { - case rv: TypeReference => - val returnValue = decodeTpeLink(rv.tpeLink) + rv.kind match { + case "TypeReference" => + val trv = rv.asInstanceOf[TypeReference] + val returnValue = decodeTpeLink(trv.tpeLink) - if (rv.paramLinks.nonEmpty) span( + if (trv.paramLinks.nonEmpty) span( returnValue, "[", - rv.paramLinks + trv.paramLinks .map(decodeTpeLink) .flatMap { sp => Seq(sp, span(cls := "type-separator no-left-margin", ",").render) } - .dropRight(1), + .toList.dropRight(1), "]" ).render else returnValue - case OrTypeReference(left, right) => span( - cls := "member-return-value or-type", - link(left), - span(cls := "type-separator", "|"), - link(right) - ).render - case AndTypeReference(left, right) => span( - cls := "member-return-value and-type", - link(left), - span(cls := "type-separator", "&"), - link(right) - ).render + case "OrTypeReference" => + val (left, right) = (rv.asInstanceOf[OrTypeReference].left, rv.asInstanceOf[OrTypeReference].right) + span( + cls := "member-return-value or-type", + link(left), + span(cls := "type-separator", "|"), + link(right) + ).render + case "AndTypeReference" => + val (left, right) = (rv.asInstanceOf[AndTypeReference].left, rv.asInstanceOf[AndTypeReference].right) + span( + cls := "member-return-value and-type", + link(left), + span(cls := "type-separator", "&"), + link(right) + ).render } } - m match { - case rv: ReturnValue => Some(span(cls := "no-left-margin", ": ", link(rv.returnValue))) + m.kind match { + case "def" => + val rv = m.asInstanceOf[ReturnValue] + Some(span(cls := "no-left-margin", ": ", link(rv.returnValue))) case _ => None } } diff --git a/dottydoc/js/src/model/entities.scala b/dottydoc/js/src/model/entities.scala index a50a04271..adf7bc4ca 100644 --- a/dottydoc/js/src/model/entities.scala +++ b/dottydoc/js/src/model/entities.scala @@ -23,6 +23,13 @@ trait Entity extends sjs.Object { val kind: String val name: String val path: sjs.Array[String] + val comment: sjs.UndefOr[Comment] +} + +@ScalaJSDefined +trait Comment extends sjs.Object { + val body: String + val short: String } @ScalaJSDefined @@ -36,6 +43,21 @@ trait Modifiers extends sjs.Object { } @ScalaJSDefined +trait ReturnValue extends sjs.Object { + val returnValue: Reference +} + +@ScalaJSDefined +trait TypeParams extends sjs.Object { + val typeParams: sjs.Array[String] +} + +@ScalaJSDefined +trait SuperTypes extends sjs.Object { + val superTypes: sjs.Array[MaterializableLink] +} + +@ScalaJSDefined trait Package extends Entity with Members @ScalaJSDefined @@ -51,9 +73,9 @@ trait Object extends Class trait Trait extends Class @ScalaJSDefined -trait Def extends Entity with Modifiers { +trait Def extends Entity with Modifiers with ReturnValue { val typeParams: sjs.Array[String] - //val paramLists: sjs.Array[sjs.Array[(String, _)]] + val paramLists: sjs.Array[sjs.Array[NamedReference]] } @ScalaJSDefined @@ -63,9 +85,18 @@ trait Val extends Entity with Modifiers trait Var extends Entity with Modifiers object ops { + val EntitiesWithModifiers = + "case class" :: "class" :: "object" :: "trait" :: "def" :: "val" :: Nil + val EntitiesWithMembers = "package" :: "case class" :: "class" :: "object" :: "trait" :: Nil + val EntitiesWithTypeParams = + "case class" :: "class" :: "trait" :: "def" :: Nil + + val EntitiesWithSuperTypes = + "case class" :: "class" :: "trait" :: "object" :: Nil + implicit class PackageOps(val p: Package) { def children: sjs.Array[Entity with Members] = p.members.collect { @@ -78,6 +109,7 @@ object ops { val name = p.name val path = p.path val members = mbrs + val comment = p.comment } } @@ -86,5 +118,21 @@ object ops { if (ent.kind == "def") ent.asInstanceOf[Def].typeParams else sjs.Array() + + def hasMembers: Boolean = + EntitiesWithMembers contains ent.kind + + def hasModifiers: Boolean = + EntitiesWithModifiers contains ent.kind + + def hasTypeParams: Boolean = + EntitiesWithTypeParams contains ent.kind + + def hasSuperTypes: Boolean = + EntitiesWithSuperTypes contains ent.kind + + def isPrivate: Boolean = + hasModifiers && + ent.asInstanceOf[Modifiers].modifiers.contains("private") } } diff --git a/dottydoc/js/src/model/references.scala b/dottydoc/js/src/model/references.scala new file mode 100644 index 000000000..8e725b5d9 --- /dev/null +++ b/dottydoc/js/src/model/references.scala @@ -0,0 +1,65 @@ +package dotty.tools +package dottydoc +package js +package model + +import scala.scalajs.{ js => sjs } +import sjs.annotation.ScalaJSDefined + +/** Type References */ +@ScalaJSDefined +sealed trait Reference extends sjs.Object { + val kind: String +} + +@ScalaJSDefined +trait TypeReference extends Reference { + val title: String + val tpeLink: MaterializableLink + val paramLinks: sjs.Array[MaterializableLink] +} + +@ScalaJSDefined +trait OrTypeReference extends Reference { + val left: Reference + val right: Reference +} + +@ScalaJSDefined +trait AndTypeReference extends Reference { + val left: Reference + val right: Reference +} + +@ScalaJSDefined +trait NamedReference extends Reference { + val title: String + val ref: Reference +} + +@ScalaJSDefined +trait ConstantReference extends Reference { + val title: String +} + +/** Materializable links */ +@ScalaJSDefined +sealed trait MaterializableLink extends sjs.Object { + val kind: String + val title: String +} + +@ScalaJSDefined +trait UnsetLink extends MaterializableLink { + val query: String +} + +@ScalaJSDefined +trait MaterializedLink extends MaterializableLink { + val target: String +} + +@ScalaJSDefined +trait NoLink extends MaterializableLink { + val target: String +} diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala index 6d8e85d87..105aeaef6 100644 --- a/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala +++ b/dottydoc/jvm/src/dotty/tools/dottydoc/core/TypeLinkingPhases.scala @@ -42,7 +42,7 @@ trait TypeLinker extends MemberLookup { rv match { case rv @ TypeReference(_, UnsetLink(t, query), tps) => val inlineToHtml = InlineToHtml(ent) - val title = inlineToHtml(t) + val title = t def handleEntityLink(title: String, lt: LinkTo): MaterializableLink = lt match { case Tooltip(str) => NoLink(title, str) @@ -50,11 +50,11 @@ trait TypeLinker extends MemberLookup { case LinkToEntity(target) => MaterializedLink(title, util.traversing.relativePath(ent, target)) } - val target = handleEntityLink(title, makeEntityLink(ent, packs, t, NoPosition, query).link) + val target = handleEntityLink(title, makeEntityLink(ent, packs, Text(t), NoPosition, query).link) val tpTargets = tps.map { case UnsetLink(t, query) => - handleEntityLink(inlineToHtml(t), makeEntityLink(ent, packs, t, NoPosition, query).link) + handleEntityLink(t, makeEntityLink(ent, packs, Text(t), NoPosition, query).link) case x => x } diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/html/EntityPage.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/html/EntityPage.scala index 8496a11b8..f1abafc8b 100644 --- a/dottydoc/jvm/src/dotty/tools/dottydoc/html/EntityPage.scala +++ b/dottydoc/jvm/src/dotty/tools/dottydoc/html/EntityPage.scala @@ -2,13 +2,12 @@ package dotty.tools.dottydoc package html import scalatags.Text.all._ -import model.internal._ import model._ case class EntityPage(entity: Entity, packages: Map[String, Package]) { import CustomTags._ - import model.pickling._ - import prickle._ + import spray.json._ + import model.json._ import util.internal.setters._ private def relPath(to: String, from: Entity) = { @@ -79,7 +78,7 @@ case class EntityPage(entity: Entity, packages: Map[String, Package]) { ) ), script( - raw(s"""|UnparsedIndex.currentEntity = ${Pickle.intoString(entity.flat)}; + raw(s"""|UnparsedIndex.currentEntity = ${entity.flat.toJson}; |dotty.tools.dottydoc.js.DottyDocJS() | .main(document.getElementById("entity-container")); """.stripMargin) diff --git a/dottydoc/jvm/src/dotty/tools/dottydoc/model/json.scala b/dottydoc/jvm/src/dotty/tools/dottydoc/model/json.scala index 71ed12cec..0b6c00a84 100644 --- a/dottydoc/jvm/src/dotty/tools/dottydoc/model/json.scala +++ b/dottydoc/jvm/src/dotty/tools/dottydoc/model/json.scala @@ -27,20 +27,20 @@ object json extends DefaultJsonProtocol { implicit object MaterializableLinkFormat extends RootJsonFormat[MaterializableLink] { def write(obj: MaterializableLink) = obj match { - case obj: MaterializedLink => obj.toJson - case obj: UnsetLink => obj.toJson - case obj: NoLink => obj.toJson + case obj: MaterializedLink => addKind(obj.toJson, "MaterializedLink") + case obj: UnsetLink => addKind(obj.toJson, "UnsetLink") + case obj: NoLink => addKind(obj.toJson, "NoLink") } def read(json: JsValue) = ??? // The json serialization is supposed to be one way } implicit object ReferenceFormat extends RootJsonFormat[Reference] { def write(obj: Reference) = obj match { - case obj: AndTypeReference => obj.toJson - case obj: OrTypeReference => obj.toJson - case obj: TypeReference => obj.toJson - case obj: NamedReference => obj.toJson - case obj: ConstantReference => obj.toJson + case obj: AndTypeReference => addKind(obj.toJson, "AndTypeReference") + case obj: OrTypeReference => addKind(obj.toJson, "OrTypeReference") + case obj: TypeReference => addKind(obj.toJson, "TypeReference") + case obj: NamedReference => addKind(obj.toJson, "NamedReference") + case obj: ConstantReference => addKind(obj.toJson, "ConstantReference") } def read(json: JsValue) = ??? // The json serialization is supposed to be one way } diff --git a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/comment/BodyEntities.scala b/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/comment/BodyEntities.scala index 37f1b05fe..526eff50c 100644 --- a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/comment/BodyEntities.scala +++ b/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/comment/BodyEntities.scala @@ -94,8 +94,8 @@ final case class Tooltip(name: String) extends LinkTo final case class LinkToEntity(entity: Entity) extends LinkTo /** Use MaterializableLink for entities that need be picklable */ -sealed trait MaterializableLink { def title: Any } -final case class UnsetLink(title: Inline, query: String) extends MaterializableLink +sealed trait MaterializableLink { def title: String } +final case class UnsetLink(title: String, query: String) extends MaterializableLink final case class MaterializedLink(title: String, target: String) extends MaterializableLink final case class NoLink(title: String, target: String) extends MaterializableLink diff --git a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/factories.scala b/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/factories.scala index c2c7f9940..452c1a3b4 100644 --- a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/factories.scala +++ b/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/factories.scala @@ -51,7 +51,7 @@ object factories { def returnType(t: Type)(implicit ctx: Context): Reference = { def typeRef(name: String, query: String = "", params: List[MaterializableLink] = Nil) = { val realQuery = if (query != "") query else name - TypeReference(name, UnsetLink(Text(name), realQuery), params) + TypeReference(name, UnsetLink(name, realQuery), params) } def expandTpe(t: Type, params: List[MaterializableLink] = Nil): Reference = t match { @@ -61,7 +61,7 @@ object factories { ta.alias.asInstanceOf[NamedType].name.show case _ => rn.show }).split("\\$").last - val param = UnsetLink(Text(paramName), paramName) + val param = UnsetLink(paramName, paramName) expandTpe(parent, param :: params) } case TypeRef(_, n) => @@ -140,7 +140,7 @@ object factories { cd.classParents.collect { case t: TypeRef if !isJavaLangObject(t) && !isProductWithArity(t) => - UnsetLink(Text(t.name.toString), path(t.symbol).mkString(".")) + UnsetLink(t.name.toString, path(t.symbol).mkString(".")) } case _ => Nil } diff --git a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/pickling.scala b/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/pickling.scala deleted file mode 100644 index 76a2effa6..000000000 --- a/dottydoc/shared/src/main/scala/dotty/tools/dottydoc/model/pickling.scala +++ /dev/null @@ -1,44 +0,0 @@ -package dotty.tools.dottydoc -package model - -object pickling { - import internal._ - import prickle._ - import comment._ - - implicit val inlinePickler: PicklerPair[Inline] = CompositePickler[Inline] - .concreteType[Chain] - .concreteType[Italic] - .concreteType[Bold] - .concreteType[Underline] - .concreteType[Superscript] - .concreteType[Subscript] - .concreteType[Link] - .concreteType[Monospace] - .concreteType[Text] - - implicit val entityLinkPicker: PicklerPair[MaterializableLink] = CompositePickler[MaterializableLink] - .concreteType[UnsetLink] - .concreteType[NoLink] - .concreteType[MaterializedLink] - - implicit val referencePicker: PicklerPair[Reference] = CompositePickler[Reference] - .concreteType[TypeReference] - .concreteType[OrTypeReference] - .concreteType[AndTypeReference] - .concreteType[NamedReference] - .concreteType[ConstantReference] - - implicit val entityPickler: PicklerPair[Entity] = CompositePickler[Entity] - .concreteType[NonEntity.type] - .concreteType[ValImpl] - .concreteType[DefImpl] - .concreteType[ClassImpl] - .concreteType[CaseClassImpl] - .concreteType[ObjectImpl] - .concreteType[TraitImpl] - .concreteType[PackageImpl] - - implicit val packagePickler: PicklerPair[Package] = CompositePickler[Package] - .concreteType[PackageImpl] -} diff --git a/project/Build.scala b/project/Build.scala index 48bdd987a..09f465d49 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -268,7 +268,6 @@ object DottyInjectedPlugin extends AutoPlugin { .jsSettings( libraryDependencies ++= Seq( "org.scala-js" %%% "scalajs-dom" % "0.9.0", - "com.github.benhutchison" %%% "prickle" % "1.1.10", "com.lihaoyi" %%% "scalatags" % "0.5.5" ) ) @@ -286,7 +285,6 @@ object DottyInjectedPlugin extends AutoPlugin { libraryDependencies ++= Seq( "org.scala-js" % "scalajs-dom_sjs0.6_2.11" % "0.9.0", - "com.github.benhutchison" %% "prickle" % "1.1.10", "io.spray" %% "spray-json" % "1.3.2", "com.lihaoyi" %% "scalatags" % "0.5.5", "com.novocode" % "junit-interface" % "0.11" % "test" |