Scala.JS: Невозможно вызвать lookupMethod (init ___ sc_Seq) для не Scala-класса sjs_js_Function - PullRequest
0 голосов
/ 10 мая 2018

Я получаю следующее исключение, когда sbt run в моем проекте scala.js - Binding.scala:

[info] Fast optimizing /Users/..../client/target/scala-2.12/cms-adapters-general-client-fastopt.js
[error] java.lang.AssertionError: assertion failed: Cannot call lookupMethod(init___sc_Seq) on non Scala class sjs_js_Function
[error]     at scala.Predef$.assert(Predef.scala:219)
[error]     at org.scalajs.core.tools.linker.analyzer.Analyzer$ClassInfo.tryLookupMethod(Analyzer.scala:321)

Это происходит в этом коде:

<button class="ui basic icon button"
        onclick={_: Event =>
          if (jQuery(".ui.form").form("is valid").asInstanceOf[Boolean]) {
            val reader = new FileReader()
            reader.readAsDataURL(excelInput.files(0))
            reader.onload = (_: UIEvent) => {
              println("file loaded")
             }
          }
        }>Submit</button>

Если я комментирую/*reader.onload = (_: UIEvent) => ... } */ это работает.

Нет ссылок ни на один «не Scala класс».

Еще более странно - у меня есть проект, в котором работает точно такой же код - см. DemoRunJobDialog

Редактировать: Найдена проблема / Обход проблемы

Это действительно странно.Я взял рабочий класс из другого проекта и корректировал его шаг за шагом.

В конце концов это было имя класса!

Это имя сработало:

case class ImportJobDialog(socket: ClientWebsocket)

Это имя сработало НЕ :

case class ExcelImportJobDialog(socket: ClientWebsocket)

Редактировать : я создал проблему здесь: Binding.scala / Issues / 78

...