sergeshustoff/dikt

java.lang.NoSuchMethodError: 'boolean org.jetbrains.kotlin.descriptors.DescriptorVisibility.isVisible(org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue, org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility, org.jetbrains.kotlin.descriptors.DeclarationDescriptor)

Closed this issue · 7 comments

Issue when I run the app

java.lang.NoSuchMethodError: 'boolean org.jetbrains.kotlin.descriptors.DescriptorVisibility.isVisible(org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue, org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithVisibility, org.jetbrains.kotlin.descriptors.DeclarationDescriptor)'
	at dev.shustoff.dikt.utils.VisibilityChecker.isVisible(VisibilityChecker.kt:16)
	at dev.shustoff.dikt.dependency.AvailableDependencies.buildResolvedConstructor(AvailableDependencies.kt:186)
	at dev.shustoff.dikt.dependency.AvailableDependencies.resolveDependencyInternal(AvailableDependencies.kt:49)
	at dev.shustoff.dikt.dependency.AvailableDependencies.resolveDependencyInternal$default(AvailableDependencies.kt:34)
	at dev.shustoff.dikt.dependency.AvailableDependencies.resolveDependency(AvailableDependencies.kt:28)
	at dev.shustoff.dikt.core.DiFunctionGenerator.buildFunctionBody(DiFunctionGenerator.kt:85)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitFunction(DiFunctionGenerator.kt:56)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:52)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitSimpleFunction(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:53)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitSimpleFunction(DiFunctionGenerator.kt:23)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitSimpleFunction(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.declarations.IrSimpleFunction.accept(IrSimpleFunction.kt:28)
	at org.jetbrains.kotlin.ir.declarations.IrClass.acceptChildren(IrClass.kt:62)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitElement(DiFunctionGenerator.kt:37)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitDeclaration(IrElementVisitorVoid.kt:40)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitDeclaration(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(IrElementVisitorVoid.kt:43)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitClass(DiFunctionGenerator.kt:45)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(IrElementVisitorVoid.kt:44)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitClass(DiFunctionGenerator.kt:23)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitClass(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:57)
	at org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl.acceptChildren(IrFileImpl.kt:84)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitElement(DiFunctionGenerator.kt:37)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitPackageFragment(IrElementVisitorVoid.kt:30)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitPackageFragment(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:37)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitFile(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:38)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitFile(DiFunctionGenerator.kt:23)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitFile(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.declarations.impl.IrFileImpl.accept(IrFileImpl.kt:81)
	at org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl.acceptChildren(IrModuleFragmentImpl.kt:40)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitElement(DiFunctionGenerator.kt:37)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitModuleFragment(IrElementVisitorVoid.kt:27)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitModuleFragment(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitModuleFragment(IrElementVisitorVoid.kt:28)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitModuleFragment(DiFunctionGenerator.kt:23)
	at dev.shustoff.dikt.core.DiFunctionGenerator.visitModuleFragment(DiFunctionGenerator.kt:23)
	at org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl.accept(IrModuleFragmentImpl.kt:37)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoidKt.acceptVoid(IrElementVisitorVoid.kt:283)
	at dev.shustoff.dikt.compiler.DiktIrGenerationExtension.generate(DiktIrGenerationExtension.kt:17)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$lambda-1(JvmIrCodegenFactory.kt:139)
	at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:99)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:170)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:50)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.convertToIr(KotlinToJVMBytecodeCompiler.kt:275)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:116)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:60)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:172)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:54)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:91)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:43)
	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:464)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:123)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:366)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:308)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl$rebuild(IncrementalCompilerRunner.kt:115)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:166)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:77)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:623)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:101)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1718)

You mean it fails when you compile the app, right?)
It means you either use alpha version with latest kotlin 1.6.20 or other way around.
Check changelog and use version of library that was built with same version of kotlin

My bad, I didn't update lib version in grade plugin. Will fix asap with 1.0.1 version

Published new version. Should work fine when rolled out completely to maven central

resolved. thanks!

Still getting this error on 1.0.1. Was working fine for a while but started appearing again.

@marenovakovic what kotlin version do you use? 1.0.1 is built for kotlin 1.6.20, but I think compose for that kotlin version is not released yet. Try using kotlin version that is recommended for your compose version and some alpha version of DI.kt that was build with same kotlin version (check changelog to find witch version you need).
Both díkt and compose use undocumented compiler features with api changing from version to version, that makes them dependant heavily on used kotlin version

I downgraded Kotlin version to 1.6.10 for compose but you were right. It works with Kotlin 1.6.20 so it's all good now. Thank you.