Skip to content

Kotlinc: Elide kotlinc fails when compiling kotlin sources that reference java sources #1537

@melodicore

Description

@melodicore

Expected Behavior

When building a project with mixed Java and Kotlin sources with elide kotlinc and Kotlin sources reference Java sources, bytecode for the Kotlin sources should be produced normally.

Actual Behaviour

Instead, an error is thrown.

Stacktrace

[kotlinc:exception] org.jetbrains.kotlin.util.FileAnalysisException: While analysing /home/datafox/elide-issues/mixed/src/main/kotlin/Kotlin.kt:3:19: java.lang.AssertionError: java.lang.ClassNotFoundException: org.jetbrains.kotlin.com.intellij.psi.JavaModuleSystem
        at org.jetbrains.kotlin.util.AnalysisExceptionsKt.wrapIntoFileAnalysisExceptionIfNeeded(AnalysisExceptions.kt:57)
        at org.jetbrains.kotlin.fir.FirCliExceptionHandler.handleExceptionOnFileAnalysis(Utils.kt:257)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFile(FirDeclarationsResolveTransformer.kt:1870)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformFile(FirAbstractBodyResolveTransformerDispatcher.kt:60)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformFile(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:47)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:41)
        at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:47)
        at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:48)
        at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:36)
        at org.jetbrains.kotlin.fir.pipeline.AnalyseKt.runResolution(analyse.kt:24)
        at org.jetbrains.kotlin.fir.pipeline.FirUtilsKt.resolveAndCheckFir(firUtils.kt:76)
        at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.executePhase(JvmFrontendPipelinePhase.kt:174)
        at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.executePhase(JvmFrontendPipelinePhase.kt:56)
        at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:68)
        at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:58)
        at org.jetbrains.kotlin.config.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:102)
        at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:22)
        at org.jetbrains.kotlin.config.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:53)
        at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.runPhasedPipeline(AbstractCliPipeline.kt:109)
        at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.execute(AbstractCliPipeline.kt:68)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:78)
        at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:44)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:90)
        at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:352)
        at elide.tooling.kotlin.KotlinCompiler.invoke(KotlinCompiler.kt:603)
        at elide.tool.cli.cmd.tool.DelegatedToolCommand.invoke$suspendImpl(DelegatedToolCommand.kt:196)
        at elide.tool.cli.cmd.tool.DelegatedToolCommand.invoke(DelegatedToolCommand.kt)
        at elide.tool.cli.AbstractSubcommand$invoke$2$1.invokeSuspend(AbstractSubcommand.kt:596)
        at elide.tool.cli.AbstractSubcommand$invoke$2$1.invoke(AbstractSubcommand.kt)
        at elide.tool.cli.AbstractSubcommand$invoke$2$1.invoke(AbstractSubcommand.kt)
        at elide.tool.cli.AbstractSubcommand.initializeToolResources(AbstractSubcommand.kt:472)
        at elide.tool.cli.AbstractSubcommand.invoke-AZeniH0$suspendImpl(AbstractSubcommand.kt:594)
        at elide.tool.cli.AbstractSubcommand.invoke-AZeniH0(AbstractSubcommand.kt)
        at elide.tool.cli.AbstractToolCommand$call$$inlined$execute$1.invokeSuspend(AbstractToolCommand.kt:244)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
        at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:292)
        at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:55)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
        at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
        at picocli.CommandLine.execute(CommandLine.java:2174)
        at elide.tool.cli.Elide$Companion.entry(Elide.kt:585)
        at elide.tool.cli.MainKt.main(main.kt:328)
        at java.base@24.0.1/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Caused by: java.lang.AssertionError: java.lang.ClassNotFoundException: org.jetbrains.kotlin.com.intellij.psi.JavaModuleSystem
        at org.jetbrains.kotlin.com.intellij.openapi.diagnostic.DefaultLogger.error(DefaultLogger.java:83)
        at org.jetbrains.kotlin.com.intellij.openapi.diagnostic.Logger.error(Logger.java:436)
        at org.jetbrains.kotlin.com.intellij.psi.impl.file.PsiPackageImpl.processClasses(PsiPackageImpl.java:358)
        at org.jetbrains.kotlin.com.intellij.psi.impl.file.PsiPackageImpl.processDeclarations(PsiPackageImpl.java:310)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processPackageDeclarations(PsiJavaFileBaseImpl.java:466)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processOnDemandTarget(PsiJavaFileBaseImpl.java:476)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processImplicitImports(PsiJavaFileBaseImpl.java:443)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processOnDemandPackages(PsiJavaFileBaseImpl.java:396)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaFileBaseImpl.processDeclarations(PsiJavaFileBaseImpl.java:310)
        at org.jetbrains.kotlin.com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:61)
        at org.jetbrains.kotlin.com.intellij.psi.scope.util.PsiScopesUtil.treeWalkUp(PsiScopesUtil.java:40)
        at org.jetbrains.kotlin.com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:207)
        at org.jetbrains.kotlin.com.intellij.psi.scope.util.PsiScopesUtil.resolveAndWalk(PsiScopesUtil.java:136)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.resolve(PsiJavaCodeReferenceElementImpl.java:492)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.access$100(PsiJavaCodeReferenceElementImpl.java:44)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:378)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl$OurGenericsResolver.resolve(PsiJavaCodeReferenceElementImpl.java:371)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ResolveCache.lambda$resolveWithCaching$2(ResolveCache.java:174)
        at org.jetbrains.kotlin.com.intellij.openapi.util.Computable.get(Computable.java:16)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ResolveCache.lambda$loggingResolver$4(ResolveCache.java:234)
        at org.jetbrains.kotlin.com.intellij.openapi.util.RecursionManager$1.computePreventingRecursion(RecursionManager.java:111)
        at org.jetbrains.kotlin.com.intellij.openapi.util.RecursionGuard.doPreventingRecursion(RecursionGuard.java:27)
        at org.jetbrains.kotlin.com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:66)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ResolveCache.resolve(ResolveCache.java:212)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:174)
        at org.jetbrains.kotlin.com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:854)
        at org.jetbrains.kotlin.com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:846)
        at org.jetbrains.kotlin.com.intellij.psi.impl.PsiImplUtil.multiResolveImpl(PsiImplUtil.java:822)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.multiResolve(PsiJavaCodeReferenceElementImpl.java:426)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiJavaCodeReferenceElementImpl.advancedResolve(PsiJavaCodeReferenceElementImpl.java:420)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiClassReferenceType.resolveGenerics(PsiClassReferenceType.java:183)
        at org.jetbrains.kotlin.load.java.structure.impl.JavaClassifierTypeImpl.computeResolveResult(JavaClassifierTypeImpl.kt:114)
        at org.jetbrains.kotlin.load.java.structure.impl.JavaClassifierTypeImpl.resolve(JavaClassifierTypeImpl.kt:101)
        at org.jetbrains.kotlin.load.java.structure.impl.JavaClassifierTypeImpl.getClassifier(JavaClassifierTypeImpl.kt:33)
        at org.jetbrains.kotlin.load.java.structure.impl.JavaClassifierTypeImpl.getClassifier(JavaClassifierTypeImpl.kt:25)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinTypeForFlexibleBound(JavaTypeConversion.kt:208)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinTypeForFlexibleBound$default(JavaTypeConversion.kt:200)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeTypeProjection(JavaTypeConversion.kt:118)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinType(JavaTypeConversion.kt:91)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinType$default(JavaTypeConversion.kt:86)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toFirResolvedTypeRef(JavaTypeConversion.kt:79)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.resolveIfJavaType(JavaTypeConversion.kt:55)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinTypeProbablyFlexible(JavaTypeConversion.kt:64)
        at org.jetbrains.kotlin.fir.java.JavaTypeConversionKt.toConeKotlinTypeProbablyFlexible$default(JavaTypeConversion.kt:59)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhanceMethod$lambda$11(SignatureEnhancement.kt:302)
        at org.jetbrains.kotlin.fir.scopes.jvm.SignatureUtilsKt.computeJvmDescriptor(SignatureUtils.kt:76)
        at org.jetbrains.kotlin.fir.scopes.jvm.SignatureUtilsKt.computeJvmDescriptor$default(SignatureUtils.kt:33)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhanceMethod(SignatureEnhancement.kt:302)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhance$fir_jvm(SignatureEnhancement.kt:256)
        at org.jetbrains.kotlin.fir.java.enhancement.FirEnhancedSymbolsStorage$EnhancementSymbolsCache.enhancedFunctions$lambda$5(SignatureEnhancement.kt:1135)
        at org.jetbrains.kotlin.fir.caches.FirThreadUnsafeCache.getValue(FirThreadUnsafeCachesFactory.kt:57)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhancedFunctionImpl(SignatureEnhancement.kt:130)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhancedFunction(SignatureEnhancement.kt:118)
        at org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement.enhancedFunction$default(SignatureEnhancement.kt:113)
        at org.jetbrains.kotlin.fir.java.scopes.JavaClassMembersEnhancementScope.processFunctionsByName$lambda$2(JavaClassMembersEnhancementScope.kt:44)
        at org.jetbrains.kotlin.fir.scopes.impl.AbstractFirUseSiteMemberScope.processFunctionsByName(AbstractFirUseSiteMemberScope.kt:66)
        at org.jetbrains.kotlin.fir.java.scopes.JavaClassMembersEnhancementScope.processFunctionsByName(JavaClassMembersEnhancementScope.kt:43)
        at org.jetbrains.kotlin.fir.resolve.calls.ConstructorProcessingKt.processFunctionsAndConstructorsByName(ConstructorProcessing.kt:80)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.DispatchReceiverMemberScopeTowerLevel.processFunctionsByName$lambda$8(TowerLevels.kt:291)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.DispatchReceiverMemberScopeTowerLevel.processMembers(TowerLevels.kt:526)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.DispatchReceiverMemberScopeTowerLevel.processFunctionsByName(TowerLevels.kt:289)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.TowerLevelHandler.handleLevel(TowerLevelHandler.kt:61)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirBaseTowerResolveTask.processLevel(FirTowerResolveTask.kt:204)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirBaseTowerResolveTask.access$processLevel(FirTowerResolveTask.kt:62)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirBaseTowerResolveTask$processLevel$3.invokeSuspend(FirTowerResolveTask.kt)
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.TowerResolveManager.resumeTask(TowerResolveManager.kt:77)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.TowerResolveManager.runTasks(TowerResolveManager.kt:83)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirTowerResolver.runResolver(FirTowerResolver.kt:52)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirTowerResolver.runResolver$default(FirTowerResolver.kt:41)
        at org.jetbrains.kotlin.fir.resolve.calls.tower.FirTowerResolver.runResolver(FirTowerResolver.kt:38)
        at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.collectCandidates(FirCallResolver.kt:209)
        at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.collectCandidates$default(FirCallResolver.kt:174)
        at org.jetbrains.kotlin.fir.resolve.calls.FirCallResolver.resolveCallAndSelectCandidate(FirCallResolver.kt:80)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCallInternal$resolve(FirExpressionsResolveTransformer.kt:574)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:503)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformFunctionCall(FirAbstractBodyResolveTransformerDispatcher.kt:195)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformFunctionCall(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:45)
        at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:122)
        at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:33)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:646)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:157)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformProperty(FirAbstractBodyResolveTransformerDispatcher.kt:498)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformProperty(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:62)
        at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:209)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:735)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:726)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformBlock(FirAbstractBodyResolveTransformerDispatcher.kt:222)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformBlock(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:33)
        at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl.transformChildren(FirAnonymousInitializerImpl.kt:56)
        at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl.transformChildren(FirAnonymousInitializerImpl.kt:28)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformElement(FirAbstractBodyResolveTransformerDispatcher.kt:92)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformDeclarationContent(FirAbstractBodyResolveTransformerDispatcher.kt:462)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:84)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousInitializer(FirDeclarationsResolveTransformer.kt:1116)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformAnonymousInitializer(FirAbstractBodyResolveTransformerDispatcher.kt:610)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformAnonymousInitializer(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer.transform(FirAnonymousInitializer.kt:41)
        at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:20)
        at org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl.transformDeclarations(FirRegularClassImpl.kt:92)
        at org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl.transformChildren(FirRegularClassImpl.kt:74)
        at org.jetbrains.kotlin.fir.declarations.impl.FirRegularClassImpl.transformChildren(FirRegularClassImpl.kt:30)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformElement(FirAbstractBodyResolveTransformerDispatcher.kt:92)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformDeclarationContent(FirAbstractBodyResolveTransformerDispatcher.kt:462)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:84)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.doTransformRegularClass$lambda$59(FirDeclarationsResolveTransformer.kt:906)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.withRegularClass$lambda$60(FirDeclarationsResolveTransformer.kt:915)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withRegularClass$lambda$18$lambda$17(BodyResolveContext.kt:1749)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withScopesForClass(BodyResolveContext.kt:591)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withRegularClass(BodyResolveContext.kt:467)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.withRegularClass(FirDeclarationsResolveTransformer.kt:914)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.doTransformRegularClass(FirDeclarationsResolveTransformer.kt:905)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformRegularClass(FirDeclarationsResolveTransformer.kt:806)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformRegularClass(FirAbstractBodyResolveTransformerDispatcher.kt:547)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformRegularClass(FirAbstractBodyResolveTransformerDispatcher.kt:27)
        at org.jetbrains.kotlin.fir.declarations.FirRegularClass.transform(FirRegularClass.kt:53)
        at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:20)
        at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:81)
        at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:66)
        at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:29)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformElement(FirAbstractBodyResolveTransformerDispatcher.kt:92)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBodyResolveTransformerDispatcher.transformDeclarationContent(FirAbstractBodyResolveTransformerDispatcher.kt:462)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:84)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.doTransformFile$lambda$57(FirDeclarationsResolveTransformer.kt:878)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.withFile(FirDeclarationsResolveTransformer.kt:891)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.doTransformFile(FirDeclarationsResolveTransformer.kt:877)
        at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFile(FirDeclarationsResolveTransformer.kt:784)
        ... 53 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.jetbrains.kotlin.com.intellij.psi.JavaModuleSystem
        at org.jetbrains.kotlin.com.intellij.mock.MockComponentManager.createError(MockComponentManager.java:84)
        at org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionClass(ExtensionPointImpl.kt:787)
        at org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.ExtensionPointImpl.createExtensionInstances(ExtensionPointImpl.kt:348)
        at org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionList(ExtensionPointImpl.kt:214)
        at org.jetbrains.kotlin.com.intellij.openapi.extensions.ExtensionPointName.getExtensionList(ExtensionPointName.kt:54)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:167)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:132)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.PsiResolveHelperImpl.isAccessible(PsiResolveHelperImpl.java:120)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ClassResolverProcessor.checkAccessibility(ClassResolverProcessor.java:253)
        at org.jetbrains.kotlin.com.intellij.psi.impl.source.resolve.ClassResolverProcessor.execute(ClassResolverProcessor.java:214)
        at org.jetbrains.kotlin.com.intellij.psi.scope.DelegatingScopeProcessor.execute(DelegatingScopeProcessor.java:23)
        at org.jetbrains.kotlin.com.intellij.psi.impl.file.PsiPackageImpl.processClasses(PsiPackageImpl.java:352)
        ... 180 more
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.com.intellij.psi.JavaModuleSystem
        at java.base@24.0.1/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:59)
        at java.base@24.0.1/java.lang.ClassLoader.loadClass(ClassLoader.java:115)
        at java.base@24.0.1/java.lang.Class.forName(DynamicHub.java:1512)
        at java.base@24.0.1/java.lang.Class.forName(DynamicHub.java:1468)
        at java.base@24.0.1/java.lang.Class.forName(DynamicHub.java:1461)
        at org.jetbrains.kotlin.com.intellij.mock.MockComponentManager.loadClass(MockComponentManager.java:188)
        at org.jetbrains.kotlin.com.intellij.openapi.extensions.impl.ExtensionPointImpl.getExtensionClass(ExtensionPointImpl.kt:783)
        ... 190 more

elide Failed to call tool: kotlinc
java.lang.IllegalStateException: Failed to call tool: UnspecifiedFailure
	at elide.tool.cli.cmd.tool.DelegatedToolCommand.invoke$suspendImpl(DelegatedToolCommand.kt:172)
	at elide.tool.cli.cmd.tool.DelegatedToolCommand.invoke(DelegatedToolCommand.kt)
	at elide.tool.cli.AbstractSubcommand$invoke$2$1.invokeSuspend(AbstractSubcommand.kt:596)
	at elide.tool.cli.AbstractSubcommand$invoke$2$1.invoke(AbstractSubcommand.kt)
	at elide.tool.cli.AbstractSubcommand$invoke$2$1.invoke(AbstractSubcommand.kt)
	at elide.tool.cli.AbstractSubcommand.initializeToolResources(AbstractSubcommand.kt:472)
	at elide.tool.cli.AbstractSubcommand.invoke-AZeniH0$suspendImpl(AbstractSubcommand.kt:594)
	at elide.tool.cli.AbstractSubcommand.invoke-AZeniH0(AbstractSubcommand.kt)
	at elide.tool.cli.AbstractToolCommand$call$$inlined$execute$1.invokeSuspend(AbstractToolCommand.kt:244)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:263)
	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:94)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:70)
	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:48)
	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
	at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:292)
	at elide.tool.cli.AbstractToolCommand.call(AbstractToolCommand.kt:55)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at elide.tool.cli.Elide$Companion.entry(Elide.kt:585)
	at elide.tool.cli.MainKt.main(main.kt:328)
	at java.base@24.0.1/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
Failed to call tool: UnspecifiedFailure

Steps To Reproduce

  1. Create a java file that contains callable code.
  2. Create a kotlin file that calls the java codre.
  3. Run elide kotlinc -- -d output -- src/main/java src/main/kotlin, adjusting arguments to your source locations.

Environment Information

  • Operating System: Arch Linux
  • Architecture x86_64

Runtime

Native

Language

N/A (Default)

Example Application

No response

Version

1.0.0-beta7

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions