Skip to content

Commit a8ccc8d

Browse files
committed
Java: Update MaD internal documentation.
1 parent fc66b6e commit a8ccc8d

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,24 @@
3535
* or method, or a parameter.
3636
* 7. The `input` column specifies how data enters the element selected by the
3737
* first 6 columns, and the `output` column specifies how data leaves the
38-
* element selected by the first 6 columns. An `input` can be either "",
39-
* "Argument[n]", "Argument[n1..n2]", "ReturnValue":
38+
* element selected by the first 6 columns. An `input` can be a dot separated
39+
* path consisting of either "", "Argument[n]", "Argument[n1..n2]",
40+
* "ReturnValue", "Element", "WithoutElement", or "WithElement":
4041
* - "": Selects a write to the selected element in case this is a field.
4142
* - "Argument[n]": Selects an argument in a call to the selected element.
4243
* The arguments are zero-indexed, and `this` specifies the qualifier.
4344
* - "Argument[n1..n2]": Similar to "Argument[n]" but select any argument in
4445
* the given range. The range is inclusive at both ends.
4546
* - "ReturnValue": Selects a value being returned by the selected element.
4647
* This requires that the selected element is a method with a body.
48+
* - "Element": Selects the collection elements of the selected element.
49+
* - "WithoutElement": Selects the selected element but without
50+
* its collection elements.
51+
* - "WithElement": Selects the collection elements of the selected element.
4752
*
48-
* An `output` can be either "", "Argument[n]", "Argument[n1..n2]", "Parameter",
49-
* "Parameter[n]", "Parameter[n1..n2]", or "ReturnValue":
53+
* An `output` can be can be a dot separated path consisting of either "",
54+
* "Argument[n]", "Argument[n1..n2]", "Parameter", "Parameter[n]",
55+
* "Parameter[n1..n2]", "ReturnValue", or "Element":
5056
* - "": Selects a read of a selected field, or a selected parameter.
5157
* - "Argument[n]": Selects the post-update value of an argument in a call to the
5258
* selected element. That is, the value of the argument after the call returns.
@@ -61,6 +67,7 @@
6167
* - "Parameter[n1..n2]": Similar to "Parameter[n]" but selects any parameter
6268
* in the given range. The range is inclusive at both ends.
6369
* - "ReturnValue": Selects the return value of a call to the selected element.
70+
* - "Element": Selects the collection elements of the selected element.
6471
* 8. The `kind` column is a tag that can be referenced from QL to determine to
6572
* which classes the interpreted elements should be added. For example, for
6673
* sources "remote" indicates a default remote flow source, and for summaries

0 commit comments

Comments
 (0)