|
11 | 11 | * `package; type; subtypes; name; signature; ext; input; kind; provenance` |
12 | 12 | * - Summaries: |
13 | 13 | * `package; type; subtypes; name; signature; ext; input; output; kind; provenance` |
| 14 | + * - Barriers: |
| 15 | + * `package; type; subtypes; name; signature; ext; output; kind; provenance` |
| 16 | + * - BarrierGuards: |
| 17 | + * `package; type; subtypes; name; signature; ext; input; acceptingvalue; kind; provenance` |
14 | 18 | * - Neutrals: |
15 | 19 | * `package; type; name; signature; kind; provenance` |
16 | 20 | * A neutral is used to indicate that a callable is neutral with respect to flow (no summary), source (is not a source) or sink (is not a sink). |
|
69 | 73 | * in the given range. The range is inclusive at both ends. |
70 | 74 | * - "ReturnValue": Selects the return value of a call to the selected element. |
71 | 75 | * - "Element": Selects the collection elements of the selected element. |
72 | | - * 8. The `kind` column is a tag that can be referenced from QL to determine to |
| 76 | + * 8. The `acceptingvalue` column of barrier guard models specifies the condition |
| 77 | + * under which the guard accepts or blocks flow. It can be one of "true" or |
| 78 | + * "false", "no-exception", "not-zero", "null", "not-null". |
| 79 | + * 9. The `kind` column is a tag that can be referenced from QL to determine to |
73 | 80 | * which classes the interpreted elements should be added. For example, for |
74 | 81 | * sources "remote" indicates a default remote flow source, and for summaries |
75 | 82 | * "taint" indicates a default additional taint step and "value" indicates a |
76 | 83 | * globally applicable value-preserving step. For neutrals the kind can be `summary`, |
77 | 84 | * `source` or `sink` to indicate that the neutral is neutral with respect to |
78 | 85 | * flow (no summary), source (is not a source) or sink (is not a sink). |
79 | | - * 9. The `provenance` column is a tag to indicate the origin and verification of a model. |
| 86 | + * 10. The `provenance` column is a tag to indicate the origin and verification of a model. |
80 | 87 | * The format is {origin}-{verification} or just "manual" where the origin describes |
81 | 88 | * the origin of the model and verification describes how the model has been verified. |
82 | 89 | * Some examples are: |
|
0 commit comments