micronaut-projects / micronaut-core

Micronaut Application Framework
http://micronaut.io
Apache License 2.0
6.04k stars 1.06k forks source link

kotlin compile error when KSP and konvert is being used #11058

Open bfg opened 1 month ago

bfg commented 1 month ago

Expected Behavior

Compilation should succeed

Actual Behaviour

Compilation fails with the following exception:

``` Error processing type visitor [io.micronaut.context.visitor.ExecutableVisitor@6d99b74e]: Descriptor wasn't found for declaration CLASS e: org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException: Descriptor wasn't found for declaration CLASS at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:18) at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:17) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.findClassDescriptor(LazyDeclarationResolver.kt:88) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getClassDescriptor(LazyDeclarationResolver.kt:62) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getMemberScopeDeclaredIn$frontend(LazyDeclarationResolver.kt:227) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:124) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:49) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:91) at org.jetbrains.kotlin.resolve.lazy.ResolveSession.resolveToDescriptor(ResolveSession.java:368) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveDeclaration(ResolverImpl.kt:516) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveFunctionDeclaration(ResolverImpl.kt:581) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides$resolveForOverride(ResolverImpl.kt:377) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides(ResolverImpl.kt:397) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:55) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:33) at io.micronaut.inject.utils.NativeElementsHelper.reduce(NativeElementsHelper.java:249) at io.micronaut.inject.utils.NativeElementsHelper.processInterfaceHierarchy(NativeElementsHelper.java:225) at io.micronaut.inject.utils.NativeElementsHelper.processClassHierarchy(NativeElementsHelper.java:210) at io.micronaut.inject.utils.NativeElementsHelper.getAllElements(NativeElementsHelper.java:191) at io.micronaut.inject.utils.NativeElementsHelper.findOverriddenMethods(NativeElementsHelper.java:168) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.findOverriddenMethods(KotlinNativeElementsHelper.kt:51) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.methodsHierarchy(KotlinAnnotationMetadataBuilder.kt:320) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:305) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:57) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternalMulti(AbstractAnnotationMetadataBuilder.java:778) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternal(AbstractAnnotationMetadataBuilder.java:246) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.lookupOrBuild(AbstractAnnotationMetadataBuilder.java:235) at io.micronaut.kotlin.processing.annotation.KotlinElementAnnotationMetadataFactory.lookupForMethod(KotlinElementAnnotationMetadataFactory.kt:177) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$8.lookup(AbstractElementAnnotationMetadataFactory.java:337) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getCacheEntry(AbstractElementAnnotationMetadataFactory.java:451) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getAnnotationMetadata(AbstractElementAnnotationMetadataFactory.java:461) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.inject.annotation.AnnotationMetadataHierarchy.hasStereotype(AnnotationMetadataHierarchy.java:584) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.kotlin.processing.visitor.LoadedVisitor.matches(LoadedVisitor.kt:131) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitMethod(TypeElementSymbolProcessor.kt:327) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitMembers(TypeElementSymbolProcessor.kt:318) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitClassDeclaration(TypeElementSymbolProcessor.kt:277) at com.google.devtools.ksp.symbol.impl.kotlin.KSClassDeclarationImpl.accept(KSClassDeclarationImpl.kt:135) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor.process(TypeElementSymbolProcessor.kt:130) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:310) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:308) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:308) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:77) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:181) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:43) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50) 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) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) e: [ksp] Originating element: instantToZonedDateTime e: [ksp] /home/user/the-project/build/generated/ksp/main/kotlin/net/theproject/be/services/payment/IAPMapperKonverter.kt:7: Descriptor wasn't found for declaration CLASS e: [ksp] /home/user/the-project/build/generated/ksp/main/kotlin/net/theproject/be/services/payment/IAPMapperKonverter.kt:6: Error processing type visitor [io.micronaut.data.processor.visitors.EntityEventVisitor@156b28ae]: Descriptor wasn't found for declaration CLASS e: org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException: Descriptor wasn't found for declaration CLASS at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:18) at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:17) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.findClassDescriptor(LazyDeclarationResolver.kt:88) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getClassDescriptor(LazyDeclarationResolver.kt:62) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getMemberScopeDeclaredIn$frontend(LazyDeclarationResolver.kt:227) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:124) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:49) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:91) at org.jetbrains.kotlin.resolve.lazy.ResolveSession.resolveToDescriptor(ResolveSession.java:368) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveDeclaration(ResolverImpl.kt:516) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveFunctionDeclaration(ResolverImpl.kt:581) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides$resolveForOverride(ResolverImpl.kt:377) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides(ResolverImpl.kt:397) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:55) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:33) at io.micronaut.inject.utils.NativeElementsHelper.reduce(NativeElementsHelper.java:249) at io.micronaut.inject.utils.NativeElementsHelper.processInterfaceHierarchy(NativeElementsHelper.java:225) at io.micronaut.inject.utils.NativeElementsHelper.processClassHierarchy(NativeElementsHelper.java:210) at io.micronaut.inject.utils.NativeElementsHelper.getAllElements(NativeElementsHelper.java:191) at io.micronaut.inject.utils.NativeElementsHelper.findOverriddenMethods(NativeElementsHelper.java:168) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.findOverriddenMethods(KotlinNativeElementsHelper.kt:51) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.methodsHierarchy(KotlinAnnotationMetadataBuilder.kt:320) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:305) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:57) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternalMulti(AbstractAnnotationMetadataBuilder.java:778) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternal(AbstractAnnotationMetadataBuilder.java:246) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.lookupOrBuild(AbstractAnnotationMetadataBuilder.java:235) at io.micronaut.kotlin.processing.annotation.KotlinElementAnnotationMetadataFactory.lookupForMethod(KotlinElementAnnotationMetadataFactory.kt:177) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$8.lookup(AbstractElementAnnotationMetadataFactory.java:337) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getCacheEntry(AbstractElementAnnotationMetadataFactory.java:451) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getAnnotationMetadata(AbstractElementAnnotationMetadataFactory.java:461) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.inject.annotation.AnnotationMetadataHierarchy.hasStereotype(AnnotationMetadataHierarchy.java:584) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasStereotype(AnnotationMetadataDelegate.java:574) at io.micronaut.kotlin.processing.visitor.LoadedVisitor.matches(LoadedVisitor.kt:131) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitMethod(TypeElementSymbolProcessor.kt:327) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitMembers(TypeElementSymbolProcessor.kt:318) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitClassDeclaration(TypeElementSymbolProcessor.kt:277) at com.google.devtools.ksp.symbol.impl.kotlin.KSClassDeclarationImpl.accept(KSClassDeclarationImpl.kt:135) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor.process(TypeElementSymbolProcessor.kt:130) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:310) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:308) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:308) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:77) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:181) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:43) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50) 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) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) e: [ksp] Originating element: instantToZonedDateTime e: [ksp] /home/user/the-project/build/generated/ksp/main/kotlin/net/theproject/be/services/payment/IAPMapperKonverter.kt:7: Descriptor wasn't found for declaration CLASS e: [ksp] Originating element: instantToZonedDateTime e: [ksp] /home/user/the-project/build/generated/ksp/main/kotlin/net/theproject/be/services/payment/IAPMapperKonverter.kt:7: Descriptor wasn't found for declaration CLASS e: [ksp] Originating element: IAPMapperImpl e: [ksp] /home/user/the-project/build/generated/ksp/main/kotlin/net/theproject/be/services/payment/IAPMapperKonverter.kt:6: Descriptor wasn't found for declaration CLASS e: org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException: Descriptor wasn't found for declaration CLASS at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:18) at org.jetbrains.kotlin.resolve.lazy.BasicAbsentDescriptorHandler.diagnoseDescriptorNotFound(AbsentDescriptorHandler.kt:17) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.findClassDescriptor(LazyDeclarationResolver.kt:88) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getClassDescriptor(LazyDeclarationResolver.kt:62) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.getMemberScopeDeclaredIn$frontend(LazyDeclarationResolver.kt:227) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:124) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver$resolveToDescriptor$1.visitNamedFunction(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:49) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:94) at org.jetbrains.kotlin.resolve.lazy.LazyDeclarationResolver.resolveToDescriptor(LazyDeclarationResolver.kt:91) at org.jetbrains.kotlin.resolve.lazy.ResolveSession.resolveToDescriptor(ResolveSession.java:368) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveDeclaration(ResolverImpl.kt:516) at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveFunctionDeclaration(ResolverImpl.kt:581) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides$resolveForOverride(ResolverImpl.kt:377) at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides(ResolverImpl.kt:397) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:55) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.overrides(KotlinNativeElementsHelper.kt:33) at io.micronaut.inject.utils.NativeElementsHelper.reduce(NativeElementsHelper.java:249) at io.micronaut.inject.utils.NativeElementsHelper.processInterfaceHierarchy(NativeElementsHelper.java:225) at io.micronaut.inject.utils.NativeElementsHelper.processClassHierarchy(NativeElementsHelper.java:210) at io.micronaut.inject.utils.NativeElementsHelper.getAllElements(NativeElementsHelper.java:191) at io.micronaut.inject.utils.NativeElementsHelper.findOverriddenMethods(NativeElementsHelper.java:168) at io.micronaut.kotlin.processing.KotlinNativeElementsHelper.findOverriddenMethods(KotlinNativeElementsHelper.kt:51) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.methodsHierarchy(KotlinAnnotationMetadataBuilder.kt:320) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:305) at io.micronaut.kotlin.processing.annotation.KotlinAnnotationMetadataBuilder.buildHierarchy(KotlinAnnotationMetadataBuilder.kt:57) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternalMulti(AbstractAnnotationMetadataBuilder.java:778) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.buildInternal(AbstractAnnotationMetadataBuilder.java:246) at io.micronaut.inject.annotation.AbstractAnnotationMetadataBuilder.lookupOrBuild(AbstractAnnotationMetadataBuilder.java:235) at io.micronaut.kotlin.processing.annotation.KotlinElementAnnotationMetadataFactory.lookupForMethod(KotlinElementAnnotationMetadataFactory.kt:177) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$8.lookup(AbstractElementAnnotationMetadataFactory.java:337) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getCacheEntry(AbstractElementAnnotationMetadataFactory.java:451) at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$AbstractElementAnnotationMetadata.getAnnotationMetadata(AbstractElementAnnotationMetadataFactory.java:461) at io.micronaut.core.annotation.AnnotationMetadataDelegate.findRepeatableAnnotation(AnnotationMetadataDelegate.java:661) at io.micronaut.inject.annotation.AnnotationMetadataHierarchy.findRepeatableAnnotation(AnnotationMetadataHierarchy.java:1035) at io.micronaut.core.annotation.AnnotationMetadata.hasAnnotation(AnnotationMetadata.java:1480) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasAnnotation(AnnotationMetadataDelegate.java:514) at io.micronaut.core.annotation.AnnotationMetadataDelegate.hasAnnotation(AnnotationMetadataDelegate.java:514) at io.micronaut.graal.reflect.GraalTypeElementVisitor.lambda$visitClass$2(GraalTypeElementVisitor.java:144) at io.micronaut.inject.ast.utils.EnclosedElementsQuery.lambda$getEnclosedElements$0(EnclosedElementsQuery.java:161) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.base/java.util.LinkedList$LLSpliterator.forEachRemaining(LinkedList.java:1249) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) at io.micronaut.inject.ast.utils.EnclosedElementsQuery.getEnclosedElements(EnclosedElementsQuery.java:186) at io.micronaut.kotlin.processing.visitor.KotlinClassElement.getEnclosedElements(KotlinClassElement.kt:684) at io.micronaut.graal.reflect.GraalTypeElementVisitor.visitClass(GraalTypeElementVisitor.java:144) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitClassDeclaration(TypeElementSymbolProcessor.kt:266) at com.google.devtools.ksp.symbol.impl.kotlin.KSClassDeclarationImpl.accept(KSClassDeclarationImpl.kt:135) at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor.process(TypeElementSymbolProcessor.kt:130) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:310) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis$8$1.invoke(KotlinSymbolProcessingExtension.kt:308) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:414) at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:308) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:112) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:77) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:256) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:247) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:181) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:87) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:43) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50) 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) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) e: Error occurred in KSP, check log for detail ```
### Steps To Reproduce * build.gradle: should contain typical micronaut app stuff + [konvert](https://github.com/mcarleio/konvert) mapper
``` ksp("io.micronaut.data:micronaut-data-document-processor") ksp("io.micronaut:micronaut-http-validation") ksp("io.micronaut.micrometer:micronaut-micrometer-annotation") ksp("io.micronaut.openapi:micronaut-openapi") ksp("io.micronaut.security:micronaut-security-annotations") ksp("io.micronaut.serde:micronaut-serde-processor") ksp("io.micronaut.validation:micronaut-validation-processor") ksp("io.micronaut:micronaut-inject-java") ksp("io.micronaut:micronaut-graal") // konvert mapper, because mapstruct doesn't work in ksp mode ksp("io.mcarle:konvert:$konvertVersion") implementation("io.mcarle:konvert-api:$konvertVersion") implementation("io.mcarle:konvert-converter:$konvertVersion") // BEGIN: micronaut implementation("io.micronaut:micronaut-http-server-netty") implementation("io.micronaut:micronaut-inject-java") implementation("io.micronaut:micronaut-http-client") implementation("io.micronaut:micronaut-management") implementation("io.micronaut:micronaut-retry") implementation("io.micronaut:micronaut-websocket") implementation("io.micronaut.cache:micronaut-cache-caffeine") implementation("io.micronaut.kotlin:micronaut-kotlin-extension-functions") implementation("io.micronaut.kotlin:micronaut-kotlin-runtime") implementation("io.micronaut.reactor:micronaut-reactor") implementation("io.micronaut:micronaut-context-propagation") implementation("io.micronaut.micrometer:micronaut-micrometer-core") implementation("io.micronaut.micrometer:micronaut-micrometer-registry-prometheus") implementation("io.micrometer:context-propagation") implementation("io.github.mweirauch:micrometer-jvm-extras:0.2.2") implementation("io.micronaut.data:micronaut-data-mongodb") implementation("io.micronaut.serde:micronaut-serde-bson") implementation("io.micronaut.serde:micronaut-serde-jackson") implementation("org.mongodb:mongodb-driver-sync") // db migrations implementation("io.micronaut.liquibase:micronaut-liquibase") implementation("org.liquibase.ext:liquibase-mongodb:4.24.0") compileOnly("io.micronaut.openapi:micronaut-openapi-annotations") implementation("io.micronaut.problem:micronaut-problem-json") implementation("io.micronaut.security:micronaut-security-jwt") implementation("io.micronaut.validation:micronaut-validation") implementation("io.micronaut.views:micronaut-views-handlebars") implementation("io.micronaut.picocli:micronaut-picocli") // END: micronaut ```
* your app should use kotlin code * your source file should contain an interface annotated with `@Konverter` * interface should have at least one method implemented as jdk8 default interface method (with `'-Xjvm-default=all'` * sample interface: ```kotlin @Konverter(options = [ Konfig(key = ENFORCE_NOT_NULL, value = "true"), Konfig(key = KONVERTER_GENERATE_CLASS, value = "true"), Konfig(key = ADD_GENERATED_KONVERTER_ANNOTATION, value = "false"), ]) interface IAPMapper { fun instantToZonedDateTime(instant: Instant): ZonedDateTime { return instant .truncatedTo(ChronoUnit.MILLIS) .atZone(ZoneOffset.UTC) } } ``` * konverter KSP seems to run fine, generating the following code: ```kotlin import java.time.Instant import java.time.ZonedDateTime public class IAPMapperImpl : IAPMapper { override fun instantToZonedDateTime(instant: Instant): ZonedDateTime = super.instantToZonedDateTime(instant) } ``` ### Environment Information - OSX 14.5 apple silicon - JDK: zulu 21: `Zulu21.34+19-CA (build 21.0.3+9-LTS)` ### Example Application _No response_ ### Version 4.5.3
dstepanov commented 1 month ago

Not sure what can be done. Please create a sample project to check.