@@ -105,17 +105,25 @@ trait ClassLikeSupport:
105105
106106 if ! isModule then Inkuire .db = Inkuire .db.copy(types = Inkuire .db.types.updated(classType.itid.get, (classType, parents)))
107107
108+ classDef.symbol.declaredTypes.foreach {
109+ case typeSymbol : Symbol => // TODO this works or it doesn't? Who am I to know?
110+ val typeDef = typeSymbol.tree.asInstanceOf [TypeDef ]
111+ if typeDef.rhs.symbol.fullName.contains(" java" ) then
112+ val t = typeSymbol.tree.asInkuire(variableNames, false )
113+ Inkuire .db = Inkuire .db.copy(types = Inkuire .db.types.updated(t.itid.get, (t, Seq .empty)))
114+ }
115+
108116 classDef.symbol.declaredMethods.foreach {
109117 case implicitConversion : Symbol if implicitConversion.flags.is(Flags .Implicit )
110118 && ! implicitConversion.flags.is(Flags .Private )
111119 && classDef.symbol.flags.is(Flags .Module ) =>
112120 val defdef = implicitConversion.tree.asInstanceOf [DefDef ]
113- val from = defdef.returnTpt.asInkuire(variableNames, false )
114- val to = defdef.paramss.flatMap(_.params).collectFirst {
121+ val to = defdef.returnTpt.asInkuire(variableNames, false )
122+ val from = defdef.paramss.flatMap(_.params).collectFirst {
115123 case v : ValDef => v.tpt.asInkuire(variableNames, false )
116124 }
117- to match
118- case Some (to ) => Inkuire .db = Inkuire .db.copy(implicitConversions = Inkuire .db.implicitConversions :+ (from.itid.get -> to))
125+ from match
126+ case Some (from ) => Inkuire .db = Inkuire .db.copy(implicitConversions = Inkuire .db.implicitConversions :+ (from.itid.get -> to))
119127 case None =>
120128 case methodSymbol : Symbol =>
121129 val defdef = methodSymbol.tree.asInstanceOf [DefDef ]
0 commit comments