Class FluxFlatMapUsage
java.lang.Object
com.google.errorprone.bugpatterns.BugChecker
tech.picnic.errorprone.bugpatterns.FluxFlatMapUsage
- All Implemented Interfaces:
com.google.errorprone.bugpatterns.BugChecker.MemberReferenceTreeMatcher,com.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher,com.google.errorprone.matchers.Suppressible,Serializable
@AutoService(com.google.errorprone.bugpatterns.BugChecker.class)
public final class FluxFlatMapUsage
extends com.google.errorprone.bugpatterns.BugChecker
implements com.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher, com.google.errorprone.bugpatterns.BugChecker.MemberReferenceTreeMatcher
A
BugChecker which flags usages of Flux.flatMap(Function) and Flux.flatMapSequential(Function).
Flux.flatMap(Function) and Flux.flatMapSequential(Function) eagerly perform up
to Queues.SMALL_BUFFER_SIZE subscriptions. Additionally, the
former interleaves values as they are emitted, yielding nondeterministic results. In most cases
Flux.concatMap(Function) should be preferred, as it produces consistent results and
avoids potentially saturating the thread pool on which subscription happens. If
concatMap's single-subscription semantics are undesirable one should invoke a flatMap or
flatMapSequential overload with an explicit concurrency level.
NB: The rarely-used overload Flux.flatMap(Function, Function, Supplier) is not flagged
by this check because there is no clear alternative to point to.
- See Also:
-
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 Object,B extends 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 -
Method Summary
Modifier and TypeMethodDescriptioncom.google.errorprone.matchers.DescriptionmatchMemberReference(MemberReferenceTree tree, com.google.errorprone.VisitorState state) com.google.errorprone.matchers.DescriptionmatchMethodInvocation(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, suppressedRegionsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.errorprone.matchers.Suppressible
allNames, canonicalName, customSuppressionAnnotations, supportsSuppressWarnings, suppressedByAnyOf
-
Constructor Details
-
FluxFlatMapUsage
public FluxFlatMapUsage()
-
-
Method Details
-
matchMethodInvocation
public com.google.errorprone.matchers.Description matchMethodInvocation(MethodInvocationTree tree, com.google.errorprone.VisitorState state) - Specified by:
matchMethodInvocationin interfacecom.google.errorprone.bugpatterns.BugChecker.MethodInvocationTreeMatcher
-
matchMemberReference
public com.google.errorprone.matchers.Description matchMemberReference(MemberReferenceTree tree, com.google.errorprone.VisitorState state) - Specified by:
matchMemberReferencein interfacecom.google.errorprone.bugpatterns.BugChecker.MemberReferenceTreeMatcher
-