@@ -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 predicate or class . A binding set
394
+ is a subset of a predicate's or class body 's arguments such that, if those arguments are constrained to a
395
+ finite set of values, then the predicate or class 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 predicate, each variable must be an argument of the predicate, possibly including ``this ``
401
+ (for characteristic predicates and member predicates) and ``result `` (for predicates that return a result).
402
+ For more information, see ":ref: `predicate-binding `."
403
+ - When you annotate a class, each variable must be ``this `` or a field in the class.
404
+ Binding sets for classes are supported from release 2.3.0 of the CodeQL CLI, and release 1.26 of LGTM Enterprise.
403
405
404
406
.. Links to use in substitutions
405
407
0 commit comments