CleartextProtocolInterpreter

Constructors

Link copied to clipboard
fun CleartextProtocolInterpreter(program: ProgramNode, protocols: Set<Protocol>, host: Host, runtime: ViaductRuntime)

Types

Link copied to clipboard

Functions

Link copied to clipboard
open suspend override fun buildExpressionObject(protocol: Protocol, expr: AtomicExpressionNode): CleartextClassObject
Link copied to clipboard
open suspend override fun buildObject(protocol: Protocol, className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): CleartextClassObject
Link copied to clipboard
open override fun getContextMarker(): Int
Link copied to clipboard
open override fun getNullObject(protocol: Protocol): CleartextClassObject
Link copied to clipboard
open suspend override fun popContext()
Link copied to clipboard
open suspend override fun popFunctionContext()
Link copied to clipboard
open suspend override fun pushContext()
Link copied to clipboard
open suspend override fun pushFunctionContext(arguments: PersistentMap<ParameterNode, Pair<Protocol, FunctionArgumentNode>>)
Link copied to clipboard
open suspend override fun restoreContext(marker: Int)
Link copied to clipboard
open suspend override fun runGuard(protocol: Protocol, expr: AtomicExpressionNode): Value
Link copied to clipboard
open suspend override fun runLet(protocol: Protocol, stmt: LetNode)
Link copied to clipboard
open suspend override fun runOutput(protocol: Protocol, stmt: OutputNode)
Link copied to clipboard
open suspend override fun runReceive(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Link copied to clipboard
open suspend override fun runSend(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Link copied to clipboard
open suspend override fun runSimpleStatement(protocol: Protocol, stmt: SimpleStatementNode)
Link copied to clipboard
open suspend override fun runUpdate(protocol: Protocol, stmt: UpdateNode)

Properties

Link copied to clipboard
open override val availableProtocols: Set<Protocol>
Link copied to clipboard