Class CBCGSerializerInstantiations
java.lang.Object
com.io7m.cedarbridge.codegen.java.internal.serializer_instantiation.CBCGSerializerInstantiations
Functions to generate code that instantiates serializers.
-
Method Summary
Modifier and TypeMethodDescriptionstatic com.io7m.jodist.MethodSpecGenerate a serializer instantiation method for the given type declaration.static com.io7m.jodist.MethodSpecGenerate a serializer instantiation method for the given protocol version.generateInstantiationStatementsForProtocol(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBProtocolVersionDeclarationType proto) Generate a series of instantiation statements for the protocol version.generateInstantiationStatementsForRecord(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBRecordType record) Generate a series of instantiation statements for the record.generateInstantiationStatementsForVariant(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBVariantType variant) Generate a series of instantiation statements for the variant.
-
Method Details
-
generateInstantiationMethod
Generate a serializer instantiation method for the given type declaration.- Parameters:
type- The type- Returns:
- The instantiation method
-
generateInstantiationMethodForProtocol
public static com.io7m.jodist.MethodSpec generateInstantiationMethodForProtocol(CBProtocolVersionDeclarationType proto) Generate a serializer instantiation method for the given protocol version.- Parameters:
proto- The protocol version- Returns:
- The instantiation method
-
generateInstantiationStatementsForProtocol
public static List<CBCGSerializerInstantiationOperationType> generateInstantiationStatementsForProtocol(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBProtocolVersionDeclarationType proto) Generate a series of instantiation statements for the protocol version.- Parameters:
lines- The program order trackernames- The name poolproto- The protocol version- Returns:
- The instantiation statements
-
generateInstantiationStatementsForRecord
public static List<CBCGSerializerInstantiationOperationType> generateInstantiationStatementsForRecord(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBRecordType record) Generate a series of instantiation statements for the record.- Parameters:
lines- The program order trackernames- The name poolrecord- The record- Returns:
- The instantiation statements
-
generateInstantiationStatementsForVariant
public static List<CBCGSerializerInstantiationOperationType> generateInstantiationStatementsForVariant(CBCGJavaProgramOrder lines, CBCGJavaNamePool names, CBVariantType variant) Generate a series of instantiation statements for the variant.- Parameters:
lines- The program order trackernames- The name poolvariant- The variant- Returns:
- The instantiation statements
-