@@ -385,21 +385,23 @@ For more information, see ":ref:`monotonic-aggregates`."
385
385
Binding sets
386
386
============
387
387
388
- **Available for **: |characteristic predicates |, |member predicates |, |non-member predicates |
388
+ **Available for **: |classes |, | characteristic predicates |, |member predicates |, |non-member predicates |
389
389
390
390
``bindingset[...] ``
391
391
-------------------
392
392
393
- You can use this annotation to explicitly state the binding sets for a predicate. A binding set
394
- is a subset of the predicate's arguments such that, if those arguments are constrained to a
395
- finite set of values, then the predicate itself is finite (that is, it evaluates to a finite
393
+ You can use this annotation to explicitly state the binding sets for a class or predicate. A binding set
394
+ is a subset of a class or predicate's arguments such that, if those arguments are constrained to a
395
+ finite set of values, then the class or predicate itself is finite (that is, it evaluates to a finite
396
396
set of tuples).
397
397
398
- The ``bindingset `` annotation takes a comma-separated list of variables. Each variable must be
399
- an argument of the predicate, possibly including ``this `` (for characteristic predicates and
400
- member predicates) and ``result `` (for predicates that return a result).
398
+ The ``bindingset `` annotation takes a comma-separated list of variables.
401
399
402
- For more information, see ":ref: `predicate-binding `."
400
+ - When you annotate a class, each variable must be ``this `` or a field in the class.
401
+ Binding sets for classes are supported from release 2.3.0 of the CodeQL CLI, and release 1.26 of LGTM Enterprise.
402
+ - When you annotate a predicate, each variable must be an argument of the predicate, possibly including ``this ``
403
+ (for characteristic predicates and member predicates) and ``result `` (for predicates that return a result).
404
+ For more information, see ":ref: `predicate-binding `."
403
405
404
406
.. Links to use in substitutions
405
407
0 commit comments