Skip to content

Commit 59fc594

Browse files
KacperFKorbantanishiking
authored andcommitted
Add serializing vals
1 parent 168be13 commit 59fc594

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

scaladoc-js/src/searchbar/engine/InkuireJSSearchEngine.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class InkuireJSSearchEngine {
2222
d.prettifiedSignature.asInstanceOf[String],
2323
d.pageLocation.asInstanceOf[String],
2424
d.functionName.asInstanceOf[String],
25-
"def",
25+
d.entryType.asInstanceOf[String],
2626
List.empty
2727
)
2828
}

scaladoc/src/dotty/tools/scaladoc/Inkuire.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ object Inkuire {
4747
signature: Signature,
4848
name: String,
4949
packageName: String,
50-
uri: String
50+
uri: String,
51+
entryType: String
5152
)
5253

5354
sealed trait TypeLike
@@ -266,7 +267,8 @@ object Inkuire {
266267
("signature", serialize(e.signature)),
267268
("name", serialize(e.name)),
268269
("packageName", serialize(e.packageName)),
269-
("uri", serialize(e.uri))
270+
("uri", serialize(e.uri)),
271+
("entryType", serialize(e.entryType))
270272
)
271273
}
272274

scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,11 +187,37 @@ trait ClassLikeSupport:
187187
),
188188
name = methodSymbol.name,
189189
packageName = methodSymbol.dri.location,
190-
uri = methodSymbol.dri.externalLink.getOrElse("")
190+
uri = methodSymbol.dri.externalLink.getOrElse(""),
191+
entryType = "def"
191192
)
192193
Inkuire.db = Inkuire.db.copy(functions = Inkuire.db.functions :+ sgn)
193194
}
194195

196+
classDef.symbol.declaredFields
197+
.filter(viableSymbol)
198+
.foreach {
199+
case valSymbol: Symbol =>
200+
val valdef = valSymbol.tree.asInstanceOf[ValDef]
201+
val receiver: Option[Inkuire.TypeLike] =
202+
Some(classType)
203+
.filter(_ => !isModule)
204+
val sgn = Inkuire.ExternalSignature(
205+
signature = Inkuire.Signature(
206+
receiver = receiver,
207+
arguments = Seq.empty,
208+
result = valdef.tpt.asInkuire(variableNames),
209+
context = Inkuire.SignatureContext(
210+
vars = variableNames.toSet,
211+
constraints = Map.empty //TODO [Inkuire] Type bounds
212+
)
213+
),
214+
name = valSymbol.name,
215+
packageName = valSymbol.dri.location,
216+
uri = valSymbol.dri.externalLink.getOrElse(""),
217+
entryType = "val"
218+
)
219+
Inkuire.db = Inkuire.db.copy(functions = Inkuire.db.functions :+ sgn)
220+
}
195221
}
196222

197223
if signatureOnly then baseMember else baseMember.copy(

0 commit comments

Comments
 (0)