`LangkitRoot` nodes now define modules, so they must be treated as
declarations for these modules. This is necessary for the semantic
analysis to allow named references to Lkt modules.
Currently, the order of items returned by `LktNode.p_complete` is not
significant and depends deeply on implementation details. Sort its
result so that baselines are more resilient to changes in the
implementation of completion.
Tests are not supposed to write outside of their working space, so dune
should not use a cache in the home directory: because of this, OCaml
tests currently fail when the Secure Control Plane is enabled. Disable
the Dune Cache to avoid this.
Introduce the testsuite `--with-langkit-python` option so that it is
possible to have:
* one interpreter with the e3 distribution (to run the testsuite),
* one interpreter with Langkit installed (to run lkm and the various
scripts using Langkit modules),
* one bare interpreter to import Langkit-generated libraries.
This commit is a "backport" of the recent changes in the LKQL pattern
syntax to the lkt pattern syntax.
Unused features, deprecated constructs where removed and the parse-tree
was flattened to simplify lowering.
See langkit-query-language#597 and langkit-query-language#596 for more
details.