@@ -17,7 +17,8 @@ import reporting._
1717import Checking .{checkNoPrivateLeaks , checkNoWildcard }
1818
1919trait TypeAssigner {
20- import tpd ._
20+ import tpd .*
21+ import TypeAssigner .*
2122
2223 /** The qualifying class of a this or super with prefix `qual` (which might be empty).
2324 * @param packageOk The qualifier may refer to a package.
@@ -435,13 +436,8 @@ trait TypeAssigner {
435436 if (cases.isEmpty) tree.withType(expr.tpe)
436437 else tree.withType(TypeComparer .lub(expr.tpe :: cases.tpes))
437438
438- def assignType (tree : untpd.SeqLiteral , elems : List [Tree ], elemtpt : Tree )(using Context ): SeqLiteral = {
439- val ownType = tree match {
440- case tree : untpd.JavaSeqLiteral => defn.ArrayOf (elemtpt.tpe)
441- case _ => if (ctx.erasedTypes) defn.SeqType else defn.SeqType .appliedTo(elemtpt.tpe)
442- }
443- tree.withType(ownType)
444- }
439+ def assignType (tree : untpd.SeqLiteral , elems : List [Tree ], elemtpt : Tree )(using Context ): SeqLiteral =
440+ tree.withType(seqLitType(tree, elemtpt.tpe))
445441
446442 def assignType (tree : untpd.SingletonTypeTree , ref : Tree )(using Context ): SingletonTypeTree =
447443 tree.withType(ref.tpe)
@@ -527,5 +523,9 @@ trait TypeAssigner {
527523 tree.withType(pid.symbol.termRef)
528524}
529525
526+ object TypeAssigner extends TypeAssigner :
527+ def seqLitType (tree : untpd.SeqLiteral , elemType : Type )(using Context ) = tree match
528+ case tree : untpd.JavaSeqLiteral => defn.ArrayOf (elemType)
529+ case _ => if ctx.erasedTypes then defn.SeqType else defn.SeqType .appliedTo(elemType)
530+
530531
531- object TypeAssigner extends TypeAssigner
0 commit comments