Skip to content

Commit 1e3d1ce

Browse files
committed
Issue lampepfl#7113: Fix Scala.js codegen for Null/Nothing types
- Fix the encoding of the `NullClass` and `NothingClass` in `JSEncoding` to correctly map to the corresponding Scala.js IR Symbols - Enable the `javalib/net/URITest` for Scala.js, which uses default arguments with `null` values, which in turn are used as the return type of the default getters.
1 parent 705f304 commit 1e3d1ce

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

compiler/src/dotty/tools/backend/sjs/JSEncoding.scala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,10 @@ object JSEncoding {
207207
* BoxedUnit$ is a JVM artifact.
208208
*/
209209
ir.Definitions.BoxedUnitClass
210+
} else if(sym == defn.NullClass) {
211+
ir.Definitions.NullClass
212+
} else if(sym == defn.NothingClass) {
213+
ir.Definitions.NothingClass
210214
} else {
211215
ir.Definitions.encodeClassName(fullyMangledString(sym.fullName))
212216
}

project/Build.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ object Build {
981981
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/lang" ** (("*.scala": FileFilter) -- "ClassTest.scala" -- "StringTest.scala")).get
982982
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/io" ** (("*.scala": FileFilter) -- "ByteArrayInputStreamTest.scala" -- "ByteArrayOutputStreamTest.scala" -- "DataInputStreamTest.scala" -- "DataOutputStreamTest.scala" -- "InputStreamTest.scala" -- "OutputStreamWriterTest.scala" -- "PrintStreamTest.scala" -- "ReadersTest.scala" -- "CommonStreamsTests.scala")).get
983983
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/math" ** "*.scala").get
984-
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/net" ** (("*.scala": FileFilter) -- "URITest.scala")).get
984+
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/net" ** "*.scala").get
985985
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/security" ** "*.scala").get
986986
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/util/regex" ** "*.scala").get
987987
++ (dir / "shared/src/test/scala/org/scalajs/testsuite/javalib/util/concurrent" ** (("*.scala": FileFilter) -- "ConcurrentHashMapTest.scala" -- "ConcurrentLinkedQueueTest.scala" -- "ConcurrentMapTest.scala" -- "ConcurrentSkipListSetTest.scala" -- "CopyOnWriteArrayListTest.scala")).get

0 commit comments

Comments
 (0)