Class DerivingProcessor
java.lang.Object
javax.annotation.processing.AbstractProcessor
org.derive4j.processor.DerivingProcessor
- All Implemented Interfaces:
Processor
@AutoService(Processor.class)
@SupportedAnnotationTypes("*")
public final class DerivingProcessor
extends AbstractProcessor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AdtParserprivate Derivatorprivate DeriveConfigBuilderprivate DeriveUtilsImplprivate final ArrayList<P2<String, RuntimeException>> private static final Set<ElementKind> Fields inherited from class AbstractProcessor
processingEnv -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionderivation(TypeElement element, DeriveConfig deriveConfig) private Map<com.squareup.javapoet.ClassName, P2<Stream<DeriveMessage>, DerivedCodeSpec>> findAllElements(Stream<? extends Element> elements) voidinit(ProcessingEnvironment processingEnv) loadDerivators(DeriveUtils deriveUtils) loadEextensions(DeriveUtils deriveUtils) private Function<DeriveMessage, IO<Unit>> mesagePrint(TypeElement element) private voidprintErrorMessage(String typeElement, Throwable error) booleanprocess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) private static Stringprivate com.squareup.javapoet.TypeSpec.BuildertoTypeSpec(DeriveConfig deriveConfig, com.squareup.javapoet.ClassName targetClassName, DerivedCodeSpec codeSpec) Methods inherited from class AbstractProcessor
getCompletions, getSupportedAnnotationTypes, getSupportedOptions, isInitialized
-
Field Details
-
scannedElementKinds
-
remainingElements
-
deriveUtils
-
builtinDerivator
-
adtParser
-
deriveConfigBuilder
-
extensions
-
derivators
-
-
Constructor Details
-
DerivingProcessor
public DerivingProcessor()
-
-
Method Details
-
getSupportedSourceVersion
- Specified by:
getSupportedSourceVersionin interfaceProcessor- Overrides:
getSupportedSourceVersionin classAbstractProcessor
-
init
- Specified by:
initin interfaceProcessor- Overrides:
initin classAbstractProcessor
-
process
- Specified by:
processin interfaceProcessor- Specified by:
processin classAbstractProcessor
-
derivation
-
mesagePrint
-
toTypeSpec
private com.squareup.javapoet.TypeSpec.Builder toTypeSpec(DeriveConfig deriveConfig, com.squareup.javapoet.ClassName targetClassName, DerivedCodeSpec codeSpec) -
derivedInstances
private Map<com.squareup.javapoet.ClassName, P2<Stream<DeriveMessage>, DerivedCodeSpec>> derivedInstances(AlgebraicDataType adt) -
printErrorMessage
-
loadEextensions
-
loadDerivators
-
findAllElements
-
showStackTrace
-