Package org.derive4j.processor
Class AdtParser
java.lang.Object
org.derive4j.processor.AdtParser
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final DeriveUtils
private final Elements
private final Types
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Optional
<AnnotationMirror> fieldNamesAnnotation
(VariableElement visitorArg) private boolean
isEqualHashcodeToString
(ExecutableElement executableElement) private List
<TypeVariable> methodTypeVariables
(ExecutableType method) (package private) DeriveResult
<AlgebraicDataType> parseAlgebraicDataType
(TypeElement adtTypeElement, DeriveConfig deriveConfig) private DeriveResult
<DataConstruction> parseDataConstruction
(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, ExecutableElement adtAcceptMethod, TypeVariable adtAcceptMethodReturnType) private DeriveResult
<DataConstruction> parseDataConstructionMultipleAgs
(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, List<P2<VariableElement, DeclaredType>> caseHandlers) private DeriveResult
<DataConstruction> parseDataConstructionOneArg
(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, VariableElement visitorArg, DeclaredType visitorType) private DeriveResult
<DataConstructor> parseDataConstructor
(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeParameters, DataDeconstructor deconstructor, int index) private Optional
<TypeRestriction> parseGadtConstraint
(String argName, TypeMirror paramType, List<TypeVariable> adtTypeVariables) private DeriveResult
<List<DataArgument>> validateFieldTypeUniformity
(DataConstruction construction)
-
Field Details
-
types
-
elements
-
deriveUtils
-
-
Constructor Details
-
AdtParser
AdtParser(DeriveUtils deriveUtils)
-
-
Method Details
-
parseAlgebraicDataType
DeriveResult<AlgebraicDataType> parseAlgebraicDataType(TypeElement adtTypeElement, DeriveConfig deriveConfig) -
validateFieldTypeUniformity
-
isEqualHashcodeToString
-
parseDataConstruction
private DeriveResult<DataConstruction> parseDataConstruction(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, ExecutableElement adtAcceptMethod, TypeVariable adtAcceptMethodReturnType) -
methodTypeVariables
-
parseDataConstructionOneArg
private DeriveResult<DataConstruction> parseDataConstructionOneArg(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, VariableElement visitorArg, DeclaredType visitorType) -
parseDataConstructionMultipleAgs
private DeriveResult<DataConstruction> parseDataConstructionMultipleAgs(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeVariables, List<P2<VariableElement, DeclaredType>> caseHandlers) -
parseDataConstructor
private DeriveResult<DataConstructor> parseDataConstructor(DeclaredType adtDeclaredType, List<TypeVariable> adtTypeParameters, DataDeconstructor deconstructor, int index) -
fieldNamesAnnotation
-
parseGadtConstraint
private Optional<TypeRestriction> parseGadtConstraint(String argName, TypeMirror paramType, List<TypeVariable> adtTypeVariables)
-