Class AbstractReturnValueIgnored

All Implemented Interfaces:
BugChecker.MemberReferenceTreeMatcher, BugChecker.MethodInvocationTreeMatcher, BugChecker.ReturnTreeMatcher, Suppressible, Serializable
Direct Known Subclasses:
CheckReturnValue, FutureReturnValueIgnored, IgnoredPureGetter, RectIntersectReturnValueIgnored, ReturnValueIgnored, RxReturnValueIgnored

public abstract class AbstractReturnValueIgnored
extends BugChecker
implements BugChecker.MethodInvocationTreeMatcher, BugChecker.MemberReferenceTreeMatcher, BugChecker.ReturnTreeMatcher
An abstract base class to match method invocations in which the return value is not used.
Author: (Eddie Aftandilian)
See Also:
Serialized Form
  • Constructor Details

    • AbstractReturnValueIgnored

      public AbstractReturnValueIgnored()
  • Method Details

    • matchMethodInvocation

      public Description matchMethodInvocation​(com.sun.source.tree.MethodInvocationTree methodInvocationTree, VisitorState state)
      Specified by:
      matchMethodInvocation in interface BugChecker.MethodInvocationTreeMatcher
    • matchMemberReference

      public Description matchMemberReference​(com.sun.source.tree.MemberReferenceTree tree, VisitorState state)
      Specified by:
      matchMemberReference in interface BugChecker.MemberReferenceTreeMatcher
    • specializedMatcher

      protected abstract Matcher<? super com.sun.source.tree.ExpressionTree> specializedMatcher()
      Match whatever additional conditions concrete subclasses want to match (a list of known side-effect-free methods, has a @CheckReturnValue annotation, etc.).
    • lostType

      protected Optional<> lostType​(VisitorState state)
      Check for occurrences of this type being lost, i.e. cast to Object.
    • lostTypeMessage

      protected String lostTypeMessage​(String returnedType, String declaredReturnType)
    • allowInExceptionThrowers

      protected boolean allowInExceptionThrowers()
      Override this to return false to forbid discarding return values in testers that are testing whether an exception is thrown.
    • describeReturnValueIgnored

      protected Description describeReturnValueIgnored​(com.sun.source.tree.MethodInvocationTree methodInvocationTree, VisitorState state)
      Fixes the error by assigning the result of the call to the receiver reference, or deleting the method call. Subclasses may override if they prefer a different description.
    • describeReturnValueIgnored

      protected Description describeReturnValueIgnored​(com.sun.source.tree.MemberReferenceTree memberReferenceTree, VisitorState state)
      Uses the default description for results ignored via a method reference. Subclasses may override if they prefer a different description.
    • getSubst

      public static void getSubst​( m, List<> from, List<> to)
    • matchReturn

      public Description matchReturn​(com.sun.source.tree.ReturnTree tree, VisitorState state)
      Returning a type from a lambda or method that returns Object loses the type information.
      Specified by:
      matchReturn in interface BugChecker.ReturnTreeMatcher