Commit Graph

97 Commits

Author SHA1 Message Date
Taus
c5360ba46c Python: Fix bad join in method call order computation
This join had badness 1127 on the project FiacreT/M-moire, producing ~31
million tuples in order to end up with only ~27k tuples later in the
pipeline. With the fix, we reduce this by roughly the full 31 million
(the new materialised helper predicate accounting for roughly 130k
tuples on its own).

Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2026-03-09 13:09:29 +00:00
Taus
6113d4be9e Python: Fix test issues
Fixes the test failures that arose from making `ExtractedArgumentNode`
local.

For the consistency checks, we now explicitly exclude the
`ExtractedArgumentNode`s (now much more plentiful due to the
overapproximation) that don't have a corresponding `getCallArg` tuple.

For various queries/tests using `instanceof ArgumentNode`, we instead us
`isArgumentNode`, which explicitly filters out the ones for which
`isArgumentOf` doesn't hold (which, again, is the case for most of the
nodes in the overapproximation).
2026-01-30 12:50:25 +00:00
Taus
1b519384d7 Merge pull request #20739 from github/tausbn/python-remove-top-level-points-to-imports
Python: Hide points-to imports in `python.qll`
2025-12-05 14:24:41 +01:00
Felicity Chapman
caf6b950ac Remove trailing periods from @name metadata in query files
Fixed 73 .ql query files where the @name metadata contained an ending period.
This ensures consistency with the CodeQL query metadata style guidelines.
2025-11-26 14:29:51 +00:00
Taus
5b63b4957c Python: Fix query tests
Mostly just adding `private import LegacyPointsTo`. Sometimes getting
rid of other imports that are superceded by that module.
2025-11-26 12:30:30 +00:00
Henry Mercer
b737bccb07 Python: Fix "be be" typos in qhelp 2025-10-14 11:33:24 +01:00
Michael Nebel
7c0aa78e39 Python: Add many medium precision queries to the code-quality-extended suite. 2025-09-10 16:06:38 +02:00
Joe Farebrother
cd6a151d9b Add missing predicate + update test output 2025-09-03 09:48:07 +01:00
Joe Farebrother
2dcf3c7c45 Remove erronous private 2025-09-02 22:16:41 +01:00
Joe Farebrother
f7097136f1 Rank multiple calls so only the first 2 calls are alerted 2025-09-01 16:23:42 +01:00
Joe Farebrother
8545c7d36f Fix doc typo 2025-09-01 15:12:52 +01:00
Joe Farebrother
8c9c66c002 Fix typo in example 2025-09-01 15:12:52 +01:00
Joe Farebrother
ba68fe9a0f Adress review suggestions - cleanups 2025-09-01 15:12:52 +01:00
Joe Farebrother
fb0380bfbc Inline locationBefore 2025-09-01 15:12:52 +01:00
Joe Farebrother
cc486ddb08 Remove tostring 2025-09-01 15:12:51 +01:00
Joe Farebrother
72df584e9b Update integration test outout and fix qhelp 2025-09-01 15:12:51 +01:00
Joe Farebrother
c9dc54abf8 Fix typos 2025-09-01 15:11:59 +01:00
Joe Farebrother
5992dc3b0a Add qldoc 2025-09-01 15:11:59 +01:00
Joe Farebrother
ba8658491a Update qhelp + alert messages 2025-09-01 14:11:01 +01:00
Joe Farebrother
86bb0e8af2 qhelp: move examples to subfolder 2025-09-01 14:10:58 +01:00
Joe Farebrother
b4b20d7d3f Update multiple calls queries to include call targets in alert message 2025-09-01 14:10:53 +01:00
Joe Farebrother
18b949c0a9 Remove case excluding classes with a __new__ method; as it doesn't make much sense (__init__ is still called anyway) 2025-09-01 14:10:50 +01:00
Joe Farebrother
c9932e187a Update tests for calls to init + fixes 2025-09-01 14:10:44 +01:00
Joe Farebrother
9ac95266c7 Fixes 2025-09-01 14:10:41 +01:00
Joe Farebrother
3c74e12b9c Change implenetation of missing calls to use getASuperCallTarget, and change alerts to alert on the class and provide clearer information, using optional location links. 2025-09-01 14:10:39 +01:00
Joe Farebrother
99a05ed5a4 Update test outputs + fix semantics 2025-09-01 14:10:36 +01:00
Joe Farebrother
45b5efad25 Fix FPs and typo 2025-09-01 14:10:30 +01:00
Joe Farebrother
4f63528844 Update alert messages 2025-09-01 14:10:25 +01:00
Joe Farebrother
d0daacd17e Modernize multple calls to init/del 2025-09-01 14:10:22 +01:00
Joe Farebrother
a02016a95f Add missing call to del 2025-09-01 14:10:17 +01:00
Joe Farebrother
38af3ac925 Update missing call to init 2025-09-01 14:10:14 +01:00
Joe Farebrother
bea8502cc5 Move missing/multiple calls to init/del queries to folder 2025-09-01 14:10:11 +01:00
Joe Farebrother
7ef2b01119 Merge pull request #20142 from joefarebrother/python-qual-subclass-shadow
Python: Modernise Superclass attribute shadows subclass method query
2025-08-28 13:40:26 +01:00
Joe Farebrother
2c6b2df7cc Update python/ql/src/Classes/SubclassShadowing/SubclassShadowing.qhelp
Co-authored-by: Taus <tausbn@github.com>
2025-08-27 13:20:54 +01:00
Joe Farebrother
79d1deb28d Update python/ql/src/Classes/SubclassShadowing/SubclassShadowing.ql
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-31 06:05:48 +01:00
Joe Farebrother
71a6b22815 Update python/ql/src/Classes/SubclassShadowing/examples/SubclassShadowingBad.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-31 06:05:25 +01:00
Joe Farebrother
63577f0cca Add extra example 2025-07-30 15:52:26 +01:00
Joe Farebrother
2516f9452e Move to subfolder 2025-07-30 15:17:19 +01:00
Joe Farebrother
34317d2d4a Update documentation 2025-07-30 13:56:28 +01:00
Joe Farebrother
796a6060b2 Exclude setters and update tests 2025-07-30 13:56:05 +01:00
Joe Farebrother
af94ebe1fc Modernize attribute shadows subclass, Add cases for properties 2025-07-30 13:55:11 +01:00
Joe Farebrother
f784bb0a35 Fix qldoc errors + typos 2025-07-14 14:26:49 +01:00
Joe Farebrother
ea48fcca8f Update doc for equalsNotEquals 2025-07-14 10:49:28 +01:00
Joe Farebrother
58f503de38 Update docs for incomplete ordering + inconsistent hashing 2025-07-11 23:08:50 +01:00
Joe Farebrother
843a6c8012 Remove total order check from equals not equals (doesn't make sense there; total order doesn't define eq or ne methods at all) 2025-07-11 15:12:59 +01:00
Joe Farebrother
083d258585 Add/update unit tests 2025-07-11 15:10:45 +01:00
Joe Farebrother
a687b60af9 Modernise equals-hash-mismatch 2025-07-09 14:14:38 +01:00
Joe Farebrother
eb1b5a35d7 Modernize inconsistent equality 2025-07-09 14:14:30 +01:00
Joe Farebrother
4c5c4e06c3 Move inconsistentEquality and equals-hash-mismatch to subfolder 2025-07-09 14:14:26 +01:00
Joe Farebrother
e71af8fd6d Move to subfolder 2025-07-09 14:14:22 +01:00