IrGetClassImpl is not supported
eggnstone opened this issue · 1 comments
eggnstone commented
Could you clarify what this is about and how to workaround it?
Thanks! :)
Exception in thread "main" kotlin.NotImplementedError: An operation is not implemented: IrGetClassImpl is not supported
at org.dotlin.compiler.backend.steps.ir2ast.ir.IrUtilsKt.todo(IrUtils.kt:261)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitElement(IrDartAstTransformer.kt:33)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitElement(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitExpression(IrElementVisitor.kt:156)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitExpression(IrDartAstTransformer.kt:575)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitExpression(IrDartAstTransformer.kt:572)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitExpression(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitGetClass(IrElementVisitor.kt:270)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitGetClass(IrDartAstTransformer.kt:322)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitGetClass(IrDartAstTransformer.kt:319)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitGetClass(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.expressions.IrGetClass.accept(IrGetClass.kt:22)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt.accept(IrToDartExpression.kt:647)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt$acceptAsReceiverOf$1.invoke(IrToDartExpression.kt:680)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt$acceptAsReceiverOf$1.invoke(IrToDartExpression.kt:660)
at org.dotlin.compiler.backend.util.UtilsKt.runWith(Utils.kt:45)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt.acceptAsReceiverOf(IrToDartExpression.kt:660)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt.access$acceptAsReceiverOf(IrToDartExpression.kt:1)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer$visitFunctionAccess$optionalReceiver$2.invoke(IrToDartExpression.kt:71)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer$visitFunctionAccess$optionalReceiver$2.invoke(IrToDartExpression.kt:68)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess$lambda$1(IrToDartExpression.kt:68)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.access$visitFunctionAccess$lambda$1(IrToDartExpression.kt:53)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer$visitFunctionAccess$optionalInfixReceiver$2.invoke(IrToDartExpression.kt:77)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer$visitFunctionAccess$optionalInfixReceiver$2.invoke(IrToDartExpression.kt:77)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess$lambda$4(IrToDartExpression.kt:77)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess(IrToDartExpression.kt:204)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess(IrToDartExpression.kt:53)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFunctionAccess(IrDartAstTransformer.kt:294)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFunctionAccess(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitCall(IrElementVisitor.kt:206)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:80)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:77)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.expressions.IrCall.accept(IrCall.kt:25)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt.accept(IrToDartExpression.kt:647)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess$accept(IrToDartExpression.kt:158)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess(IrToDartExpression.kt:164)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionTransformer.visitFunctionAccess(IrToDartExpression.kt:53)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFunctionAccess(IrDartAstTransformer.kt:294)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFunctionAccess(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.visitors.IrElementVisitor$DefaultImpls.visitCall(IrElementVisitor.kt:206)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:80)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:77)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitCall(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.expressions.IrCall.accept(IrCall.kt:25)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartExpressionKt.accept(IrToDartExpression.kt:647)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartStatementTransformer.visitWhen(IrToDartStatement.kt:89)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartStatementTransformer.visitWhen(IrToDartStatement.kt:55)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitWhen(IrDartAstTransformer.kt:560)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitWhen(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.expressions.IrWhen.accept(IrWhen.kt:25)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartStatementKt.accept(IrToDartStatement.kt:345)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartStatementKt.accept(IrToDartStatement.kt:346)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartFunctionBodyTransformer.visitBlockBody(IrToDartFunctionBody.kt:45)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartFunctionBodyTransformer.visitBlockBody(IrToDartFunctionBody.kt:33)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitBlockBody(IrDartAstTransformer.kt:53)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitBlockBody(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.expressions.IrBlockBody.accept(IrBlockBody.kt:24)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartFunctionBodyKt.accept(IrToDartFunctionBody.kt:62)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartFunctionBodyKt.accept$default(IrToDartFunctionBody.kt:59)
at org.dotlin.compiler.backend.steps.ir2ast.DartAstTransformContext.transformBy(DartAstTransformContext.kt:70)
at org.dotlin.compiler.backend.steps.ir2ast.DartAstTransformContext.transformBy(DartAstTransformContext.kt:93)
at org.dotlin.compiler.backend.steps.ir2ast.DartAstTransformContext.transformBy$default(DartAstTransformContext.kt:89)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartClassMemberTransformer.visitSimpleFunction(IrToDartClassMember.kt:49)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartClassMemberTransformer.visitSimpleFunction(IrToDartClassMember.kt:46)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitSimpleFunction(IrDartAstTransformer.kt:453)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitSimpleFunction(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.declarations.IrSimpleFunction.accept(IrSimpleFunction.kt:36)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartClassMemberKt.acceptAsClassMember(IrToDartClassMember.kt:192)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartDeclarationTransformer$visitClass$members$3.invoke(IrToDartDeclaration.kt:147)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartDeclarationTransformer$visitClass$members$3.invoke(IrToDartDeclaration.kt:147)
at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:210)
at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:787)
at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:817)
at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:808)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartDeclarationTransformer.visitClass(IrToDartDeclaration.kt:148)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartDeclarationTransformer.visitClass(IrToDartDeclaration.kt:42)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitClass(IrDartAstTransformer.kt:97)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitClass(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:64)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartDeclarationKt.accept(IrToDartDeclaration.kt:224)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartCompilationUnitTransformer.visitFile(IrToDartCompilationUnit.kt:36)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrToDartCompilationUnitTransformer.visitFile(IrToDartCompilationUnit.kt:32)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFile(IrDartAstTransformer.kt:282)
at org.dotlin.compiler.backend.steps.ir2ast.transformer.IrDartAstTransformer.visitFile(IrDartAstTransformer.kt:30)
at org.jetbrains.kotlin.ir.declarations.IrFile.accept(IrFile.kt:30)
at org.dotlin.compiler.backend.steps.ir2ast.IrToDartAstKt.irToDartAst(IrToDartAst.kt:66)
at org.dotlin.compiler.KotlinToDartCompiler.generateDartCode(KotlinToDartCompiler.kt:173)
at org.dotlin.compiler.KotlinToDartCompiler.compile(KotlinToDartCompiler.kt:103)
at org.dotlin.compiler.KotlinToDartCompiler.compile$default(KotlinToDartCompiler.kt:83)
at org.dotlin.compiler.KotlinToDartCompiler.compile(KotlinToDartCompiler.kt:78)
at org.dotlin.compiler.cli.command.Compile.run(Compile.kt:37)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:198)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:18)
at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:400)
at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:397)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:415)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:440)
at org.dotlin.compiler.Dotlin.main(Main.kt:26)
wilkomanger commented
I assume you put an expression like MyClass::class
somewhere in your Kotlin code? Because that's not supported yet 👍 (Will be tracked in #25 under "Reflection")