SingleProtocolInterpreter
abstract class SingleProtocolInterpreter<Obj>(program: ProgramNode, protocol: Protocol) : AbstractProtocolInterpreter<Obj>
Interpreter for a single protocol. This class is defined for convenience, so that the protocol argument on implemented methods isn't necessary.
Constructors
Functions
Link copied to clipboard
open suspend override fun buildExpressionObject(protocol: Protocol, expr: AtomicExpressionNode): Obj
Link copied to clipboard
abstract suspend fun buildObject(className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): Obj
open suspend override fun buildObject(protocol: Protocol, className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): Obj
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open suspend override fun pushFunctionContext(arguments: PersistentMap<ParameterNode, Pair<Protocol, FunctionArgumentNode>>)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract suspend fun runReceive(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Link copied to clipboard
abstract suspend fun runSend(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Link copied to clipboard
Link copied to clipboard