Class LombokSupport
java.lang.Object
org.checkerframework.checker.calledmethods.builder.LombokSupport
- All Implemented Interfaces:
BuilderFrameworkSupport
Lombok support for the Called Methods Checker. This class adds CalledMethods annotations to the
code generated by Lombok.
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe list of annotations that Lombok treats as non-null. -
Constructor Summary
ConstructorsConstructorDescriptionLombokSupport(CalledMethodsAnnotatedTypeFactory atypeFactory) Create a new LombokSupport. -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleBuilderBuildMethod(AnnotatedTypeMirror.AnnotatedExecutableType builderBuildType) Hook for adding annotations to a build() method (i.e.voidhandleConstructor(NewClassTree tree, AnnotatedTypeMirror type) Hook for adding annotations (e.g.,@CalledMethods) to a constructor call.voidhandleToBuilderMethod(AnnotatedTypeMirror.AnnotatedExecutableType toBuilderType) Hook for supporting a builder framework'stoBuilderroutine.booleanisBuilderBuildMethod(ExecutableElement candidateBuildElement) Returns true if a method is abuildmethod on aBuildertype for the builder framework.booleanisToBuilderMethod(ExecutableElement candidateToBuilderElement) Returns true if a method is atoBuildermethod on a type generated by the builder framework.
-
Field Details
-
NONNULL_ANNOTATIONS
The list of annotations that Lombok treats as non-null.
-
-
Constructor Details
-
LombokSupport
Create a new LombokSupport.- Parameters:
atypeFactory- the typechecker's type factory
-
-
Method Details
-
isBuilderBuildMethod
Description copied from interface:BuilderFrameworkSupportReturns true if a method is abuildmethod on aBuildertype for the builder framework.- Specified by:
isBuilderBuildMethodin interfaceBuilderFrameworkSupport- Parameters:
candidateBuildElement- a method- Returns:
trueifcandidateBuildElementis abuildmethod on aBuildertype for the builder framework
-
handleBuilderBuildMethod
Description copied from interface:BuilderFrameworkSupportHook for adding annotations to a build() method (i.e. a finalizer) generated by a builder framework.For
buildmethods onBuildertypes, implementations of this method should determine the required properties and add a correspondingCalledMethodsannotation to the type of the receiver parameter.- Specified by:
handleBuilderBuildMethodin interfaceBuilderFrameworkSupport- Parameters:
builderBuildType- the type of a method that is thebuildmethod (as determined byBuilderFrameworkSupport.isBuilderBuildMethod(ExecutableElement)) for a builder
-
isToBuilderMethod
Description copied from interface:BuilderFrameworkSupportReturns true if a method is atoBuildermethod on a type generated by the builder framework.- Specified by:
isToBuilderMethodin interfaceBuilderFrameworkSupport- Parameters:
candidateToBuilderElement- a method- Returns:
trueifcandidateToBuilderElementis atoBuildermethod on a type generated by the builder framework
-
handleToBuilderMethod
Description copied from interface:BuilderFrameworkSupportHook for supporting a builder framework'stoBuilderroutine. Typically, the returned Builder has had all of its required setters invoked. So, implementations of this method should add aCalledMethodsannotation capturing this fact.- Specified by:
handleToBuilderMethodin interfaceBuilderFrameworkSupport- Parameters:
toBuilderType- the type of a method that is thetoBuildermethod (as determined byBuilderFrameworkSupport.isToBuilderMethod(ExecutableElement)) for a type that has an associated builder
-
handleConstructor
Description copied from interface:BuilderFrameworkSupportHook for adding annotations (e.g.,@CalledMethods) to a constructor call.- Specified by:
handleConstructorin interfaceBuilderFrameworkSupport- Parameters:
tree- a constructor calltype- type of the call expression
-