Chris Smowton
32416f0fdc
Add test for record-pattern instanceof
2023-11-30 11:24:00 +00:00
Chris Smowton
e41da3b10a
Add missing test Java files
2023-11-30 11:24:00 +00:00
Chris Smowton
5b734fe937
Pretty-print AST: handle instanceof with record pattern
2023-11-30 11:24:00 +00:00
Chris Smowton
f037030c26
Adapt instanceof CFG and DFG to general patterns
2023-11-30 11:24:00 +00:00
Chris Smowton
20b97af02f
Implement dataflow for record patterns
...
Strategy: there is now a regular flow step from an instance-of LHS / switch expr to the pattern, 0 or more read steps corresponding to record pattern destructors, and then finally a normal SSA def/use step connecting the binding patterns to their first uses.
2023-11-30 11:24:00 +00:00
Chris Smowton
05addde957
Adapt control-flow graph to record patterns
2023-11-30 11:24:00 +00:00
Chris Smowton
556feb31f0
Autoformat
2023-11-30 11:24:00 +00:00
Chris Smowton
936c0206ea
Adapt ancillary analyses to record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
daccd04087
Basic extraction of record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
293cc67494
Fix stringifying record fields
2023-11-30 11:23:59 +00:00
Chris Smowton
3cb01002dc
Add test for usage of qualified enum constants in switch
2023-11-30 11:23:59 +00:00
Chris Smowton
8406ee7ed5
Add test for a pattern-switch guard acting as a data-flow guard
2023-11-30 11:23:59 +00:00
Chris Smowton
144218e2f7
Implement switch CFG when there are mixed constant and pattern cases
2023-11-30 11:23:59 +00:00
Chris Smowton
54a89d6fef
Handle 'case null, default:'
2023-11-30 11:23:59 +00:00
Chris Smowton
9a450b09be
Account for pattern-cases in more places
2023-11-30 11:23:59 +00:00
Chris Smowton
2b16121638
CFG: Support guarded patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
ba0f3cf718
Add basic support for case guards
2023-11-30 11:23:59 +00:00
Chris Smowton
e94c5a772c
Check nullness pass knows pattern case variables can't be null
2023-11-30 11:23:59 +00:00
Chris Smowton
ca43b9603a
Fixup typeflow test
2023-11-30 11:23:59 +00:00
Chris Smowton
6b9aed21df
Nullness library: recognise switches with null checks
2023-11-30 11:23:58 +00:00
Chris Smowton
79b77ae805
Add AST test for switch with null case
2023-11-30 11:23:58 +00:00
Chris Smowton
05caffc189
Update printast expectation
2023-11-30 11:23:58 +00:00
Chris Smowton
30c5885966
Fix constant cases relating to enum types
2023-11-30 11:23:58 +00:00
Chris Smowton
b21aaa75bc
Type-flow: treat pattern-switch on an array index similar to instanceof
2023-11-30 11:23:58 +00:00
Chris Smowton
7dd4030f51
Pattern cases: support type-flow
2023-11-30 11:23:58 +00:00
Chris Smowton
a06ac42512
PrintAst: report pattern-cases similar to pattern-instanceof
2023-11-30 11:23:58 +00:00
Chris Smowton
b6622d2f5b
usesType: support pattern cases
2023-11-30 11:23:58 +00:00
Chris Smowton
0f434e7f08
Add test for dataflow vs. pattern-switch
2023-11-30 11:23:58 +00:00
Chris Smowton
6c990c2cf6
Add pattern-case support and generally debug switch CFGs
...
These were reasonably broken beforehand, due to not taking switch rules into account in enough places, and confusing the expression/statement switch rule distinction with the distinction between switch statements and expressions.
(For example, `switch(x) { 1 -> System.out.println("Hello world") ... }` is a statement, but has a rule expression).
2023-11-30 11:23:58 +00:00
Chris Smowton
f4b45fa511
Support switch cases with binding patterns
2023-11-30 11:23:58 +00:00
Mathias Vorreiter Pedersen
a7ef84f2d1
C++: Replace 'strictcount(...) = 1' with 'unique(...)'.
2023-11-30 11:20:00 +00:00
Jeroen Ketema
6d74743915
Add documentation note on not supporting Objective-C(++), C++/CLI, and C++/CX
2023-11-30 10:57:47 +01:00
Tamas Vajk
0cc94b3a46
C#: Prefer framework assemblies over arbitrary nuget equivalents
2023-11-30 10:54:19 +01:00
Robert Marsh
9ac46d4f9c
Swift: autoformat
2023-11-29 21:07:06 +00:00
Robert Marsh
f7e4fb0c65
Swift: respond to comments on keypath reordering
2023-11-29 20:31:48 +00:00
Chris Smowton
fefc02d650
Merge pull request #14950 from smowton/smowton/admin/empty-argfile-test
...
Java: Add test for empty argfile
2023-11-29 14:05:39 +00:00
Taus
754deda03e
Merge pull request #14946 from github/RasmusWL/list-python-3.12
...
Docs: List Python 3.12 as supported
2023-11-29 15:05:11 +01:00
Chris Smowton
e110db58f8
Add test for empty argfile
2023-11-29 12:51:22 +00:00
Rasmus Wriedt Larsen
76a6fb563d
Docs: List Python 3.12 as supported
...
Support was added in https://github.com/github/codeql/pull/14636
2023-11-29 11:22:27 +01:00
Mathias Vorreiter Pedersen
1f9e2c71ce
Merge pull request #14928 from MathiasVP/surprising-lifetimes-c_str
...
C++: Add a new query for calling `c_str` on temporary objects
2023-11-29 10:15:11 +00:00
Erik Krogh Kristensen
399872b719
Merge pull request #14943 from rafaelurben/patch-1
...
JS: Add django template urls as "save urls"
2023-11-29 11:10:16 +01:00
Mathias Vorreiter Pedersen
351caaccfe
C++: Add GOOD and BAD comments to qhelp examples.
2023-11-29 09:44:54 +00:00
Mathias Vorreiter Pedersen
8afd9288cb
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2023-11-29 09:36:29 +00:00
Rafael
1a05c2e704
Added Django test
2023-11-29 08:26:49 +01:00
Rafael
0a74a3a765
Update javascript/ql/src/change-notes/2023-11-28-django-urls.md
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2023-11-29 08:23:02 +01:00
Rafael
0b0c9e3e48
Create 2023-11-28-django-urls.md
2023-11-28 22:29:53 +01:00
Rafael
286e3951bf
Detect Django template URLs
...
Django URLs are currently not detected, but flask and nunjucks URL are. (See https://github.com/github/codeql/issues/12267 )
2023-11-28 22:22:07 +01:00
Felicity Chapman
d299ade765
Merge branch 'main' into fc-codeql-vs-code-12574
2023-11-28 20:42:20 +00:00
Felicity Chapman
298c6b5295
Merge pull request #14942 from github/codeql-cli-2.15.3
...
Mergeback post release changes from the `codeql-cli-2.15.3` branch to `main`
2023-11-28 20:41:43 +00:00
Felicity Chapman
47d00d1311
Update multiple models section for feedback
2023-11-28 19:59:31 +00:00