dave08
08/19/2024, 9:39 AMError processing type visitor [io.micronaut.context.visitor.ExecutableVisitor@7d7e075a]: Descriptor wasn't found for declaration CLASS
... anyone knows any workaround for this? (stacktrace in the thread)dave08
08/19/2024, 9:41 AMorg.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:50)
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:517)
at com.google.devtools.ksp.processing.impl.ResolverImpl.resolveFunctionDeclaration(ResolverImpl.kt:582)
at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides$resolveForOverride(ResolverImpl.kt:378)
at com.google.devtools.ksp.processing.impl.ResolverImpl.overrides(ResolverImpl.kt:398)
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.processInterfaceHierarchy(NativeElementsHelper.java:223)
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.getAnnotationMetadataToModify(AbstractElementAnnotationMetadataFactory.java:469)
at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$MutableElementAnnotationMetadata.annotate(AbstractElementAnnotationMetadataFactory.java:528)
at io.micronaut.inject.ast.annotation.AbstractElementAnnotationMetadataFactory$MutableElementAnnotationMetadata.annotate(AbstractElementAnnotationMetadataFactory.java:502)
at io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate.annotate(MutableAnnotationMetadataDelegate.java:127)
at io.micronaut.inject.ast.annotation.AbstractAnnotationElement.annotate(AbstractAnnotationElement.java:120)
at io.micronaut.kotlin.processing.visitor.KotlinElementFactory.newMethodElement(KotlinElementFactory.kt:95)
at io.micronaut.kotlin.processing.visitor.KotlinClassElement$KotlinEnclosedElementsQuery.toAstElement(KotlinClassElement.kt:880)
at io.micronaut.kotlin.processing.visitor.KotlinClassElement$KotlinEnclosedElementsQuery.toAstElement(KotlinClassElement.kt:686)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.lambda$convertElement$3(EnclosedElementsQuery.java:373)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1220)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.convertElement(EnclosedElementsQuery.java:373)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.reduce(EnclosedElementsQuery.java:312)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.processClassHierarchy(EnclosedElementsQuery.java:266)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.getAllElements(EnclosedElementsQuery.java:248)
at io.micronaut.inject.ast.utils.EnclosedElementsQuery.getEnclosedElements(EnclosedElementsQuery.java:189)
at io.micronaut.kotlin.processing.visitor.KotlinClassElement.getEnclosedElements(KotlinClassElement.kt:684)
at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitMembers(TypeElementSymbolProcessor.kt:310)
at io.micronaut.kotlin.processing.visitor.TypeElementSymbolProcessor$ElementVisitor.visitClassDeclaration(TypeElementSymbolProcessor.kt:277)
at com.google.devtools.ksp.symbol.impl.kotlin.KSClassDeclarationImpl.accept(KSClassDeclarationImpl.kt:133)
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:75)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze$lambda$12(KotlinToJVMBytecodeCompiler.kt:373)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:364)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.repeatAnalysisIfNeeded(KotlinToJVMBytecodeCompiler.kt:282)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runFrontendAndGenerateIrUsingClassicFrontend(KotlinToJVMBytecodeCompiler.kt:195)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:106)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:176)
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:1556)
at jdk.internal.reflect.GeneratedMethodAccessor95.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
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:712)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Toshihiro Nakamura
08/19/2024, 12:14 PMdave08
08/19/2024, 12:15 PMdave08
08/19/2024, 12:16 PMToshihiro Nakamura
08/19/2024, 12:19 PMdave08
08/19/2024, 12:22 PMToshihiro Nakamura
08/19/2024, 12:32 PMdave08
08/19/2024, 12:34 PMdave08
08/19/2024, 12:36 PMdave08
08/20/2024, 7:50 AMToshihiro Nakamura
08/20/2024, 9:37 AMKotlinVisitorContext
. While a new resolver is set for the resolver
property at line 53 for each round, the annotationMetadataBuilder
property at line 59 and the nativeElementsHelper
property at line 62 are still referencing the old resolver. It might be a good idea to recreate the KotlinVisitorContext
instance for each round.
https://github.com/micronaut-projects/micronaut-core/blob/bdd7e68e6dc0df804628f5156581509a95a5d20d/inject-kotlin/src/main/kotlin/io/micronaut/kotlin/processing/visitor/KotlinVisitorContext.kt#L53dave08
08/20/2024, 1:04 PM