Skip to content

Commit b2b467b

Browse files
committed
Move type to JVM tag conversion to Definitions
1 parent 8817e26 commit b2b467b

File tree

1 file changed

+4
-18
lines changed

1 file changed

+4
-18
lines changed

compiler/src/dotty/tools/dotc/core/NameOps.scala

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -231,26 +231,12 @@ object NameOps {
231231
case nme.clone_ => nme.clone_
232232
}
233233

234-
private def typeToTag(tp: Types.Type)(implicit ctx: Context): Name =
235-
tp.classSymbol match {
236-
case t if t eq defn.IntClass => nme.specializedTypeNames.Int
237-
case t if t eq defn.BooleanClass => nme.specializedTypeNames.Boolean
238-
case t if t eq defn.ByteClass => nme.specializedTypeNames.Byte
239-
case t if t eq defn.LongClass => nme.specializedTypeNames.Long
240-
case t if t eq defn.ShortClass => nme.specializedTypeNames.Short
241-
case t if t eq defn.FloatClass => nme.specializedTypeNames.Float
242-
case t if t eq defn.UnitClass => nme.specializedTypeNames.Void
243-
case t if t eq defn.DoubleClass => nme.specializedTypeNames.Double
244-
case t if t eq defn.CharClass => nme.specializedTypeNames.Char
245-
case _ => nme.specializedTypeNames.Object
246-
}
247-
248234
/** This method is to be used on **type parameters** from a class, since
249235
* this method does sorting based on their names
250236
*/
251237
def specializedFor(classTargs: List[Types.Type], classTargsNames: List[Name], methodTargs: List[Types.Type], methodTarsNames: List[Name])(implicit ctx: Context): Name = {
252-
val methodTags: Seq[Name] = (methodTargs zip methodTarsNames).sortBy(_._2).map(x => typeToTag(x._1))
253-
val classTags: Seq[Name] = (classTargs zip classTargsNames).sortBy(_._2).map(x => typeToTag(x._1))
238+
val methodTags: Seq[Name] = (methodTargs zip methodTarsNames).sortBy(_._2).map(x => defn.typeTag(x._1))
239+
val classTags: Seq[Name] = (classTargs zip classTargsNames).sortBy(_._2).map(x => defn.typeTag(x._1))
254240

255241
name.likeSpaced(name ++ nme.specializedTypeNames.prefix ++
256242
methodTags.fold(nme.EMPTY)(_ ++ _) ++ nme.specializedTypeNames.separator ++
@@ -265,8 +251,8 @@ object NameOps {
265251
*/
266252
def specializedFunction(ret: Types.Type, args: List[Types.Type])(implicit ctx: Context): Name =
267253
name ++ nme.specializedTypeNames.prefix ++
268-
nme.specializedTypeNames.separator ++ typeToTag(ret) ++
269-
args.map(typeToTag).fold(nme.EMPTY)(_ ++ _) ++ nme.specializedTypeNames.suffix
254+
nme.specializedTypeNames.separator ++ defn.typeTag(ret) ++
255+
args.map(defn.typeTag).fold(nme.EMPTY)(_ ++ _) ++ nme.specializedTypeNames.suffix
270256

271257
/** If name length exceeds allowable limit, replace part of it by hash */
272258
def compactified(implicit ctx: Context): TermName = termName(compactify(name.toString))

0 commit comments

Comments
 (0)