Package org.derive4j.processor
Class TotalMatchingStepDerivator
java.lang.Object
org.derive4j.processor.TotalMatchingStepDerivator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DeriveUtils
private final MapperDerivator
private final PatternMatchingDerivator.MatchingKind
private final PartialMatchingStepDerivator
-
Constructor Summary
ConstructorsConstructorDescriptionTotalMatchingStepDerivator
(DeriveUtils deriveUtils, PatternMatchingDerivator.MatchingKind matchingKind) -
Method Summary
Modifier and TypeMethodDescriptionprivate com.squareup.javapoet.CodeBlock
functionDispatchImpl
(AlgebraicDataType adt, List<DataConstructor> previousConstructors, DataConstructor currentConstructor) private static com.squareup.javapoet.CodeBlock
oneConstructorImpl
(DataConstructor currentConstructor, AlgebraicDataType adt) (package private) com.squareup.javapoet.TypeSpec
stepTypeSpec
(AlgebraicDataType adt, List<DataConstructor> previousConstructors, DataConstructor currentConstructor, List<DataConstructor> nextConstructors) (package private) static String
totalMatchBuilderClassName
(DataConstructor currentConstructor) private com.squareup.javapoet.CodeBlock
vistorDispatchImpl
(AlgebraicDataType adt, DeclaredType visitorType, VariableElement visitorParam, List<DataConstructor> previousConstructors, DataConstructor currentConstructor)
-
Field Details
-
deriveUtils
-
mapperDerivator
-
partialMatching
-
matchingKind
-
-
Constructor Details
-
TotalMatchingStepDerivator
TotalMatchingStepDerivator(DeriveUtils deriveUtils, PatternMatchingDerivator.MatchingKind matchingKind)
-
-
Method Details
-
stepTypeSpec
com.squareup.javapoet.TypeSpec stepTypeSpec(AlgebraicDataType adt, List<DataConstructor> previousConstructors, DataConstructor currentConstructor, List<DataConstructor> nextConstructors) -
functionDispatchImpl
private com.squareup.javapoet.CodeBlock functionDispatchImpl(AlgebraicDataType adt, List<DataConstructor> previousConstructors, DataConstructor currentConstructor) -
vistorDispatchImpl
private com.squareup.javapoet.CodeBlock vistorDispatchImpl(AlgebraicDataType adt, DeclaredType visitorType, VariableElement visitorParam, List<DataConstructor> previousConstructors, DataConstructor currentConstructor) -
totalMatchBuilderClassName
-
oneConstructorImpl
private static com.squareup.javapoet.CodeBlock oneConstructorImpl(DataConstructor currentConstructor, AlgebraicDataType adt)
-