Do not generate continuation's setLabel and getLabel methods in 1.3

Also, do not call them.
 #KT-25521: Fixed
This commit is contained in:
Ilmir Usmanov
2018-07-24 22:31:18 +03:00
parent a10bd9f5a3
commit dc3b230b55
11 changed files with 21 additions and 94 deletions
@@ -432,8 +432,10 @@ class CoroutineCodegenForNamedFunction private constructor(
override fun generateClosureBody() { override fun generateClosureBody() {
generateResumeImpl() generateResumeImpl()
generateGetLabelMethod() if (!languageVersionSettings.isReleaseCoroutines()) {
generateSetLabelMethod() generateGetLabelMethod()
generateSetLabelMethod()
}
v.newField( v.newField(
JvmDeclarationOrigin.NO_ORIGIN, Opcodes.ACC_SYNTHETIC or AsmUtil.NO_FLAG_PACKAGE_PRIVATE, JvmDeclarationOrigin.NO_ORIGIN, Opcodes.ACC_SYNTHETIC or AsmUtil.NO_FLAG_PACKAGE_PRIVATE,
@@ -128,7 +128,7 @@ class CoroutineTransformerMethodVisitor(
LineNumberNode(lineNumber, tableSwitchLabel), LineNumberNode(lineNumber, tableSwitchLabel),
VarInsnNode(Opcodes.ASTORE, suspendMarkerVarIndex), VarInsnNode(Opcodes.ASTORE, suspendMarkerVarIndex),
VarInsnNode(Opcodes.ALOAD, continuationIndex), VarInsnNode(Opcodes.ALOAD, continuationIndex),
createInsnForReadingLabel(), *withInstructionAdapter { getLabel() }.toArray(),
TableSwitchInsnNode( TableSwitchInsnNode(
0, 0,
suspensionPoints.size, suspensionPoints.size,
@@ -165,37 +165,35 @@ class CoroutineTransformerMethodVisitor(
methodNode.instructions.set(last, InsnNode(Opcodes.ACONST_NULL)) methodNode.instructions.set(last, InsnNode(Opcodes.ACONST_NULL))
} }
private fun createInsnForReadingLabel() = private fun InstructionAdapter.getLabel() {
if (isForNamedFunction && !languageVersionSettings.isReleaseCoroutines()) if (isForNamedFunction && !languageVersionSettings.isReleaseCoroutines())
MethodInsnNode( invokevirtual(
Opcodes.INVOKEVIRTUAL,
classBuilderForCoroutineState.thisName, classBuilderForCoroutineState.thisName,
"getLabel", "getLabel",
Type.getMethodDescriptor(Type.INT_TYPE), Type.getMethodDescriptor(Type.INT_TYPE),
false false
) )
else else
FieldInsnNode( getfield(
Opcodes.GETFIELD,
computeLabelOwner(languageVersionSettings, classBuilderForCoroutineState.thisName).internalName, computeLabelOwner(languageVersionSettings, classBuilderForCoroutineState.thisName).internalName,
COROUTINE_LABEL_FIELD_NAME, Type.INT_TYPE.descriptor COROUTINE_LABEL_FIELD_NAME, Type.INT_TYPE.descriptor
) )
}
private fun createInsnForSettingLabel() = private fun InstructionAdapter.setLabel() {
if (isForNamedFunction && !languageVersionSettings.isReleaseCoroutines()) if (isForNamedFunction && !languageVersionSettings.isReleaseCoroutines())
MethodInsnNode( invokevirtual(
Opcodes.INVOKEVIRTUAL,
classBuilderForCoroutineState.thisName, classBuilderForCoroutineState.thisName,
"setLabel", "setLabel",
Type.getMethodDescriptor(Type.VOID_TYPE, Type.INT_TYPE), Type.getMethodDescriptor(Type.VOID_TYPE, Type.INT_TYPE),
false false
) )
else else
FieldInsnNode( putfield(
Opcodes.PUTFIELD,
computeLabelOwner(languageVersionSettings, classBuilderForCoroutineState.thisName).internalName, computeLabelOwner(languageVersionSettings, classBuilderForCoroutineState.thisName).internalName,
COROUTINE_LABEL_FIELD_NAME, Type.INT_TYPE.descriptor COROUTINE_LABEL_FIELD_NAME, Type.INT_TYPE.descriptor
) )
}
private fun updateMaxStack(methodNode: MethodNode) { private fun updateMaxStack(methodNode: MethodNode) {
methodNode.instructions.resetLabels() methodNode.instructions.resetLabels()
@@ -248,12 +246,7 @@ class CoroutineTransformerMethodVisitor(
visitVarInsn(Opcodes.ASTORE, continuationIndex) visitVarInsn(Opcodes.ASTORE, continuationIndex)
visitVarInsn(Opcodes.ALOAD, continuationIndex) visitVarInsn(Opcodes.ALOAD, continuationIndex)
invokevirtual( getLabel()
classBuilderForCoroutineState.thisName,
"getLabel",
Type.getMethodDescriptor(Type.INT_TYPE),
false
)
iconst(1 shl 31) iconst(1 shl 31)
and(Type.INT_TYPE) and(Type.INT_TYPE)
@@ -261,21 +254,11 @@ class CoroutineTransformerMethodVisitor(
visitVarInsn(Opcodes.ALOAD, continuationIndex) visitVarInsn(Opcodes.ALOAD, continuationIndex)
dup() dup()
invokevirtual( getLabel()
classBuilderForCoroutineState.thisName,
"getLabel",
Type.getMethodDescriptor(Type.INT_TYPE),
false
)
iconst(1 shl 31) iconst(1 shl 31)
sub(Type.INT_TYPE) sub(Type.INT_TYPE)
invokevirtual( setLabel()
classBuilderForCoroutineState.thisName,
"setLabel",
Type.getMethodDescriptor(Type.VOID_TYPE, Type.INT_TYPE),
false
)
goTo(afterCoroutineStateCreated) goTo(afterCoroutineStateCreated)
@@ -489,11 +472,11 @@ class CoroutineTransformerMethodVisitor(
// Save state // Save state
insertBefore( insertBefore(
suspension.suspensionCallBegin, suspension.suspensionCallBegin,
insnListOf( withInstructionAdapter {
VarInsnNode(Opcodes.ALOAD, continuationIndex), visitVarInsn(Opcodes.ALOAD, continuationIndex)
*withInstructionAdapter { iconst(id) }.toArray(), iconst(id)
createInsnForSettingLabel() setLabel()
) }
) )
insert(suspension.tryCatchBlockEndLabelAfterSuspensionCall, withInstructionAdapter { insert(suspension.tryCatchBlockEndLabelAfterSuspensionCall, withInstructionAdapter {
@@ -12,9 +12,7 @@ public final class CrossinlineKt$box$1$filter$$inlined$source$1$1 {
inner class CrossinlineKt$box$1$filter$$inlined$source$1 inner class CrossinlineKt$box$1$filter$$inlined$source$1
inner class CrossinlineKt$box$1$filter$$inlined$source$1$1 inner class CrossinlineKt$box$1$filter$$inlined$source$1$1
public method <init>(p0: CrossinlineKt$box$1$filter$$inlined$source$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$box$1$filter$$inlined$source$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -28,9 +26,7 @@ public final class CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1$1 {
inner class CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1 inner class CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1
inner class CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1$1 inner class CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1$1
public method <init>(p0: CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$box$1$filter$$inlined$source$1$lambda$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -62,9 +58,7 @@ public final class CrossinlineKt$box$1$fold$$inlined$consumeEach$1$1 {
inner class CrossinlineKt$box$1$fold$$inlined$consumeEach$1 inner class CrossinlineKt$box$1$fold$$inlined$consumeEach$1
inner class CrossinlineKt$box$1$fold$$inlined$consumeEach$1$1 inner class CrossinlineKt$box$1$fold$$inlined$consumeEach$1$1
public method <init>(p0: CrossinlineKt$box$1$fold$$inlined$consumeEach$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$box$1$fold$$inlined$consumeEach$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -92,9 +86,7 @@ public final class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$1 {
inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1 inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1
inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$1 inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$1
public method <init>(p0: CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -108,9 +100,7 @@ public final class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2$1 {
inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2 inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2
inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2$1 inner class CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2$1
public method <init>(p0: CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$box$1$invokeSuspend$$inlined$filter$1$2, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -168,9 +158,7 @@ public final class CrossinlineKt$consumeEach$2$send$1 {
inner class CrossinlineKt$consumeEach$2 inner class CrossinlineKt$consumeEach$2
inner class CrossinlineKt$consumeEach$2$send$1 inner class CrossinlineKt$consumeEach$2$send$1
public method <init>(p0: CrossinlineKt$consumeEach$2, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$consumeEach$2, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -197,9 +185,7 @@ public final class CrossinlineKt$filter$$inlined$source$1$1 {
inner class CrossinlineKt$filter$$inlined$source$1 inner class CrossinlineKt$filter$$inlined$source$1
inner class CrossinlineKt$filter$$inlined$source$1$1 inner class CrossinlineKt$filter$$inlined$source$1$1
public method <init>(p0: CrossinlineKt$filter$$inlined$source$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$filter$$inlined$source$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -213,9 +199,7 @@ public final class CrossinlineKt$filter$$inlined$source$1$lambda$1$1 {
inner class CrossinlineKt$filter$$inlined$source$1$lambda$1 inner class CrossinlineKt$filter$$inlined$source$1$lambda$1
inner class CrossinlineKt$filter$$inlined$source$1$lambda$1$1 inner class CrossinlineKt$filter$$inlined$source$1$lambda$1$1
public method <init>(p0: CrossinlineKt$filter$$inlined$source$1$lambda$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$filter$$inlined$source$1$lambda$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -247,9 +231,7 @@ public final class CrossinlineKt$fold$$inlined$consumeEach$1$1 {
inner class CrossinlineKt$fold$$inlined$consumeEach$1 inner class CrossinlineKt$fold$$inlined$consumeEach$1
inner class CrossinlineKt$fold$$inlined$consumeEach$1$1 inner class CrossinlineKt$fold$$inlined$consumeEach$1$1
public method <init>(p0: CrossinlineKt$fold$$inlined$consumeEach$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$fold$$inlined$consumeEach$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -278,9 +260,7 @@ public final class CrossinlineKt$range$$inlined$source$1$1 {
inner class CrossinlineKt$range$$inlined$source$1 inner class CrossinlineKt$range$$inlined$source$1
inner class CrossinlineKt$range$$inlined$source$1$1 inner class CrossinlineKt$range$$inlined$source$1$1
public method <init>(p0: CrossinlineKt$range$$inlined$source$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$range$$inlined$source$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -301,9 +281,7 @@ public final class CrossinlineKt$source$1$consume$1 {
inner class CrossinlineKt$source$1 inner class CrossinlineKt$source$1
inner class CrossinlineKt$source$1$consume$1 inner class CrossinlineKt$source$1$consume$1
public method <init>(p0: CrossinlineKt$source$1, p1: kotlin.coroutines.Continuation): void public method <init>(p0: CrossinlineKt$source$1, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -19,9 +19,7 @@ final class InlineWithStateMachineKt$mainSuspend$1 {
field label: int field label: int
inner class InlineWithStateMachineKt$mainSuspend$1 inner class InlineWithStateMachineKt$mainSuspend$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -32,9 +30,7 @@ public final class InlineWithStateMachineKt$suspendHere$1 {
field label: int field label: int
inner class InlineWithStateMachineKt$suspendHere$1 inner class InlineWithStateMachineKt$suspendHere$1
public method <init>(p0: kotlin.coroutines.Continuation): void public method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -19,9 +19,7 @@ final class InlineWithoutStateMachineKt$complexSuspend$1 {
field label: int field label: int
inner class InlineWithoutStateMachineKt$complexSuspend$1 inner class InlineWithoutStateMachineKt$complexSuspend$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -4,9 +4,7 @@ final class CoroutineContextIntrinsicKt$notTailCall$1 {
field label: int field label: int
inner class CoroutineContextIntrinsicKt$notTailCall$1 inner class CoroutineContextIntrinsicKt$notTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -6,9 +6,7 @@ final class Controller$multipleSuspensions$1 {
synthetic final field this$0: Controller synthetic final field this$0: Controller
inner class Controller$multipleSuspensions$1 inner class Controller$multipleSuspensions$1
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -19,9 +17,7 @@ final class Controller$nonTailCall$1 {
synthetic final field this$0: Controller synthetic final field this$0: Controller
inner class Controller$nonTailCall$1 inner class Controller$nonTailCall$1
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -5,9 +5,7 @@ final class OomInReturnUnitKt$test$1 {
field label: int field label: int
inner class OomInReturnUnitKt$test$1 inner class OomInReturnUnitKt$test$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -10,9 +10,7 @@ final class TailSuspendUnitFunKt$callsIntNotTailCall$1 {
field label: int field label: int
inner class TailSuspendUnitFunKt$callsIntNotTailCall$1 inner class TailSuspendUnitFunKt$callsIntNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -22,9 +20,7 @@ final class TailSuspendUnitFunKt$lambdaAsParameterNotTailCall$1 {
field label: int field label: int
inner class TailSuspendUnitFunKt$lambdaAsParameterNotTailCall$1 inner class TailSuspendUnitFunKt$lambdaAsParameterNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -34,9 +30,7 @@ final class TailSuspendUnitFunKt$multipleExitPointsNotTailCall$1 {
field label: int field label: int
inner class TailSuspendUnitFunKt$multipleExitPointsNotTailCall$1 inner class TailSuspendUnitFunKt$multipleExitPointsNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -56,9 +50,7 @@ final class TailSuspendUnitFunKt$notTailCall$1 {
field label: int field label: int
inner class TailSuspendUnitFunKt$notTailCall$1 inner class TailSuspendUnitFunKt$notTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -77,9 +69,7 @@ final class TailSuspendUnitFunKt$useNullableUnit$1 {
field label: int field label: int
inner class TailSuspendUnitFunKt$useNullableUnit$1 inner class TailSuspendUnitFunKt$useNullableUnit$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -4,9 +4,7 @@ final class TryCatchTailCallKt$catchException$1 {
field label: int field label: int
inner class TryCatchTailCallKt$catchException$1 inner class TryCatchTailCallKt$catchException$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -10,9 +10,7 @@ final class UnreachableKt$callsIntNotTailCall$1 {
field label: int field label: int
inner class UnreachableKt$callsIntNotTailCall$1 inner class UnreachableKt$callsIntNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -22,9 +20,7 @@ final class UnreachableKt$lambdaAsParameterNotTailCall$1 {
field label: int field label: int
inner class UnreachableKt$lambdaAsParameterNotTailCall$1 inner class UnreachableKt$lambdaAsParameterNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -34,9 +30,7 @@ final class UnreachableKt$multipleExitPointsNotTailCall$1 {
field label: int field label: int
inner class UnreachableKt$multipleExitPointsNotTailCall$1 inner class UnreachableKt$multipleExitPointsNotTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -56,9 +50,7 @@ final class UnreachableKt$notTailCall$1 {
field label: int field label: int
inner class UnreachableKt$notTailCall$1 inner class UnreachableKt$notTailCall$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata
@@ -77,9 +69,7 @@ final class UnreachableKt$useNullableUnit$1 {
field label: int field label: int
inner class UnreachableKt$useNullableUnit$1 inner class UnreachableKt$useNullableUnit$1
method <init>(p0: kotlin.coroutines.Continuation): void method <init>(p0: kotlin.coroutines.Continuation): void
synthetic final method getLabel(): int
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
synthetic final method setLabel(p0: int): void
} }
@kotlin.Metadata @kotlin.Metadata