@@ -652,7 +652,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
652
652
val superClass = {
653
653
val superClassSym = currentClassSym.asClass.superClass
654
654
if (superClassSym.isNestedJSClass)
655
- js.VarRef (js. LocalIdent ( JSSuperClassParamName ) )(jstpe.AnyType )
655
+ js.VarRef (JSSuperClassParamName )(jstpe.AnyType )
656
656
else
657
657
js.LoadJSConstructor (encodeClassName(superClassSym))
658
658
}
@@ -793,7 +793,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
793
793
}
794
794
795
795
// #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 )
797
797
js.Block (callGetter, js.Undefined ())
798
798
else
799
799
callGetter
@@ -837,7 +837,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
837
837
}
838
838
839
839
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 ))
841
841
842
842
abstract class Exported (
843
843
val sym : Symbol ,
@@ -935,9 +935,9 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
935
935
import dotty .tools .sjs .ir .Names
936
936
937
937
(toIRType(tpe): @ unchecked) match {
938
- case jstpe.AnyType => NoTypeTest
938
+ case jstpe.AnyType | jstpe. AnyNotNullType => NoTypeTest
939
939
940
- case jstpe.NoType => PrimitiveTypeTest (jstpe.UndefType , 0 )
940
+ case jstpe.VoidType => PrimitiveTypeTest (jstpe.UndefType , 0 )
941
941
case jstpe.BooleanType => PrimitiveTypeTest (jstpe.BooleanType , 1 )
942
942
case jstpe.CharType => PrimitiveTypeTest (jstpe.CharType , 2 )
943
943
case jstpe.ByteType => PrimitiveTypeTest (jstpe.ByteType , 3 )
@@ -947,11 +947,11 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
947
947
case jstpe.FloatType => PrimitiveTypeTest (jstpe.FloatType , 7 )
948
948
case jstpe.DoubleType => PrimitiveTypeTest (jstpe.DoubleType , 8 )
949
949
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)
953
953
954
- case jstpe.ArrayType (_) => InstanceOfTypeTest (tpe)
954
+ case jstpe.ArrayType (_, _ ) => InstanceOfTypeTest (tpe)
955
955
}
956
956
}
957
957
}
@@ -998,7 +998,7 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
998
998
999
999
def genArgRef (index : Int )(implicit pos : Position ): js.Tree = {
1000
1000
if (index < minArgc)
1001
- js.VarRef (js. LocalIdent ( fixedParamNames(index) ))(jstpe.AnyType )
1001
+ js.VarRef (fixedParamNames(index))(jstpe.AnyType )
1002
1002
else
1003
1003
js.JSSelect (genRestArgRef(), js.IntLiteral (index - minArgc))
1004
1004
}
@@ -1014,16 +1014,16 @@ final class JSExportsGen(jsCodeGen: JSCodeGen)(using Context) {
1014
1014
1015
1015
def genRestArgRef ()(implicit pos : Position ): js.Tree = {
1016
1016
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 )
1018
1018
}
1019
1019
1020
1020
def genAllArgsRefsForForwarder ()(implicit pos : Position ): List [js.TreeOrJSSpread ] = {
1021
1021
val fixedArgRefs = fixedParamNames.toList.map { paramName =>
1022
- js.VarRef (js. LocalIdent ( paramName) )(jstpe.AnyType )
1022
+ js.VarRef (paramName)(jstpe.AnyType )
1023
1023
}
1024
1024
1025
1025
if (needsRestParam) {
1026
- val restArgRef = js.VarRef (js. LocalIdent ( restParamName) )(jstpe.AnyType )
1026
+ val restArgRef = js.VarRef (restParamName)(jstpe.AnyType )
1027
1027
fixedArgRefs :+ js.JSSpread (restArgRef)
1028
1028
} else {
1029
1029
fixedArgRefs
0 commit comments