|
22 | 22 | * or the empty string if referring to the package itself.
|
23 | 23 | * It can also be a synthetic type name defined by a type definition (see type definitions below).
|
24 | 24 | * 3. The `path` column is a `.`-separated list of "access path tokens" to resolve, starting at the node selected by `package` and `type`.
|
25 |
| - * The possible access path tokens are: |
26 |
| - * - Member[x] : a property named `x`. May be a comma-separated list of named. |
| 25 | + * |
| 26 | + * Every language supports the following tokens: |
27 | 27 | * - Argument[n]: the n-th argument to a call. May be a range of form `x..y` (inclusive) and/or a comma-separated list.
|
28 | 28 | * Additionally, `N-1` refers to the last argument, `N-2` refers to the second-last, and so on.
|
29 | 29 | * - Parameter[n]: the n-th parameter of a callback. May be a range of form `x..y` (inclusive) and/or a comma-separated list.
|
30 | 30 | * - ReturnValue: the value returned by a function call
|
31 |
| - * - Instance: the value returned by a constructor call |
32 |
| - * - Awaited: the value from a resolved promise/future-like object |
33 | 31 | * - WithArity[n]: match a call with the given arity. May be a range of form `x..y` (inclusive) and/or a comma-separated list.
|
34 |
| - * - Other language-specific tokens mentioned in `ModelsAsData.qll`. |
| 32 | + * |
| 33 | + * The following tokens are common and should be implemented for languages where it makes sense: |
| 34 | + * - Member[x]: a member named `x`; exactly what a "member" is depends on the language. May be a comma-separated list of names. |
| 35 | + * - Instance: an instance of a class |
| 36 | + * - Subclass: a subclass of a class |
| 37 | + * - ArrayElement: an element of array |
| 38 | + * - Element: an element of a collection-like object |
| 39 | + * - MapKey: a key in map-like object |
| 40 | + * - MapValue: a value in a map-like object |
| 41 | + * - Awaited: the value from a resolved promise/future-like object |
| 42 | + * |
| 43 | + * For the time being, please consult `ApiGraphModelsSpecific.qll` to see which language-specific tokens are currently supported. |
| 44 | + * |
35 | 45 | * 4. The `input` and `output` columns specify how data enters and leaves the element selected by the
|
36 | 46 | * first `(package, type, path)` tuple. Both strings are `.`-separated access paths
|
37 | 47 | * of the same syntax as the `path` column.
|
|
0 commit comments