override fun nextToken()

in hot-reload-analysis/src/main/kotlin/org/jetbrains/compose/reload/analysis/InstructionToken.kt [449:460]


    override fun nextToken(context: TokenizerContext): Either<InstructionToken, Failure>? {
        val expectedGetCurrentMarkerInvocation = context[0] ?: return null
        val expectedIStoreInsn = context[1] ?: return null
        if (expectedGetCurrentMarkerInvocation !is MethodInsnNode) return null
        if (MethodId(expectedGetCurrentMarkerInvocation) != Ids.Composer.getCurrentMarker) return null
        if (expectedIStoreInsn !is VarInsnNode) return null
        if (expectedIStoreInsn.opcode != Opcodes.ISTORE) return null
        return InstructionToken.CurrentMarkerToken(
            variableIndex = expectedIStoreInsn.`var`,
            instructions = listOf(expectedGetCurrentMarkerInvocation, expectedIStoreInsn)
        ).toLeft()
    }