Open
Description
Compiler version
- 3.3.1
Minimized code
main.scala
//> using scala 3.3.1
//> using platform scala-js
//> using dep "org.scala-js::scalajs-dom::2.8.0"
import org.scalajs.dom
class MyWebSocket(domSocket: dom.WebSocket):
export domSocket.close
Output (click arrow to expand)
nu > scala-cli main.scala --js-dom --server=false
unhandled exception while running genSJSIR on C:\Users\sarub\projects\scala\crash_scala_js\main.scala
An unhandled exception was thrown in the compiler.
Please file a crash report here:
https://github.com/lampepfl/dotty/issues/new/choose
while compiling: <no file>
during phase: <no phase>
mode: Mode(ImplicitsEnabled)
library version: version 2.13.10
compiler version: version 3.3.1
settings: -classpath C:\Users\sarub\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-js\scalajs-library_2.13\1.14.0\scalajs-library_2.13-1.14.0.jar;C:\Users\sarub\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-lang\scala3-library_sjs1_3\3.3.1\scala3-library_sjs1_3-3.3.1.jar;C:\Users\sarub\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-js\scalajs-dom_sjs1_3\2.8.0\scalajs-dom_sjs1_3-2.8.0.jar;C:\Users\sarub\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-lang\scala-library\2.13.12\scala-library-2.13.12.jar;C:\Users\sarub\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-js\scalajs-javalib\1.14.0\scalajs-javalib-1.14.0.jar -d C:\Users\sarub\projects\scala\crash_scala_js\.scala-build\crash_scala_js_0f7eaef068-df550aa2d7\classes\main -java-output-version 17 -scalajs true -sourceroot C:\Users\sarub\projects\scala\crash_scala_js
tree: EmptyTree
tree position: :<unknown>
tree type: <notype>
symbol: val <none>
call site: package <root> in module class <root>
== Source file context for tree position ==
Exception in thread "main" org.scalajs.ir.InvalidIRException: Cannot hash a transient IR node (its value is of class class dotty.tools.backend.sjs.JSCodeGen$UndefinedParam$)
at org.scalajs.ir.Hashers$TreeHasher.mixTree(Hashers.scala:552)
at org.scalajs.ir.Hashers$.hashMethodDef$$anonfun$1(Hashers.scala:38)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.Option.foreach(Option.scala:437)
at org.scalajs.ir.Hashers$.hashMethodDef(Hashers.scala:38)
at org.scalajs.ir.Hashers$.hashMemberDefs$$anonfun$1(Hashers.scala:93)
at scala.collection.immutable.List.map(List.scala:250)
at org.scalajs.ir.Hashers$.hashMemberDefs(Hashers.scala:97)
at dotty.tools.backend.sjs.JSCodeGen.genScalaClass(JSCodeGen.scala:463)
at dotty.tools.backend.sjs.JSCodeGen.genCompilationUnit$$anonfun$3$$anonfun$1(JSCodeGen.scala:245)
at dotty.tools.backend.sjs.ScopedVar$.withScopedVars(ScopedVar.scala:33)
at dotty.tools.backend.sjs.JSCodeGen.genCompilationUnit$$anonfun$3(JSCodeGen.scala:249)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:333)
at dotty.tools.backend.sjs.JSCodeGen.genCompilationUnit(JSCodeGen.scala:251)
at dotty.tools.backend.sjs.JSCodeGen.run(JSCodeGen.scala:163)
at dotty.tools.backend.sjs.GenSJSIR.run(GenSJSIR.scala:18)
at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:327)
at scala.collection.immutable.List.map(List.scala:246)
at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:331)
at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:246)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
at dotty.tools.dotc.Run.runPhases$1(Run.scala:262)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:270)
at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:279)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
at dotty.tools.dotc.Run.compileUnits(Run.scala:279)
at dotty.tools.dotc.Run.compileSources(Run.scala:194)
at dotty.tools.dotc.Run.compile(Run.scala:179)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:37)
at dotty.tools.dotc.Driver.process(Driver.scala:197)
at dotty.tools.dotc.Driver.process(Driver.scala:165)
at dotty.tools.dotc.Driver.process(Driver.scala:177)
at dotty.tools.dotc.Driver.main(Driver.scala:207)
at dotty.tools.dotc.Main.main(Main.scala)
Compilation failed
About WebSocket
and close
https://github.com/scala-js/scala-js-dom/blob/v2.8.0/dom/src/main/scala/org/scalajs/dom/WebSocket.scala#L13-L24
https://github.com/scala-js/scala-js-dom/blob/v2.8.0/dom/src/main/scala/org/scalajs/dom/WebSocket.scala#L64-L67
Maybe related to #12111