tanishiking / scala-wasm

Experimental WasmGC backend for Scala.js | merging into the upstream Scala.js repo https://github.com/scala-js/scala-js/pull/4988
41 stars 3 forks source link

Reflective call on `java.lang.Object#clone` crashes the linker backend #97

Closed tanishiking closed 7 months ago

tanishiking commented 7 months ago

https://github.com/tanishiking/scala-wasm/blob/782d6ca1cfb77f1ed2a65b750468928b944e378c/test-suite/src/main/scala/testsuite/core/ReflectiveCallTest.scala#L351-L364

The test code generates following reflective proxy, and fails to compile because $f#java.lang.Void#clone_Ljava.lang.Object doesn't exist

(func $f#java.lang.Void#clone_R (type $f.21)
   (param $___<this> (ref any)) (result anyref)
   local.get $___<this>
   call $f#java.lang.Void#clone_Ljava.lang.Object)