Martin Vogel
ab04546fa2
fix(resolver): a Perl code reference under an operator is USAGE
...
The dynamic lane made resolve_usages call every admitted Perl carrier a CALL_REFERENCE, through a language clause beside the comment saying composite expressions stay USAGE. So `$flag ? \&handler : \&alternate` got two CALL_REFERENCE edges, which call_reference_language_complex_contract forbids for every language with callable references: the value is one of several.
The carrier now says it, as in the other languages: perl_lsp.c leaves may_be_call_reference false under a conditional, a binary operator or a low-precedence logical operator, parentheses aside, and the clause is gone. `my $r = \&own`, a table entry and direct arguments stay CALL_REFERENCE. mojo has 37 such edges and none is composite. resolver_source_langs gets positive and negative rows for each form.
Tests corrected, because the rule is right and the rows were not:
- The registrar in both Perl fixtures was `sub accept`. accept is a builtin and only an import overrides one (perlsub), so the adapter was right to abstain and `CALLS refs.accept` was never genuine. `perl -c` on the old fixture says "Not enough arguments for accept"; with two arguments the builtin runs and the sub does not. It is now `sub submit`, same length, and those rows are required. builtin-not-overridden-by-a-sub keeps the decoy.
- The conditional's USAGE rows named `handler` without `\&`. The carrier and every other Perl row use the `\&handler` span, and the rows were never found, so nothing had checked them. Corrected and required.
- perl_exact_coderef_is_call_reference-1 is recovered and true: promoted.
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-11-02 21:22:52 +01:00
..
2026-11-02 21:22:52 +01:00
2026-10-09 02:55:23 +02:00
2026-11-02 21:22:52 +01:00
2026-10-25 20:24:31 +02:00
2026-04-01 23:22:44 +02:00
2026-03-15 19:26:12 +01:00
2026-05-30 18:26:44 +02:00
2026-09-14 06:11:03 +02:00
2026-10-29 02:50:03 +01:00
2026-10-01 00:10:39 +02:00
2026-11-02 18:09:45 +01:00
2026-11-02 18:09:45 +01:00
2026-10-06 02:44:56 +02:00
2026-10-06 02:44:56 +02:00
2026-10-29 05:01:23 +00:00
2026-10-09 02:55:23 +02:00
2026-10-09 02:55:23 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 18:07:27 +02:00
2026-11-01 20:36:07 +01:00
2026-10-18 21:21:37 +02:00
2026-11-01 20:36:07 +01:00
2026-10-09 02:55:23 +02:00
2026-10-29 02:50:03 +01:00
2026-10-10 18:20:13 +02:00
2026-10-09 02:55:23 +02:00
2026-10-10 11:34:47 +02:00
2026-10-13 18:33:40 +02:00
2026-10-10 15:43:40 +02:00
2026-10-10 18:20:13 +02:00
2026-10-11 12:43:35 +02:00
2026-11-02 18:09:12 +01:00
2026-09-04 09:49:57 +02:00
2026-08-20 10:23:48 +02:00
2026-11-02 18:09:45 +01:00
2026-09-02 09:22:37 -05:00
2026-11-01 19:07:44 +01:00
2026-10-29 02:50:03 +01:00
2026-10-20 19:27:42 +02:00
2026-11-01 20:22:54 +01:00
2026-10-25 18:20:22 +01:00
2026-11-02 18:09:22 +01:00
2026-11-02 18:09:45 +01:00
2026-11-01 14:09:10 +01:00
2026-10-23 15:44:24 +05:30
2026-10-13 00:31:19 +02:00
2026-11-01 20:22:54 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-08-26 22:51:29 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-06-01 18:28:36 +02:00
2026-06-01 18:28:36 +02:00
2026-08-28 21:30:06 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-07 10:46:21 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-07-23 18:40:22 +03:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-07 10:46:21 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-07 10:46:21 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-07 10:46:21 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-07-01 20:17:11 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-05-09 11:50:05 +02:00
2026-04-15 21:28:51 +02:00
2026-08-27 14:54:25 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-06-01 18:07:05 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-04-15 21:28:51 +02:00
2026-03-07 18:01:27 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-03-05 22:39:01 +01:00
2026-04-15 21:28:51 +02:00
2026-11-02 18:09:45 +01:00
2026-11-02 18:09:45 +01:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-11-02 18:09:22 +01:00
2026-10-06 02:44:56 +02:00
2026-07-09 14:09:39 -05:00
2026-04-01 23:22:44 +02:00
2026-03-15 19:26:12 +01:00
2026-07-11 19:09:43 -04:00
2026-07-11 19:09:43 -04:00
2026-10-11 02:08:58 +02:00
2026-10-28 04:48:12 +01:00
2026-10-28 04:48:12 +01:00
2026-10-31 21:34:07 +01:00
2026-10-25 22:14:52 +01:00
2026-10-25 22:14:52 +01:00
2026-10-11 02:08:58 +02:00
2026-11-01 21:33:49 +01:00
2026-10-26 01:46:33 +01:00
2026-10-06 02:44:56 +02:00
2026-10-06 02:44:56 +02:00
2026-09-25 19:15:43 +02:00
2026-09-25 19:15:43 +02:00
2026-10-13 16:28:45 +09:00
2026-10-13 16:28:45 +09:00
2026-03-05 22:39:01 +01:00
2026-08-06 16:06:43 +02:00
2026-08-06 16:06:43 +02:00