Class AdtParser


  • final class AdtParser
    extends java.lang.Object
    • Field Detail

      • types

        private final javax.lang.model.util.Types types
      • elements

        private final javax.lang.model.util.Elements elements
    • Constructor Detail

    • Method Detail

      • isEqualHashcodeToString

        private boolean isEqualHashcodeToString​(javax.lang.model.element.ExecutableElement executableElement)
      • parseDataConstruction

        private DeriveResult<DataConstruction> parseDataConstruction​(javax.lang.model.type.DeclaredType adtDeclaredType,
                                                                     java.util.List<javax.lang.model.type.TypeVariable> adtTypeVariables,
                                                                     javax.lang.model.element.ExecutableElement adtAcceptMethod,
                                                                     javax.lang.model.type.TypeVariable adtAcceptMethodReturnType)
      • methodTypeVariables

        private java.util.List<javax.lang.model.type.TypeVariable> methodTypeVariables​(javax.lang.model.type.ExecutableType method)
      • parseDataConstructionOneArg

        private DeriveResult<DataConstruction> parseDataConstructionOneArg​(javax.lang.model.type.DeclaredType adtDeclaredType,
                                                                           java.util.List<javax.lang.model.type.TypeVariable> adtTypeVariables,
                                                                           javax.lang.model.element.VariableElement visitorArg,
                                                                           javax.lang.model.type.DeclaredType visitorType)
      • parseDataConstructionMultipleAgs

        private DeriveResult<DataConstruction> parseDataConstructionMultipleAgs​(javax.lang.model.type.DeclaredType adtDeclaredType,
                                                                                java.util.List<javax.lang.model.type.TypeVariable> adtTypeVariables,
                                                                                java.util.List<P2<javax.lang.model.element.VariableElement,​javax.lang.model.type.DeclaredType>> caseHandlers)
      • parseDataConstructor

        private DeriveResult<DataConstructor> parseDataConstructor​(javax.lang.model.type.DeclaredType adtDeclaredType,
                                                                   java.util.List<javax.lang.model.type.TypeVariable> adtTypeParameters,
                                                                   DataDeconstructor deconstructor,
                                                                   int index)
      • fieldNamesAnnotation

        private java.util.Optional<javax.lang.model.element.AnnotationMirror> fieldNamesAnnotation​(javax.lang.model.element.VariableElement visitorArg)
      • parseGadtConstraint

        private java.util.Optional<TypeRestriction> parseGadtConstraint​(java.lang.String argName,
                                                                        javax.lang.model.type.TypeMirror paramType,
                                                                        java.util.List<javax.lang.model.type.TypeVariable> adtTypeVariables)