@@ -652,7 +652,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
652652 val superClass = {
653653 val superClassSym = currentClassSym.asClass.superClass
654654 if (superClassSym.isNestedJSClass)
655- js.VarRef (js. LocalIdent ( JSSuperClassParamName ) )(jstpe.AnyType )
655+ js.VarRef (JSSuperClassParamName )(jstpe.AnyType )
656656 else
657657 js.LoadJSConstructor (encodeClassName(superClassSym))
658658 }
@@ -793,7 +793,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
793793 }
794794
795795 // #15419 If the getter returns void, we must "box" it by returning undefined
796- if (callGetter.tpe == jstpe.NoType )
796+ if (callGetter.tpe == jstpe.VoidType )
797797 js.Block (callGetter, js.Undefined ())
798798 else
799799 callGetter
@@ -837,7 +837,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
837837 }
838838
839839 private def genThrowTypeError (msg : String = " No matching overload" )(implicit pos : Position ): js.Tree =
840- js.Throw ( js.JSNew (js.JSGlobalRef (" TypeError" ), js.StringLiteral (msg) :: Nil ))
840+ js.UnaryOp (js. UnaryOp . Throw , js.JSNew (js.JSGlobalRef (" TypeError" ), js.StringLiteral (msg) :: Nil ))
841841
842842 abstract class Exported (
843843 val sym : Symbol ,
@@ -935,9 +935,9 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
935935 import dotty .tools .sjs .ir .Names
936936
937937 (toIRType(tpe): @ unchecked) match {
938- case jstpe.AnyType => NoTypeTest
938+ case jstpe.AnyType | jstpe. AnyNotNullType => NoTypeTest
939939
940- case jstpe.NoType => PrimitiveTypeTest (jstpe.UndefType , 0 )
940+ case jstpe.VoidType => PrimitiveTypeTest (jstpe.UndefType , 0 )
941941 case jstpe.BooleanType => PrimitiveTypeTest (jstpe.BooleanType , 1 )
942942 case jstpe.CharType => PrimitiveTypeTest (jstpe.CharType , 2 )
943943 case jstpe.ByteType => PrimitiveTypeTest (jstpe.ByteType , 3 )
@@ -947,11 +947,11 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
947947 case jstpe.FloatType => PrimitiveTypeTest (jstpe.FloatType , 7 )
948948 case jstpe.DoubleType => PrimitiveTypeTest (jstpe.DoubleType , 8 )
949949
950- case jstpe.ClassType (Names .BoxedUnitClass ) => PrimitiveTypeTest (jstpe.UndefType , 0 )
951- case jstpe.ClassType (Names .BoxedStringClass ) => PrimitiveTypeTest (jstpe.StringType , 9 )
952- case jstpe.ClassType (_) => InstanceOfTypeTest (tpe)
950+ case jstpe.ClassType (Names .BoxedUnitClass , _ ) => PrimitiveTypeTest (jstpe.UndefType , 0 )
951+ case jstpe.ClassType (Names .BoxedStringClass , _ ) => PrimitiveTypeTest (jstpe.StringType , 9 )
952+ case jstpe.ClassType (_, _ ) => InstanceOfTypeTest (tpe)
953953
954- case jstpe.ArrayType (_) => InstanceOfTypeTest (tpe)
954+ case jstpe.ArrayType (_, _ ) => InstanceOfTypeTest (tpe)
955955 }
956956 }
957957 }
@@ -998,7 +998,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
998998
999999 def genArgRef (index : Int )(implicit pos : Position ): js.Tree = {
10001000 if (index < minArgc)
1001- js.VarRef (js. LocalIdent ( fixedParamNames(index) ))(jstpe.AnyType )
1001+ js.VarRef (fixedParamNames(index))(jstpe.AnyType )
10021002 else
10031003 js.JSSelect (genRestArgRef(), js.IntLiteral (index - minArgc))
10041004 }
@@ -1014,16 +1014,16 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
10141014
10151015 def genRestArgRef ()(implicit pos : Position ): js.Tree = {
10161016 assert(needsRestParam, s " trying to generate a reference to non-existent rest param at $pos" )
1017- js.VarRef (js. LocalIdent ( restParamName) )(jstpe.AnyType )
1017+ js.VarRef (restParamName)(jstpe.AnyType )
10181018 }
10191019
10201020 def genAllArgsRefsForForwarder ()(implicit pos : Position ): List [js.TreeOrJSSpread ] = {
10211021 val fixedArgRefs = fixedParamNames.toList.map { paramName =>
1022- js.VarRef (js. LocalIdent ( paramName) )(jstpe.AnyType )
1022+ js.VarRef (paramName)(jstpe.AnyType )
10231023 }
10241024
10251025 if (needsRestParam) {
1026- val restArgRef = js.VarRef (js. LocalIdent ( restParamName) )(jstpe.AnyType )
1026+ val restArgRef = js.VarRef (restParamName)(jstpe.AnyType )
10271027 fixedArgRefs :+ js.JSSpread (restArgRef)
10281028 } else {
10291029 fixedArgRefs
0 commit comments