Interface DeriveUtils
- All Known Implementing Classes:
DeriveUtilsImpl
public interface DeriveUtils
-
Method Summary
Modifier and TypeMethodDescriptionallAbstractMethods(TypeElement typeElement) allAbstractMethods(DeclaredType declaredType) allStaticFields(TypeElement typeElement) allStaticMethods(TypeElement typeElement) asDeclaredType(TypeMirror typeMirror) asTypeElement(TypeMirror typeMirror) capitalize(CharSequence string) eitherModel(Flavour flavour) elements()findInstance(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeElement typeElement, DeclaredType declaredType, List<TypeElement> lowPriorityProviders) findTypeElement(com.squareup.javapoet.ClassName cn) function0Model(Flavour flavour) function1Model(Flavour flavour) generateInstance(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders, Function<InstanceUtils, DerivedCodeSpec> generateInstance) instanceInitializer(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeMirror type, List<TypeElement> lowPriorityProviders) booleanisWildcarded(TypeMirror typeMirror) com.squareup.javapoet.CodeBlocklambdaImpl(DataConstructor constructor, com.squareup.javapoet.CodeBlock impl) com.squareup.javapoet.CodeBlocklambdaImpl(DataConstructor constructor, String suffix, com.squareup.javapoet.CodeBlock impl) object()optionModel(Flavour flavour) com.squareup.javapoet.MethodSpec.BuilderoverrideMethodBuilder(ExecutableElement abstractMethod, DeclaredType declaredType) com.squareup.javapoet.CodeBlockparameterList(DataConstructor constructor) com.squareup.javapoet.CodeBlockparameterList(DataConstructor constructor, String suffix) resolve(DeclaredType declaredType, Function<TypeVariable, Optional<TypeMirror>> typeArgs) resolve(TypeMirror typeMirror, Function<TypeVariable, Optional<TypeMirror>> typeArgs) resolveFieldInstances(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders) com.squareup.javapoet.TypeNameresolveToTypeName(TypeMirror typeMirror, Function<TypeVariable, Optional<com.squareup.javapoet.TypeName>> typeArgs) samInterface(String qualifiedClassName) typeRestrictions(List<TypeRestriction> typeRestrictions) types()typeVariablesIn(TypeMirror typeMirror) uncapitalize(CharSequence string) unify(TypeMirror from, TypeMirror to)
-
Method Details
-
types
Types types() -
elements
Elements elements() -
resolveToTypeName
com.squareup.javapoet.TypeName resolveToTypeName(TypeMirror typeMirror, Function<TypeVariable, Optional<com.squareup.javapoet.TypeName>> typeArgs) -
typeRestrictions
Function<TypeVariable, Optional<TypeMirror>> typeRestrictions(List<TypeRestriction> typeRestrictions) -
resolve
-
unify
-
resolve
DeclaredType resolve(DeclaredType declaredType, Function<TypeVariable, Optional<TypeMirror>> typeArgs) -
overrideMethodBuilder
com.squareup.javapoet.MethodSpec.Builder overrideMethodBuilder(ExecutableElement abstractMethod, DeclaredType declaredType) -
typeVariablesIn
-
allAbstractMethods
-
allAbstractMethods
-
allStaticMethods
-
allStaticFields
-
asDeclaredType
-
asTypeElement
-
isWildcarded
-
object
ObjectModel object() -
samInterface
-
function0Model
-
function1Model
-
optionModel
-
eitherModel
-
uncapitalize
-
capitalize
-
findInstance
Optional<InstanceLocation> findInstance(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeElement typeElement, DeclaredType declaredType, List<TypeElement> lowPriorityProviders) -
instanceInitializer
DeriveResult<BoundExpression> instanceInitializer(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeMirror type, List<TypeElement> lowPriorityProviders) -
resolveFieldInstances
DeriveResult<FieldsTypeClassInstanceBindingMap> resolveFieldInstances(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders) -
lambdaImpl
com.squareup.javapoet.CodeBlock lambdaImpl(DataConstructor constructor, com.squareup.javapoet.CodeBlock impl) -
lambdaImpl
com.squareup.javapoet.CodeBlock lambdaImpl(DataConstructor constructor, String suffix, com.squareup.javapoet.CodeBlock impl) -
generateInstance
DeriveResult<DerivedCodeSpec> generateInstance(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders, Function<InstanceUtils, DerivedCodeSpec> generateInstance) -
parameterList
-
parameterList
-
findTypeElement
-