Class CallbackFlowModel

java.lang.Object
org.openrewrite.analysis.dataflow.CallbackFlowModel

public class CallbackFlowModel extends Object
A higher-order ("lambda call") flow model derived from a CodeQL-style summary whose access path references a functional argument's parameter or return value. Mirrors CodeQL's lambdaCall/lambdaCreation: when a method is invoked with a lambda (or anonymous functional implementation) argument, data can flow into that lambda's parameter or out of its return value.
  • CallbackFlowModel.Direction.INTO: data flows from the other position of the call into parameter parameter of the lambda passed as argument callbackArgument (e.g. Iterable.forEach: Argument[-1] -> Argument[0].Parameter[0]).
  • CallbackFlowModel.Direction.OUT: data flows from the return value of the lambda passed as argument callbackArgument to the other position of the call (e.g. Map.computeIfAbsent: Argument[1].ReturnValue -> ReturnValue).
  • Constructor Details

    • CallbackFlowModel

      public CallbackFlowModel()