Folder

org.finos.morphir.ir.internal.Value.Folder
See theFolder companion object
trait Folder[-Context, -TA, -VA, Z]

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DelegatedFolder[Context, TA, VA, Z]
object ToString

Members list

Value members

Abstract methods

def applyCase(context: Context, value: Value[TA, VA], attributes: VA, function: Z, argument: Z): Z
def constructorCase(context: Context, value: Value[TA, VA], attributes: VA, name: FQName): Z
def destructureCase(context: Context, value: Value[TA, VA], attributes: VA, pattern: Pattern[VA], valueToDestruct: Z, inValue: Z): Z
def fieldCase(context: Context, value: Value[TA, VA], attributes: VA, subjectValue: Z, fieldName: Name): Z
def fieldFunctionCase(context: Context, value: Value[TA, VA], attributes: VA, fieldName: Name): Z
def ifThenElseCase(context: Context, value: Value[TA, VA], attributes: VA, condition: Z, thenBranch: Z, elseBranch: Z): Z
def lambdaCase(context: Context, value: Value[TA, VA], attributes: VA, argumentPattern: Pattern[VA], body: Z): Z
def letDefinitionCase(context: Context, value: Value[TA, VA], attributes: VA, valueName: Name, valueDefinition: (Chunk[(Name, VA, Type[TA])], Type[TA], Z), inValue: Z): Z
def letRecursionCase(context: Context, value: Value[TA, VA], attributes: VA, valueDefinitions: Map[Name, (Chunk[(Name, VA, Type[TA])], Type[TA], Z)], inValue: Z): Z
def listCase(context: Context, value: Value[TA, VA], attributes: VA, elements: Chunk[Z]): Z
def literalCase(context: Context, value: Value[TA, VA], attributes: VA, literal: Lit): Z
def patternMatchCase(context: Context, value: Value[TA, VA], attributes: VA, branchOutOn: Z, cases: Chunk[(Pattern[VA], Z)]): Z
def recordCase(context: Context, value: Value[TA, VA], attributes: VA, fields: Chunk[(Name, Z)]): Z
def referenceCase(context: Context, value: Value[TA, VA], attributes: VA, name: FQName): Z
def tupleCase(context: Context, value: Value[TA, VA], attributes: VA, elements: Chunk[Z]): Z
def unitCase(context: Context, value: Value[TA, VA], attributes: VA): Z
def updateRecordCase(context: Context, value: Value[TA, VA], attributes: VA, valueToUpdate: Z, fieldsToUpdate: Map[Name, Z]): Z
def variableCase(context: Context, value: Value[TA, VA], attributes: VA, name: Name): Z