File tree Expand file tree Collapse file tree 2 files changed +10
-6
lines changed
scaladoc/src/dotty/tools/scaladoc Expand file tree Collapse file tree 2 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ object Inkuire {
10
10
db = db.copy(
11
11
functions = db.functions.sortBy(_.hashCode),
12
12
types = db.types.toSeq.sortBy(_._1.uuid).toMap,
13
- implicitConversions = db.implicitConversions.sortBy(_._1.uuid )
13
+ implicitConversions = db.implicitConversions.sortBy(_._1.hashCode )
14
14
)
15
15
}
16
16
@@ -37,7 +37,7 @@ object Inkuire {
37
37
case class InkuireDb (
38
38
functions : Seq [ExternalSignature ],
39
39
types : Map [ITID , (Type , Seq [Type ])],
40
- implicitConversions : Seq [(ITID , Type )],
40
+ implicitConversions : Seq [(TypeLike , Type )],
41
41
typeAliases : Map [ITID , TypeLike ]
42
42
)
43
43
@@ -163,7 +163,7 @@ object Inkuire {
163
163
)
164
164
}
165
165
166
- private def serializeConversion (conversion : (ITID , Type )): JSON = {
166
+ private def serializeConversion (conversion : (TypeLike , Type )): JSON = {
167
167
jsonList(
168
168
Seq (
169
169
serialize(conversion._1),
Original file line number Diff line number Diff line change @@ -138,12 +138,16 @@ trait InkuireSupport:
138
138
139
139
private def handleImplicitConversion (implicitConversion : Symbol , variableNames : Set [String ]) = {
140
140
val defdef = implicitConversion.tree.asInstanceOf [DefDef ]
141
- val to = defdef.returnTpt.asInkuire(variableNames)
141
+ val methodVars = defdef.paramss.flatMap(_.params).collect {
142
+ case TypeDef (name, _) => name
143
+ }
144
+ val vars = variableNames ++ methodVars
145
+ val to = defdef.returnTpt.asInkuire(vars)
142
146
val from = defdef.paramss.flatMap(_.params).collectFirst {
143
- case v : ValDef => v.tpt.asInkuire(variableNames )
147
+ case v : ValDef => v.tpt.asInkuire(vars )
144
148
}
145
149
(from, to) match
146
- case (Some (from : Inkuire . Type ), to : Inkuire .Type ) => Inkuire .db = Inkuire .db.copy(implicitConversions = Inkuire .db.implicitConversions :+ (from.itid.get -> to))
150
+ case (Some (from), to : Inkuire .Type ) => Inkuire .db = Inkuire .db.copy(implicitConversions = Inkuire .db.implicitConversions :+ (from -> to))
147
151
case _ =>
148
152
}
149
153
You can’t perform that action at this time.
0 commit comments