Class UndefinedEquals
java.lang.Object
com.google.errorprone.bugpatterns.BugChecker
com.google.errorprone.bugpatterns.AbstractEqualsHashCodeUsageChecker
com.google.errorprone.bugpatterns.UndefinedEquals
- All Implemented Interfaces:
BugChecker.MemberReferenceTreeMatcher, BugChecker.MethodInvocationTreeMatcher, BugChecker.NewClassTreeMatcher, Suppressible, Serializable
Flags types which do not have well-defined equals behavior.
- Author:
- eleanorh@google.com (Eleanor Harris)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractEqualsHashCodeUsageChecker
AbstractEqualsHashCodeUsageChecker.UsageNested classes/interfaces inherited from class BugChecker
BugChecker.AnnotatedTypeTreeMatcher, BugChecker.AnnotationTreeMatcher, BugChecker.ArrayAccessTreeMatcher, BugChecker.ArrayTypeTreeMatcher, BugChecker.AssertTreeMatcher, BugChecker.AssignmentTreeMatcher, BugChecker.BinaryTreeMatcher, BugChecker.BindingPatternTreeMatcher, BugChecker.BlockTreeMatcher, BugChecker.BreakTreeMatcher, BugChecker.CaseTreeMatcher, BugChecker.CatchTreeMatcher, BugChecker.ClassTreeMatcher, BugChecker.CompilationUnitTreeMatcher, BugChecker.CompoundAssignmentTreeMatcher, BugChecker.ConditionalExpressionTreeMatcher, BugChecker.ConstantCaseLabelTreeMatcher, BugChecker.ContinueTreeMatcher, BugChecker.DeconstructionPatternTreeMatcher, BugChecker.DefaultCaseLabelTreeMatcher, BugChecker.DoWhileLoopTreeMatcher, BugChecker.EmptyStatementTreeMatcher, BugChecker.EnhancedForLoopTreeMatcher, BugChecker.ExportsTreeMatcher, BugChecker.ExpressionStatementTreeMatcher, BugChecker.ForLoopTreeMatcher, BugChecker.IdentifierTreeMatcher, BugChecker.IfTreeMatcher, BugChecker.ImportTreeMatcher, BugChecker.InstanceOfTreeMatcher, BugChecker.IntersectionTypeTreeMatcher, BugChecker.LabeledStatementTreeMatcher, BugChecker.LambdaExpressionTreeMatcher, BugChecker.LiteralTreeMatcher, BugChecker.MemberReferenceTreeMatcher, BugChecker.MemberSelectTreeMatcher, BugChecker.MethodInvocationTreeMatcher, BugChecker.MethodTreeMatcher, BugChecker.ModifiersTreeMatcher, BugChecker.ModuleTreeMatcher, BugChecker.NewArrayTreeMatcher, BugChecker.NewClassTreeMatcher, BugChecker.OpensTreeMatcher, BugChecker.PackageTreeMatcher, BugChecker.ParameterizedTypeTreeMatcher, BugChecker.ParenthesizedTreeMatcher, BugChecker.PatternCaseLabelTreeMatcher, BugChecker.PrimitiveTypeTreeMatcher, BugChecker.ProvidesTreeMatcher, BugChecker.RequiresTreeMatcher, BugChecker.ReturnTreeMatcher, BugChecker.SuppressibleTreePathScanner<R,P>, BugChecker.SwitchExpressionTreeMatcher, BugChecker.SwitchTreeMatcher, BugChecker.SynchronizedTreeMatcher, BugChecker.ThrowTreeMatcher, BugChecker.TryTreeMatcher, BugChecker.TypeCastTreeMatcher, BugChecker.TypeParameterTreeMatcher, BugChecker.UnaryTreeMatcher, BugChecker.UnionTypeTreeMatcher, BugChecker.UsesTreeMatcher, BugChecker.VariableTreeMatcher, BugChecker.WhileLoopTreeMatcher, BugChecker.WildcardTreeMatcher, BugChecker.YieldTreeMatcher -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Optional<SuggestedFix> equalityFix(MethodInvocationTree tree, Tree receiver, Tree argument, VisitorState state) Returns a fix for anAbstractEqualsHashCodeUsageChecker.Usage.EQUALSorAbstractEqualsHashCodeUsageChecker.Usage.ASSERTIONfinding.problem(com.sun.tools.javac.code.Type type, AbstractEqualsHashCodeUsageChecker.Usage usage, VisitorState state) Returns a diagnostic message if code should not rely ontype'sequalsorhashCodein the given way.Methods inherited from class AbstractEqualsHashCodeUsageChecker
matchMemberReference, matchMethodInvocation, matchNewClassMethods inherited from class BugChecker
allNames, buildDescription, buildDescription, buildDescription, buildDescription, canonicalName, customSuppressionAnnotations, defaultSeverity, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, describeMatch, disableable, equals, hashCode, isSuppressed, isSuppressed, linkUrl, message, supportsSuppressWarnings, suppressedByAnyOf, suppressedRegionsMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Suppressible
allNames, canonicalName, customSuppressionAnnotations, supportsSuppressWarnings, suppressedByAnyOf
-
Constructor Details
-
UndefinedEquals
public UndefinedEquals()
-
-
Method Details
-
problem
protected Optional<String> problem(com.sun.tools.javac.code.Type type, AbstractEqualsHashCodeUsageChecker.Usage usage, VisitorState state) Description copied from class:AbstractEqualsHashCodeUsageCheckerReturns a diagnostic message if code should not rely ontype'sequalsorhashCodein the given way.- Specified by:
problemin classAbstractEqualsHashCodeUsageChecker
-
equalityFix
protected Optional<SuggestedFix> equalityFix(MethodInvocationTree tree, Tree receiver, Tree argument, VisitorState state) Description copied from class:AbstractEqualsHashCodeUsageCheckerReturns a fix for anAbstractEqualsHashCodeUsageChecker.Usage.EQUALSorAbstractEqualsHashCodeUsageChecker.Usage.ASSERTIONfinding.- Overrides:
equalityFixin classAbstractEqualsHashCodeUsageChecker
-