PrismParameter |
Helper typesdata class PrismParameter |
PrismParameterOccurrence |
data class PrismParameterOccurrence |
SharedPrismParameter |
data class SharedPrismParameter |
buildAuxiliaryFunctions |
fun buildAuxiliaryFunctions(packageName: String): String |
buildAuxiliaryPrismFunctions |
fun buildAuxiliaryPrismFunctions(packageName: String): String |
buildDataClass |
Build the data class fun buildDataClass(dataClass: DataClass, algTypes: String): String |
buildExtendedFunctionComposer |
fun buildExtendedFunctionComposer(): String |
buildFluentFunction |
fun buildFluentFunction(): String |
buildIdSetter |
fun buildIdSetter(): String |
buildSealedClassFileContent |
fun buildSealedClassFileContent(sealedClass: SealedClass, algTypesFolder: String): String |
buildSuspendedIdSetter |
fun buildSuspendedIdSetter(): String |
classGenerics |
fun classGenerics(generics: String?): String |
classRepresentation |
Class representaions fun classRepresentation(sealedClass: SealedClass, offset: String = ""): String |
collectSharedPrismParameters |
fun collectSharedPrismParameters(: SealedClass): ArrayList<SharedPrismParameter> |
dataClassRepresentation |
Build the representation of the data class fun dataClassRepresentation(dataClass: DataClass, generics: String?): String |
file |
fun file(dataClass: DataClass, project: Project): Filefun file(sealedClass: SealedClass, project: Project): File |
functionGenerics |
fun functionGenerics(generics: String?): String |
generatePseudoLens |
Generate pseudo lens fun generatePseudoLens(dataClass: DataClass, algTypes: String, project: Project): Unit |
generatePseudoLenses |
Generate pseudo lenses fun generatePseudoLenses(dataClasses: DataClasses, project: Project): Unit |
generatePseudoPrism |
Generate pseudo lens fun generatePseudoPrism(sealedClass: SealedClass, algTypesFolder: String, project: Project): Unit |
generatePseudoPrisms |
fun generatePseudoPrisms(dataClasses: DataClasses, project: Project): Unit |
generics |
Data class may depend on generic parameters: fun generics(dataClass: ClassRepresentation): String? |
imports |
fun imports(clazz: ClassRepresentation, collected: HashSet<String> = hashSetOf()): HashSet<String>
Data class may depend on types which need to be imported. Compute the imports of the data class. fun imports(dataClass: DataClass, algTypes: String): String
Sealed class may depend on types which need to be imported. Compute the imports of the sealed class. fun imports(dataClass: SealedClass, algTypesFolder: String): String |
listGenerics |
fun listGenerics(clazz: ClassRepresentation): HashSet<String> |
modifiers |
fun Parameter.modifiers(): String |
overriddenParameters |
fun SealedClass.overriddenParameters(): Set<String>fun SubSealedClass.overriddenParameters(): Set<String> |
packageName |
Compute the package name fun packageName(dataClass: DataClass): Stringfun packageName(sealedClass: SealedClass): String |
parameters |
fun parameters(sealedClass: SealedClass, offset: String): List<String>fun parameters(sealedClass: SubSealedClass, offset: String): List<String> |
parameterSetter |
Build parameter setter: Product2<Data, Product<...,T_i.()->T_i,...>>.param(setter: T_i.()->T_i): Product2<Data, Product<...,T_i.()->T_i,...>> fun parameterSetter(parameterName: String, parameterType: String, parameterIndex: Int, dataClass: DataClass, dimension: Int, generics: String?): String |
parameterSetters |
Build parameter setters: One parameter setter for each parameter of the data class fun parameterSetters(dataClass: DataClass, generics: String?): String |
parameterSettersSuspended |
Build suspended parameter setters: One suspended parameter setter for each parameter of the data class fun parameterSettersSuspended(dataClass: DataClass, generics: String?): String |
parameterSetterSuspended |
Build suspended parameter setter: suspend Product2<Data, Product<..., suspend T_i.()->T_i,...>>.param(setter: suspend T_i.()->T_i): Product2<Data, Product<..., suspend T_i.()->T_i,...>> fun parameterSetterSuspended(parameterName: String, parameterType: String, parameterIndex: Int, dataClass: DataClass, dimension: Int, generics: String?): String |
prism |
Prism structure fun prism(sealedClass: SealedClass): String |
prismParameterSetterFunctionGenerics |
fun prismParameterSetterFunctionGenerics(sealedClass: SealedClass): String |
prismParameterSetters |
Prism parameter-setter functionsfun prismParameterSetters(sealedClass: SealedClass, suspended: Boolean = false): String |
prismParameterSetterType |
fun prismParameterSetterType(sealedClass: SealedClass, suspended: Boolean = false): String |
prismSetter |
Prism setter functionfun prismSetter(sealedClass: SealedClass, suspended: Boolean = false): String |
prismSetterCase |
fun prismSetterCase(representative: SubDataClass, index: Int, dimension: Int, suspended: Boolean = false): String |
prismSetterCases |
fun prismSetterCases(sealedClass: SealedClass, suspended: Boolean = false): String |
prismSetterFunctionGenerics |
fun prismSetterFunctionGenerics(sealedClass: SealedClass): String |
prismSetterType |
fun prismSetterType(sealedClass: SealedClass, suspended: Boolean = false): String |
prismSummandType |
fun prismSummandType(sealedClass: SealedClass, index: Int, suspended: Boolean = false): String |
prismSumType |
Prism relevant typesfun prismSumType(sealedClass: SealedClass, suspended: Boolean = false): String |
prismTransaction |
Prism transaction functionfun prismTransaction(sealedClass: SealedClass, suspended: Boolean = false): String |
prismTransactionArgumentType |
fun prismTransactionArgumentType(sealedClass: SealedClass, suspended: Boolean = false): String |
prismTransactionCase |
fun prismTransactionCase(representative: SubClass, index: Int, suspended: Boolean = false): String |
prismTransactionCases |
fun prismTransactionCases(sealedClass: SealedClass, suspended: Boolean = false): String |
prismTransactionFunctionGenerics |
fun prismTransactionFunctionGenerics(sealedClass: SealedClass): String |
productSetterType |
Build product setter type: Product<...,T_i.()->T_i,...> fun productSetterType(dataClass: DataClass, generics: String?): String |
productSetterTypeSuspended |
Build suspended product setter type: Product<..., suspend T_i.()->T_i,...> fun productSetterTypeSuspended(dataClass: DataClass, generics: String?): String |
setter |
Build the setter: Data.set(setter: Data.()->Product<..., T_i.()->T_i ,...>): Data fun setter(dataClass: DataClass, generics: String?): String
Build setter: T.()->T fun setter(type: String): String |
setterSuspended |
Build the suspended setter: suspend Data.set(setter: suspend Data.()->Product<..., suspend T_i.()->T_i ,...>): Data fun setterSuspended(dataClass: DataClass, generics: String?): String
Build suspended setter: suspend T.()->T fun setterSuspended(type: String): String |
sharedPrismParameterSetter |
fun sharedPrismParameterSetter(: SealedClass, : SharedPrismParameter, : Boolean = false): String |
sharedPrismParameterSetterCase |
fun sharedPrismParameterSetterCase(: PrismParameterOccurrence, : Int, : Boolean): String |
sharedPrismParameterSetterCases |
fun sharedPrismParameterSetterCases(: SealedClass, : ArrayList<PrismParameterOccurrence>, : Boolean): String |
simpleParameterSetter |
fun simpleParameterSetter(parameterName: String, parameterType: String, parameterIndex: Int, dataClass: DataClass, dimension: Int, generics: String?): String |
simpleParameterSetters |
fun simpleParameterSetters(dataClass: DataClass, generics: String?): String |
simpleParameterSettersSuspended |
fun simpleParameterSettersSuspended(dataClass: DataClass, generics: String?): String |
simpleParameterSetterSuspended |
fun simpleParameterSetterSuspended(parameterName: String, parameterType: String, parameterIndex: Int, dataClass: DataClass, dimension: Int, generics: String?): String |
subClassLens |
fun subClassLens(subDataClass: SubDataClass, parentClassName: String): String |
subClassLenses |
Lenses of sub classes fun subClassLenses(sealedClass: SealedClass): String |
subClassRepresentation |
fun subClassRepresentation(subClass: SubClass, offset: String = ""): Stringfun subClassRepresentation(subClass: SubDataClass, offset: String = ""): Stringfun subClassRepresentation(subClass: SubObject, offset: String = ""): Stringfun subClassRepresentation(subClass: SubSealedClass, offset: String = ""): String |
subClassRepresentations |
fun subClassRepresentations(sealedClass: SealedClass, offset: String = ""): String |
suspended |
Helper functionsfun suspended(suspended: Boolean, postFix: String = " ", whenFalse: String = ""): String |
transaction |
Build the transaction function fun transaction(dataClass: DataClass, dimension: Int, generics: String?): String |
transactionSuspended |
Build the suspended transaction function fun transactionSuspended(dataClass: DataClass, dimension: Int, generics: String?): String |