Kotlin编译器错误内联函数,不完全确定是什么';发生什么事了

Kotlin编译器错误内联函数,不完全确定是什么';发生什么事了,kotlin,quasar,Kotlin,Quasar,我在Kotlin编译器中遇到了一个令人困惑的错误,我不介意更改代码,但我正在尝试找出我是否真的做错了什么。我认为它遇到问题的代码是: inline fun <T> fiberListener(bufferSize: Int = 50, policy: Channels.OverflowPolicy = Channels.OverflowPolicy.BACKOFF, s

我在Kotlin编译器中遇到了一个令人困惑的错误,我不介意更改代码,但我正在尝试找出我是否真的做错了什么。我认为它遇到问题的代码是:

inline fun <T> fiberListener(bufferSize: Int = 50,
                             policy: Channels.OverflowPolicy = Channels.OverflowPolicy.BACKOFF,
                             singleProducer: Boolean = true,
                             singleConsumer: Boolean = true,
                             crossinline action: (T) -> Unit): SendPort<T> {
    val channel = Channels.newChannel<T>(bufferSize, policy, singleProducer, singleConsumer)
    fiber { channel.forEach(action) }
    return channel
}
inline-fun-fiberListener(bufferSize:Int=50,
策略:Channels.OverflowPolicy=Channels.OverflowPolicy.BACKOFF,
singleProducer:Boolean=true,
singleConsumer:Boolean=true,
交叉内联操作:(T)->单位:发送端口{
val channel=Channels.newChannel(缓冲区大小、策略、单生产者、单消费者)
光纤{channel.forEach(action)}
返回通道
}
不知道还有什么要说的,我可以让它不内联,但我认为这段代码应该可以工作。我将Kotlin 1.0.4与Gradle一起使用。另一方面,我不是积极的内联,这实际上提供了性能改进,我仍然有点不清楚交叉内联。但无论哪种方式,它似乎都应该工作,我没有得到IDE或编译器错误,除了这个内部错误

Error:(37, 45) Kotlin: [Internal Error] org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'fiberListener' into
local final fun <anonymous>(module: org.tenkiv.nexus.thermal.module.ProducerModule): kotlin.Unit defined in org.tenkiv.nexus.thermal.control_point.StateMaintainer.<init>[AnonymousFunctionDescriptor@392d1483]
{ module ->
            module.levelSensor?.addListener(fiberListener { onLevelEvent() })
        }
Cause: fiberListener$default (ILco/paralleluniverse/strands/channels/Channels$OverflowPolicy;ZZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lco/paralleluniverse/strands/channels/SendPort;:
   L0
    ALOAD 6
    IFNULL L1
    NEW java/lang/UnsupportedOperationException
    DUP
    LDC "Super calls with default arguments not supported in this target, function: fiberListener"
    INVOKESPECIAL java/lang/UnsupportedOperationException.<init> (Ljava/lang/String;)V
    ATHROW
   L1
    ILOAD 5
    ICONST_1
    IAND
    IFEQ L2
   L3
    LINENUMBER 13 L3
    BIPUSH 50
    ISTORE 0
   L2
    ILOAD 5
    ICONST_2
    IAND
    IFEQ L4
   L5
    LINENUMBER 14 L5
    GETSTATIC co/paralleluniverse/strands/channels/Channels$OverflowPolicy.BACKOFF : Lco/paralleluniverse/strands/channels/Channels$OverflowPolicy;
    ASTORE 1
   L4
    ILOAD 5
    ICONST_4
    IAND
    IFEQ L6
   L7
    LINENUMBER 15 L7
    ICONST_1
    ISTORE 2
   L6
    ILOAD 5
    BIPUSH 8
    IAND
    IFEQ L8
   L9
    LINENUMBER 16 L9
    ICONST_1
    ISTORE 3
   L8
   L10
   L11
    ALOAD 1
    LDC "policy"
    INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
    ALOAD 4
    LDC "action"
    INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
   L12
    LINENUMBER 40 L12
    ILOAD 0
    ALOAD 1
    ILOAD 2
    ILOAD 3
    INVOKESTATIC co/paralleluniverse/strands/channels/Channels.newChannel (ILco/paralleluniverse/strands/channels/Channels$OverflowPolicy;ZZ)Lco/paralleluniverse/strands/channels/Channel;
    ASTORE 6
   L13
   L14
    LINENUMBER 41 L14
    NEW org/tenkiv/nexus/computer/QuasarKt$fiberListener$1
    DUP
    ALOAD 6
    ALOAD 4
    INVOKESPECIAL org/tenkiv/nexus/computer/QuasarKt$fiberListener$1.<init> (Lco/paralleluniverse/strands/channels/Channel;Lkotlin/jvm/functions/Function1;)V
    CHECKCAST kotlin/jvm/functions/Function0
    INVOKESTATIC co/paralleluniverse/kotlin/KotlinKt.fiber (Lkotlin/jvm/functions/Function0;)Lco/paralleluniverse/fibers/Fiber;
    POP
   L15
    LINENUMBER 42 L15
    ALOAD 6
    CHECKCAST co/paralleluniverse/strands/channels/SendPort
    DUP
    LDC "channel"
    INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkExpressionValueIsNotNull (Ljava/lang/Object;Ljava/lang/String;)V
    ARETURN
   L16
   L17
    ARETURN
    LOCALVARIABLE channel Lco/paralleluniverse/strands/channels/Channel; L13 L17 6
    LOCALVARIABLE bufferSize I L0 L17 0
    LOCALVARIABLE policy Lco/paralleluniverse/strands/channels/Channels$OverflowPolicy; L0 L17 1
    LOCALVARIABLE singleProducer Z L0 L17 2
    LOCALVARIABLE singleConsumer Z L0 L17 3
    LOCALVARIABLE action Lkotlin/jvm/functions/Function1; L0 L17 4
    LOCALVARIABLE $i$f$fiberListener I L10 L17 5
    MAXSTACK = 4
    MAXLOCALS = 7
Cause: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.inline.ParametersBuilder.addCapturedParam, parameter original
File being compiled and position: (37,45) in /Users/zjuhasz/Git/Nexus_Brain/src/main/kotlin/org/tenkiv/nexus/thermal/control_point/StateMaintainer.kt
PsiElement: fiberListener { onLevelEvent() }
The root cause was thrown at: ParametersBuilder.kt:-1
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.throwCompilationException(InlineCodegen.java:172)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.genCallInner(InlineCodegen.java:158)
    at org.jetbrains.kotlin.codegen.CallGenerator.genCall(CallGenerator.kt:100)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2625)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2583)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:44)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:23)
    at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:65)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:109)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:102)
    at org.jetbrains.kotlin.codegen.CallGenerator$DefaultCallGenerator.genValueAndPut(CallGenerator.kt:58)
    at org.jetbrains.kotlin.codegen.CallBasedArgumentGenerator.generateExpression(CallBasedArgumentGenerator.java:73)
    at org.jetbrains.kotlin.codegen.ArgumentGenerator.generate(ArgumentGenerator.kt:59)
    at org.jetbrains.kotlin.codegen.CallBasedArgumentGenerator.generate(CallBasedArgumentGenerator.java:60)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2605)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2583)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:44)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:23)
    at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:65)
    at org.jetbrains.kotlin.codegen.CoercionValue.putSelector(StackValue.kt:28)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:109)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:102)
    at org.jetbrains.kotlin.codegen.StackValue$StackValueWithSimpleReceiver.putReceiver(StackValue.java:1507)
    at org.jetbrains.kotlin.codegen.StackValueWithLeaveTask.putReceiver(StackValue.kt:53)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:107)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:102)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:324)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.returnExpression(ExpressionCodegen.java:2066)
    at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$FunctionDefault.doGenerateBody(FunctionGenerationStrategy.java:50)
    at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$CodegenBased.generateBody(FunctionGenerationStrategy.java:72)
    at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:378)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.generateMethodBody(InlineCodegen.java:512)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.generateLambdaBody(InlineCodegen.java:477)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.generateClosuresBodies(InlineCodegen.java:456)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.inlineCall(InlineCodegen.java:365)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.genCallInner(InlineCodegen.java:149)
    at org.jetbrains.kotlin.codegen.CallGenerator.genCall(CallGenerator.kt:100)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2625)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2583)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:44)
    at org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:23)
    at org.jetbrains.kotlin.codegen.OperationStackValue.putSelector(StackValue.kt:65)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:109)
    at org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:102)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1727)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.generateBlock(ExpressionCodegen.java:1676)
    at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitBlockExpression(CodegenStatementVisitor.java:56)
    at org.jetbrains.kotlin.codegen.CodegenStatementVisitor.visitBlockExpression(CodegenStatementVisitor.java:22)
    at org.jetbrains.kotlin.psi.KtBlockExpression.accept(KtBlockExpression.java:44)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.genQualified(ExpressionCodegen.java:283)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.genStatement(ExpressionCodegen.java:342)
    at org.jetbrains.kotlin.codegen.ExpressionCodegen.gen(ExpressionCodegen.java:312)
    at org.jetbrains.kotlin.codegen.MemberCodegen.generateInitializers(MemberCodegen.java:377)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generateInitializers(ImplementationBodyCodegen.java:1099)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generatePrimaryConstructorImpl(ImplementationBodyCodegen.java:1038)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.access$300(ImplementationBodyCodegen.java:92)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen$3.doGenerateBody(ImplementationBodyCodegen.java:946)
    at org.jetbrains.kotlin.codegen.FunctionGenerationStrategy$CodegenBased.generateBody(FunctionGenerationStrategy.java:72)
    at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethodBody(FunctionCodegen.java:378)
    at org.jetbrains.kotlin.codegen.FunctionCodegen.generateMethod(FunctionCodegen.java:213)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generatePrimaryConstructor(ImplementationBodyCodegen.java:942)
    at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generateConstructors(ImplementationBodyCodegen.java:397)
    at org.jetbrains.kotlin.codegen.ClassBodyCodegen.generateBody(ClassBodyCodegen.java:79)
    at org.jetbrains.kotlin.codegen.MemberCodegen.generate(MemberCodegen.java:118)
    at org.jetbrains.kotlin.codegen.MemberCodegen.genClassOrObject(MemberCodegen.java:232)
    at org.jetbrains.kotlin.codegen.PackageCodegen.generateClassOrObject(PackageCodegen.java:145)
    at org.jetbrains.kotlin.codegen.PackageCodegen.generateFile(PackageCodegen.java:98)
    at org.jetbrains.kotlin.codegen.PackageCodegen.generate(PackageCodegen.java:61)
    at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.generatePackage(KotlinCodegenFacade.java:99)
    at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.doGenerateFiles(KotlinCodegenFacade.java:77)
    at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:44)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.generate(KotlinToJVMBytecodeCompiler.kt:452)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:150)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:183)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
    at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:199)
    at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:154)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execAndOutputXml(CLICompiler.java:73)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$remoteIncrementalCompile$1.invoke(CompileServiceImpl.kt:247)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$remoteIncrementalCompile$1.invoke(CompileServiceImpl.kt:70)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$1$1.invoke(CompileServiceImpl.kt:421)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$1$1.invoke(CompileServiceImpl.kt:70)
    at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:454)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.access$checkedCompile(CompileServiceImpl.kt:70)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$1.invoke(CompileServiceImpl.kt:420)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$1.invoke(CompileServiceImpl.kt:70)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive(CompileServiceImpl.kt:565)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive$default(CompileServiceImpl.kt:504)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:411)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.remoteIncrementalCompile(CompileServiceImpl.kt:244)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$254(TCPTransport.java:683)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/2057391342.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method org.jetbrains.kotlin.codegen.inline.ParametersBuilder.addCapturedParam, parameter original
    at org.jetbrains.kotlin.codegen.inline.ParametersBuilder.addCapturedParam(ParametersBuilder.kt)
    at org.jetbrains.kotlin.codegen.inline.LambdaInfo.addAllParameters(LambdaInfo.java:158)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner$1.visitMethodInsn(MethodInliner.java:223)
    at org.jetbrains.org.objectweb.asm.tree.MethodInsnNode.accept(MethodInsnNode.java:133)
    at org.jetbrains.org.objectweb.asm.tree.InsnList.accept(InsnList.java:162)
    at org.jetbrains.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:817)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:311)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:111)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:95)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.inlineMethod(AnonymousObjectTransformer.java:230)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.inlineMethodAndUpdateGlobalResult(AnonymousObjectTransformer.java:191)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.doTransform(AnonymousObjectTransformer.java:144)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner$1.handleAnonymousObjectRegeneration(MethodInliner.java:180)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner$1.anew(MethodInliner.java:199)
    at org.jetbrains.org.objectweb.asm.commons.InstructionAdapter.visitTypeInsn(InstructionAdapter.java:478)
    at org.jetbrains.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:83)
    at org.jetbrains.org.objectweb.asm.tree.InsnList.accept(InsnList.java:162)
    at org.jetbrains.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:817)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:311)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:111)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:95)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.inlineMethod(AnonymousObjectTransformer.java:230)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.inlineMethodAndUpdateGlobalResult(AnonymousObjectTransformer.java:191)
    at org.jetbrains.kotlin.codegen.inline.AnonymousObjectTransformer.doTransform(AnonymousObjectTransformer.java:144)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner$1.handleAnonymousObjectRegeneration(MethodInliner.java:180)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner$1.anew(MethodInliner.java:199)
    at org.jetbrains.org.objectweb.asm.commons.InstructionAdapter.visitTypeInsn(InstructionAdapter.java:478)
    at org.jetbrains.org.objectweb.asm.tree.TypeInsnNode.accept(TypeInsnNode.java:83)
    at org.jetbrains.org.objectweb.asm.tree.InsnList.accept(InsnList.java:162)
    at org.jetbrains.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:817)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:311)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:111)
    at org.jetbrains.kotlin.codegen.inline.MethodInliner.doInline(MethodInliner.java:95)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.inlineCall(InlineCodegen.java:392)
    at org.jetbrains.kotlin.codegen.inline.InlineCodegen.genCallInner(InlineCodegen.java:149)
    ... 107 more
错误:(37,45)Kotlin:[内部错误]org.jetbrains.Kotlin.codegen.CompilationException:后端(JVM)内部错误:无法将方法调用“fiberListener”内联到
本地最终乐趣(模块:org.tenkiv.nexus.thermal.module.ProducerModule):在org.tenkiv.nexus.thermal.control_point.StateMaintainer中定义的kotlin.Unit[AnonymousFunctionDescriptor@392d1483]
{模块->
module.levelSensor?.addListener(fiberListener{onLevelEvent()})
}
原因:fiberListener$default(ILco/paralleluniverse/threads/channels/channels$OverflowPolicy;ZZLkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lco/paralleluniverse/threads/channels/SendPort;:
L0
阿洛德6号
IFNULL L1
新的java/lang/UnsupportedOperationException
重复
LDC“此目标中不支持带有默认参数的超级调用,函数:fiberListener”
调用特殊的java/lang/UnsupportedOperationException。(Ljava/lang/String;)V
阿思罗
L1
伊洛德5号
ICONST_1
土地
IFEQ L2
L3
线路号13 L3
双脉冲50
晶体管0
L2
伊洛德5号
ICONST_2
土地
IFEQ L4
L5
线路号14 L5
GETSTATIC co/paralleluniverse/Streams/Channel/Channel$OverflowPolicy.BACKOFF:Lco/paralleluniverse/Streams/Channel/Channel$OverflowPolicy;
阿斯托尔1号
L4
伊洛德5号
ICONST_4
土地
IFEQ L6
L7
线路号15 L7
ICONST_1
史前2
L6
伊洛德5号
双脉冲8
土地
IFEQ L8
L9
线路号16 L9
ICONST_1
史前3
L8
L10
L11
阿洛德1号
最不发达国家“政策”
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParametersNotnull(Ljava/lang/Object;Ljava/lang/String;)V
阿洛德4号
最不发达国家“行动”
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkParametersNotnull(Ljava/lang/Object;Ljava/lang/String;)V
L12
行号40 L12
伊洛德0
阿洛德1号
伊洛德2号
伊洛德3号
INVOKESTATIC co/paralleluniverse/threads/channels/channels.newChannel(ILco/paralleluniverse/threads/channels/channels$OverflowPolicy;ZZ)Lco/paralleluniverse/threads/channels/channels;
阿斯托尔6号
L13
L14
行号41 L14
新组织/tenkiv/nexus/computer/QuasarKt$fiberListener$1
重复
阿洛德6号
阿洛德4号
调用特殊组织/tenkiv/nexus/computer/QuasarKt$fiberListener$1。(Lco/paralleluniverse/threads/channels/Channel;Lkotlin/jvm/functions/Function1;)V
CHECKCAST kotlin/jvm/functions/Function0
INVOKESTATIC co/paralleluniverse/kotlin/KotlinKt.fiber(Lkotlin/jvm/functions/Function0;)Lco/paralleluniverse/fibers/fiber;
流行音乐
L15
线路号42 L15
阿洛德6号
CHECKCAST co/paralleluniverse/Streams/Channel/SendPort
重复
最不发达国家“通道”
INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkExpressionValueIsNotNull(Ljava/lang/Object;Ljava/lang/String;)V
轮回
L16
L17
轮回
本地可变通道Lco/paralleluniverse/Streams/channel/channel;L13 L17 6
LOCALVARIABLE bufferSize I L0 L17 0
LOCALVARIABLE策略Lco/paralleluniverse/Streams/Channel/Channel$OverflowPolicy;L0 L17 1
本地变量单生产者Z L0 L17 2
本地变量单消费者Z L0 L17 3
LOCALVARIABLE action Lkotlin/jvm/functions/Function1;L0 L17 4
本地变量$i$f$fiberListener i L10 L17 5
MAXSTACK=4
最大局部数=7
原因:指定为非空的参数为空:方法org.jetbrains.kotlin.codegen.inline.ParametersBuilder.addCapturedParam,参数原始
正在编译的文件和位置:(37,45)in/Users/zjuhasz/Git/Nexus_Brain/src/main/kotlin/org/tenkiv/Nexus/thermal/control_point/StateMaintainer.kt
PsiElement:fiberListener{onLevelEvent()}
根本原因被抛出:ParametersBuilder.kt:-1
位于org.jetbrains.kotlin.codegen.inline.InlineCodegen.throwCompilationException(InlineCodegen.java:172)
位于org.jetbrains.kotlin.codegen.inline.InlineCodegen.gencalliner(InlineCodegen.java:158)
位于org.jetbrains.kotlin.codegen.CallGenerator.genCall(CallGenerator.kt:100)
位于org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2625)
位于org.jetbrains.kotlin.codegen.ExpressionCodegen.invokeMethodWithArguments(ExpressionCodegen.java:2583)
位于org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:44)
位于org.jetbrains.kotlin.codegen.Callable$invokeMethodWithArguments$1.invoke(Callable.kt:23)
在org.jetbrains.kotlin.codegen.OperationsStackValue.putSelector上(StackValue.kt:65)
位于org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:109)
位于org.jetbrains.kotlin.codegen.StackValue.put(StackValue.java:102)
在org.jetbrains.kotlin.codegen.CallGenerator$DefaultCallGenerator.genValueAndPut上(CallGenerator.kt:58)
位于org.jetbrains.kotlin.codegen.CallBasedArgumentGenerator.generateExpression(CallBasedArgumentGenerator.java:73)