Class AccessPath
java.lang.Object
org.openrewrite.analysis.dataflow.internal.csv.AccessPath
A structured representation of a CodeQL-style data-flow access path such as
Argument[0],
Argument[-1].Element, Argument[0].Parameter[1] or Argument[1].ReturnValue.
An access path is parsed into a AccessPath.Root (an argument position or the method return value) and
an optional callback component describing flow into a functional argument's parameter
(AccessPath.CallbackKind.PARAMETER) or out of a functional argument's return value
(AccessPath.CallbackKind.RETURN_VALUE). This is what enables higher-order ("lambda call") flow.
Content components (Element, ArrayElement, MapKey, MapValue,
Field[...], SyntheticField[...]) are collapsed onto their container: this
analysis is not content/field sensitive, so Argument[-1].Element is treated as
Argument[-1]. This is an over-approximation consistent with the engine's whole-value
granularity.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
AccessPath
public AccessPath()
-
-
Method Details
-
isCallback
public boolean isCallback() -
parse
-