SingleProtocolInterpreter
abstract class SingleProtocolInterpreter<Obj>(program: ProgramNode, protocol: Protocol) : AbstractProtocolInterpreter<Obj>
Content copied to clipboard
Interpreter for a single protocol. This class is defined for convenience, so that the protocol argument on implemented methods isn't necessary.
Constructors
SingleProtocolInterpreter
Link copied to clipboard
Functions
buildExpressionObject
Link copied to clipboard
abstract suspend fun buildExpressionObject(expr: AtomicExpressionNode): Obj
Content copied to clipboard
open suspend override fun buildExpressionObject(protocol: Protocol, expr: AtomicExpressionNode): Obj
Content copied to clipboard
buildObject
Link copied to clipboard
abstract suspend fun buildObject(className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): Obj
Content copied to clipboard
open suspend override fun buildObject(protocol: Protocol, className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): Obj
Content copied to clipboard
getContextMarker
Link copied to clipboard
getNullObject
Link copied to clipboard
popContext
Link copied to clipboard
popFunctionContext
Link copied to clipboard
pushContext
Link copied to clipboard
pushFunctionContext
Link copied to clipboard
open suspend override fun pushFunctionContext(arguments: PersistentMap<ParameterNode, Pair<Protocol, FunctionArgumentNode>>)
Content copied to clipboard
restoreContext
Link copied to clipboard
runGuard
Link copied to clipboard
open suspend override fun runGuard(protocol: Protocol, expr: AtomicExpressionNode): Value
Content copied to clipboard
runOutput
Link copied to clipboard
open suspend override fun runOutput(protocol: Protocol, stmt: OutputNode)
Content copied to clipboard
runReceive
Link copied to clipboard
abstract suspend fun runReceive(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Content copied to clipboard
runSend
Link copied to clipboard
abstract suspend fun runSend(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
Content copied to clipboard
runSimpleStatement
Link copied to clipboard
open suspend override fun runSimpleStatement(protocol: Protocol, stmt: SimpleStatementNode)
Content copied to clipboard
runUpdate
Link copied to clipboard
open suspend override fun runUpdate(protocol: Protocol, stmt: UpdateNode)
Content copied to clipboard
Properties
Inheritors
CommitmentProtocolCleartextInterpreter
Link copied to clipboard
CommitmentProtocolHashReplicaInterpreter
Link copied to clipboard
ZKPProverInterpreter
Link copied to clipboard
ZKPVerifierInterpreter
Link copied to clipboard