Hello,
I’ve got a problem with the kotlin js compiler.
When I try to compile my code, I get the following exception:
org.jetbrains.kotlin.js.facade.exceptions.TranslationRuntimeException: Unexpected error occurred compiling the following fragment: 'BackgroundMessageService.onReceive(::onTrans
lationRequest)' at (113,5) in .../HoverTranslateWebExtension/background_script/src/main/kotlin/background_script.kt
at org.jetbrains.kotlin.js.translate.general.Translation.doTranslateExpression(Translation.java:232)
at org.jetbrains.kotlin.js.translate.general.Translation.translateExpression(Translation.java:133)
at org.jetbrains.kotlin.js.translate.expression.ExpressionVisitor.visitBlockExpression(ExpressionVisitor.java:115)
at org.jetbrains.kotlin.js.translate.expression.ExpressionVisitor.visitBlockExpression(ExpressionVisitor.java:82)
at org.jetbrains.kotlin.psi.KtBlockExpression.accept(KtBlockExpression.java:44)
at org.jetbrains.kotlin.js.translate.general.Translation.doTranslateExpression(Translation.java:226)
at org.jetbrains.kotlin.js.translate.general.Translation.translateExpression(Translation.java:133)
at org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator.translate(FunctionBodyTranslator.java:140)
at org.jetbrains.kotlin.js.translate.utils.FunctionBodyTranslator.translateFunctionBody(FunctionBodyTranslator.java:74)
at org.jetbrains.kotlin.js.translate.expression.FunctionTranslatorKt.translateFunction(FunctionTranslator.kt:96)
at org.jetbrains.kotlin.js.translate.declaration.AbstractDeclarationVisitor.translateFunction(AbstractDeclarationVisitor.kt:139)
at org.jetbrains.kotlin.js.translate.declaration.AbstractDeclarationVisitor.visitNamedFunction(AbstractDeclarationVisitor.kt:99)
at org.jetbrains.kotlin.js.translate.declaration.AbstractDeclarationVisitor.visitNamedFunction(AbstractDeclarationVisitor.kt:41)
at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:49)
at org.jetbrains.kotlin.js.translate.general.Translation.translateFile(Translation.java:429)
at org.jetbrains.kotlin.js.translate.general.Translation.doGenerateAst(Translation.java:346)
at org.jetbrains.kotlin.js.translate.general.Translation.generateAst(Translation.java:308)
at org.jetbrains.kotlin.js.facade.K2JSTranslator.translateUnits(K2JSTranslator.java:137)
at org.jetbrains.kotlin.js.facade.K2JSTranslator.translate(K2JSTranslator.java:99)
at org.jetbrains.kotlin.cli.js.K2JSCompiler.translate(K2JSCompiler.java:152)
at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:286)
at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:82)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:96)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:52)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:442)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$1$2.invoke(CompileServiceImpl.kt:102)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:1029)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:102)
at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:1071)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:1028)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:441)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
It worked fine until I changed the following interface:
I only added “suspend” to make it work with callbacks which are co-routines.
And this is the place where the compiler fails:
Is this a bug, or did I do something wrong. Intellij seems fine with the code