Package com.palantir.baseline.errorprone
Class ImmutablesBuilderMissingInitialization
- java.lang.Object
-
- com.google.errorprone.bugpatterns.BugChecker
-
- com.palantir.baseline.errorprone.ImmutablesBuilderMissingInitialization
-
- All Implemented Interfaces:
com.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher,com.google.errorprone.matchers.Suppressible,java.io.Serializable
@AutoService(com.google.errorprone.bugpatterns.BugChecker.class) public final class ImmutablesBuilderMissingInitialization extends com.google.errorprone.bugpatterns.BugChecker implements com.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcherChecks that all required fields in an immutables.org generated builder have been populated. To make it decidable, the implementation is limited to the common case where: the builder is constructed in place using new ImmutableType.Builder() or new Type.Builder() (where Type.Builder extends ImmutableType.Builder), or using a method that does nothing other than construct and return the builder; and the builder is never stored to a variable, so the builder only lives within a single statement. Builders that do not meet these conditions are assumed to populate all fields, and are ignored. Mandatory fields are determined by inspecting the generated builder class to find fields that have INIT_BIT_ constants, which are used by Immutables to track whether required fields have been initialized. Methods that end with the name of a field are assumed to initialize that field.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.errorprone.bugpatterns.BugChecker
com.google.errorprone.bugpatterns.BugChecker.AnnotatedTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.AnnotationTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ArrayAccessTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ArrayTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.AssertTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.AssignmentTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.BinaryTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.BlockTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.BreakTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.CaseTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.CatchTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ClassTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.CompilationUnitTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.CompoundAssignmentTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ConditionalExpressionTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ContinueTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.DoWhileLoopTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.EmptyStatementTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.EnhancedForLoopTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ExpressionStatementTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ForLoopTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.IdentifierTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.IfTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ImportTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.InstanceOfTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.IntersectionTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.LabeledStatementTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.LambdaExpressionTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.LiteralTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.MemberReferenceTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.MemberSelectTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.MethodTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ModifiersTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.NewArrayTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.NewClassTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ParameterizedTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ParenthesizedTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.PrimitiveTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ReturnTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.SuppressibleTreePathScanner<A extends java.lang.Object,B extends java.lang.Object>, com.google.errorprone.bugpatterns.BugChecker.SwitchTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.SynchronizedTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.ThrowTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.TryTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.TypeCastTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.TypeParameterTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.UnaryTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.UnionTypeTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.VariableTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.WhileLoopTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.WildcardTreeMatcher
-
-
Constructor Summary
Constructors Constructor Description ImmutablesBuilderMissingInitialization()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.google.errorprone.matchers.DescriptionmatchMethodInvocation(com.sun.source.tree.MethodInvocationTree tree, com.google.errorprone.VisitorState state)-
Methods inherited from class com.google.errorprone.bugpatterns.BugChecker
allNames, buildDescription, buildDescription, buildDescription, canonicalName, customSuppressionAnnotations, defaultSeverity, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, disableable, equals, hashCode, isSuppressed, isSuppressed, isSuppressed, isSuppressed, linkUrl, message, supportsSuppressWarnings, suppressedByAnyOf, suppressedRegions
-
-
-
-
Method Detail
-
matchMethodInvocation
public com.google.errorprone.matchers.Description matchMethodInvocation(com.sun.source.tree.MethodInvocationTree tree, com.google.errorprone.VisitorState state)- Specified by:
matchMethodInvocationin interfacecom.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher
-
-