Andrey Tabakov
10/09/2023, 12:22 PMcompileProductionExecutableKotlinJs gradle task, and then received this error (see comment for full stacktrace):
java.lang.ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrClass (org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl and org.jetbrains.kotlin.ir.declarations.IrClass are in unnamed module of loader 'app')
it worked perfectly with 1.9.10, any workaround?Andrey Tabakov
10/09/2023, 12:22 PMjava.lang.ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrClass (org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl and org.jetbrains.kotlin.ir.declarations.IrClass are in unnamed module of loader 'app')
at org.jetbrains.kotlin.ir.backend.js.dce.JsUsefulDeclarationProcessor$bodyVisitor$1.visitCall(JsUsefulDeclarationProcessor.kt:74)
at org.jetbrains.kotlin.ir.backend.js.dce.JsUsefulDeclarationProcessor$bodyVisitor$1.visitCall(JsUsefulDeclarationProcessor.kt:32)
at org.jetbrains.kotlin.ir.expressions.IrCall.accept(IrCall.kt:26)
at org.jetbrains.kotlin.ir.expressions.IrReturn.acceptChildren(IrReturn.kt:29)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitElement(UsefulDeclarationProcessor.kt:43)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitElement(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitExpression(IrElementVisitor.kt:156)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitExpression(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitExpression(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitReturn(IrElementVisitor.kt:282)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitReturn(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitReturn(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.expressions.IrReturn.accept(IrReturn.kt:26)
at org.jetbrains.kotlin.ir.expressions.IrBlockBody.acceptChildren(IrBlockBody.kt:28)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitElement(UsefulDeclarationProcessor.kt:43)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitElement(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitBody(IrElementVisitor.kt:159)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitBody(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitBody(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitBlockBody(IrElementVisitor.kt:163)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitBlockBody(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor$BodyVisitorBase.visitBlockBody(UsefulDeclarationProcessor.kt:36)
at org.jetbrains.kotlin.ir.expressions.IrBlockBody.accept(IrBlockBody.kt:25)
at org.jetbrains.kotlin.ir.backend.js.dce.UsefulDeclarationProcessor.collectDeclarations(UsefulDeclarationProcessor.kt:262)
at org.jetbrains.kotlin.ir.backend.js.dce.DceKt.eliminateDeadDeclarations(Dce.kt:35)
at org.jetbrains.kotlin.ir.backend.js.OptimizationsKt.optimizeProgramByIr(optimizations.kt:26)
at org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.IrModuleToJsTransformer.makeJsCodeGenerator(IrModuleToJsTransformer.kt:201)
at org.jetbrains.kotlin.cli.js.K2JsIrCompiler$Ir2JsTransformer.makeJsCodeGenerator(K2JsIrCompiler.kt:130)
at org.jetbrains.kotlin.cli.js.K2JsIrCompiler$Ir2JsTransformer.compileAndTransformIrNew(K2JsIrCompiler.kt:134)
at org.jetbrains.kotlin.cli.js.K2JsIrCompiler.doExecute(K2JsIrCompiler.kt:391)
at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:181)
at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:72)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1523)Andrey Tabakov
10/09/2023, 12:24 PMjs(IR) {
browser {
dceTask{
this.dceOptions.devMode = true
}
}
}anton.bannykh
10/09/2023, 12:27 PMIlya Goncharov [JB]
10/09/2023, 12:38 PMdceTask is senseless with IR compiler. It worked only with legacy compiler.
For IR you can manage via development or production task,
production task run with DCE and minification of member namesandylamax
10/19/2023, 6:43 AMbinaries.libraries()?Ilya Goncharov [JB]
10/19/2023, 10:55 AMcompileProduction*KotlinJs