All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jetbrains.kotlin.daemon.common.experimental.ReplStateFacadeServerSide.kt Maven / Gradle / Ivy

There is a newer version: 2.0.20-Beta2
Show newest version
/*
 * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
 * that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.daemon.common.experimental

import org.jetbrains.kotlin.cli.common.repl.ILineId
import org.jetbrains.kotlin.daemon.common.ReplStateFacadeAsync
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.ByteWriteChannelWrapper
import org.jetbrains.kotlin.daemon.common.experimental.socketInfrastructure.Server

interface ReplStateFacadeServerSide: ReplStateFacadeAsync, Server {

    // Query messages:
    class GetIdMessage : Server.Message() {
        override suspend fun processImpl(server: ReplStateFacadeServerSide, sendReply: (Any?) -> Unit) =
            sendReply(server.getId())
    }

    class GetHistorySizeMessage : Server.Message() {
        override suspend fun processImpl(server: ReplStateFacadeServerSide, sendReply: (Any?) -> Unit) =
            sendReply(server.getHistorySize())
    }

    class HistoryGetMessage(val index: Int) : Server.Message() {
        override suspend fun processImpl(server: ReplStateFacadeServerSide, sendReply: (Any?) -> Unit) =
            sendReply(server.historyGet(index))
    }

    class HistoryResetMessage : Server.Message() {
        override suspend fun processImpl(server: ReplStateFacadeServerSide, sendReply: (Any?) -> Unit) =
            sendReply(server.historyReset())
    }

    class HistoryResetToMessage(val id: ILineId) : Server.Message() {
        override suspend fun processImpl(server: ReplStateFacadeServerSide, sendReply: (Any?) -> Unit) =
            sendReply(server.historyResetTo(id))
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy