Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
bfg opened this issue Aug 7, 2024 · 1 comment
Open

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

bfg opened this issue Aug 7, 2024 · 1 comment

Comments

@bfg
Copy link
Contributor

bfg commented Aug 7, 2024

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 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:
@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:
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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants