Package org.derive4j.processor
Class TotalMatchingStepDerivator
- java.lang.Object
-
- org.derive4j.processor.TotalMatchingStepDerivator
-
class TotalMatchingStepDerivator extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtils
deriveUtils
private MapperDerivator
mapperDerivator
private PatternMatchingDerivator.MatchingKind
matchingKind
private PartialMatchingStepDerivator
partialMatching
-
Constructor Summary
Constructors Constructor Description TotalMatchingStepDerivator(DeriveUtils deriveUtils, PatternMatchingDerivator.MatchingKind matchingKind)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private com.squareup.javapoet.CodeBlock
functionDispatchImpl(AlgebraicDataType adt, java.util.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, java.util.List<DataConstructor> previousConstructors, DataConstructor currentConstructor, java.util.List<DataConstructor> nextConstructors)
(package private) static java.lang.String
totalMatchBuilderClassName(DataConstructor currentConstructor)
private com.squareup.javapoet.CodeBlock
vistorDispatchImpl(AlgebraicDataType adt, javax.lang.model.type.DeclaredType visitorType, javax.lang.model.element.VariableElement visitorParam, java.util.List<DataConstructor> previousConstructors, DataConstructor currentConstructor)
-
-
-
Field Detail
-
deriveUtils
private final DeriveUtils deriveUtils
-
mapperDerivator
private final MapperDerivator mapperDerivator
-
partialMatching
private final PartialMatchingStepDerivator partialMatching
-
matchingKind
private final PatternMatchingDerivator.MatchingKind matchingKind
-
-
Constructor Detail
-
TotalMatchingStepDerivator
TotalMatchingStepDerivator(DeriveUtils deriveUtils, PatternMatchingDerivator.MatchingKind matchingKind)
-
-
Method Detail
-
stepTypeSpec
com.squareup.javapoet.TypeSpec stepTypeSpec(AlgebraicDataType adt, java.util.List<DataConstructor> previousConstructors, DataConstructor currentConstructor, java.util.List<DataConstructor> nextConstructors)
-
functionDispatchImpl
private com.squareup.javapoet.CodeBlock functionDispatchImpl(AlgebraicDataType adt, java.util.List<DataConstructor> previousConstructors, DataConstructor currentConstructor)
-
vistorDispatchImpl
private com.squareup.javapoet.CodeBlock vistorDispatchImpl(AlgebraicDataType adt, javax.lang.model.type.DeclaredType visitorType, javax.lang.model.element.VariableElement visitorParam, java.util.List<DataConstructor> previousConstructors, DataConstructor currentConstructor)
-
totalMatchBuilderClassName
static java.lang.String totalMatchBuilderClassName(DataConstructor currentConstructor)
-
oneConstructorImpl
private static com.squareup.javapoet.CodeBlock oneConstructorImpl(DataConstructor currentConstructor, AlgebraicDataType adt)
-
-