Package edu.cornell.cs.apl.viaduct.codegeneration

Types

AbstractCodeGenerator
Link copied to clipboard
abstract class AbstractCodeGenerator(context: CodeGeneratorContext) : CodeGenerator
CodeGenerator
Link copied to clipboard
interface CodeGenerator
CodeGeneratorContext
Link copied to clipboard
interface CodeGeneratorContext
SingleProtocolCodeGenerator
Link copied to clipboard
abstract class SingleProtocolCodeGenerator(context: CodeGeneratorContext) : AbstractCodeGenerator

Functions

compileToKotlin
Link copied to clipboard
fun ProgramNode.compileToKotlin(fileName: String, packageName: String, codeGenerators: List<(context: CodeGeneratorContext) -> CodeGenerator>, protocolComposer: ProtocolComposer): FileSpec
receiveReplicated
Link copied to clipboard
fun receiveReplicated(sender: LetNode, sendProtocol: Protocol, events: Set<CommunicationEvent>, context: CodeGeneratorContext, typeAnalysis: TypeAnalysis): CodeBlock
typeTranslator
Link copied to clipboard
fun typeTranslator(viaductType: ValueType): TypeName
unions
Link copied to clipboard
fun Iterable<Pair<Set<ProtocolName>, CodeGenerator>>.unions(): CodeGenerator

Combines code generators for different protocols into one generator that can handle all protocols.

Properties

valueClass
Link copied to clipboard
val ValueType.valueClass: KClass<out Value>

Returns the KClass object for values of this type.