Jeroen Ketema
b5d3d95e72
Merge pull request #21037 from jketema/swift-6.2.3
...
Swift: Update to Swift 6.2.3
2025-12-19 10:21:40 +01:00
Simon Friis Vindum
dde845e92f
Rust: Refactor type inference to use new TypeItem class
2025-12-18 16:08:27 +01:00
Tom Hvitved
27874caf14
Merge pull request #20973 from hvitved/rust/type-inference-distinguish-mut-ref
...
Rust: Distinguish `&mut T` from `&T` in type inference
2025-12-18 15:59:40 +01:00
Jeroen Ketema
ed7854cc0d
Swift: Update LFS artifacts
2025-12-18 15:45:35 +01:00
Jeroen Ketema
64ee0d3b9d
Swift: Add change note
2025-12-18 15:43:33 +01:00
Asger F
f169251a0c
Merge pull request #20668 from knewbury01/knewbury01/add-react-useref-step
...
Add React missing useRef related constructs
2025-12-18 14:20:41 +01:00
Taus
6b03130755
Python: Fix bad join in import_points_to
2025-12-18 12:03:40 +00:00
Tom Hvitved
47d0863bc5
Merge pull request #21038 from github/path-combine-name-desc-update
...
Clarify Path.Combine call behavior
2025-12-18 12:54:38 +01:00
Michael Nebel
1817f9cdf7
C#: Add change-note.
2025-12-18 12:51:04 +01:00
Michael Nebel
44c9c58b48
C#: Add implicit span conversion test case.
2025-12-18 12:51:02 +01:00
Tom Hvitved
aae6cd93a2
Address review comments
2025-12-18 12:47:43 +01:00
Tom Hvitved
3c6a757c3e
Rust: Distinguish &mut T from &T in type inference
2025-12-18 12:47:42 +01:00
Asger F
806fcb2a15
Merge branch 'main' into knewbury01/add-react-useref-step
2025-12-18 12:10:10 +01:00
Michael Nebel
119ecff3b7
C#: Implicit span conversion.
2025-12-18 11:59:18 +01:00
Simon Friis Vindum
da99bbf6a6
Merge pull request #21059 from paldepind/rust/adt-class
...
Rust: Improve and rename `Adt` class
2025-12-18 10:41:11 +01:00
Simon Friis Vindum
96a986228d
Rust: Revert accidental changes
2025-12-18 09:04:07 +01:00
Jon Janego
a3c0082ac7
Update PathCombine.expected
2025-12-17 09:53:07 -06:00
Jon Janego
425d62cfd6
Update PathCombine metadata for clarity
2025-12-17 09:50:11 -06:00
Tom Hvitved
98dc4390ea
Merge pull request #21060 from hvitved/shared/unbound-list
...
Shared: Add library for unbound lists
2025-12-17 16:20:40 +01:00
Jon Janego
e36b602743
Enhance PathCombine.ql metadata details
2025-12-17 09:16:56 -06:00
Jon Janego
7423f6f99b
Fix typo in warning message for Path.Combine
2025-12-17 09:16:05 -06:00
Simon Friis Vindum
9e8735f84c
Merge pull request #20878 from paldepind/rust/axum-model
...
Rust: Add models for Axum
2025-12-17 15:47:28 +01:00
Tom Hvitved
47e375f6e4
Merge pull request #21057 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-12-17 15:34:45 +01:00
Tom Hvitved
adfaefd1e6
Merge pull request #21043 from hvitved/rust/type-inference-trait-bounds-overlap
...
Rust: Fix candidate receiver type calculation for trait bounds
2025-12-17 15:31:00 +01:00
Simon Friis Vindum
8564c1f458
Rust: Add change note
2025-12-17 14:50:50 +01:00
Simon Friis Vindum
97fd70e4f4
Rust: Accept change to expected file
2025-12-17 14:19:19 +01:00
Simon Friis Vindum
f1364caaa9
Rust: Add upgrade and downgrade scripts
2025-12-17 14:19:18 +01:00
Simon Friis Vindum
b64809cbd3
Rust: Adapt QL to AST changes
2025-12-17 14:19:16 +01:00
Tom Hvitved
b6cda4a29b
Update shared/util/codeql/util/UnboundList.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-17 13:44:47 +01:00
Tom Hvitved
08339fe0df
Shared: Add library for unbound lists
2025-12-17 13:13:39 +01:00
Tom Hvitved
5c604fce48
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate TypeInference::MethodResolution::MethodCall.getTrait/0#dispred#fc13ba6e@914858bt with tuple counts:
153112 ~2% {2} r1 = SCAN `Operation::Operation.isOverloaded/3#f0e64084` OUTPUT In.0, In.1
153112 ~2% {2} | STREAM DEDUP
18807 ~0% {2} r2 = JOIN `TypeInference::getCallExprTraitQualifier/1#c084fe9f` WITH TypeInference::MethodResolution::MethodCallCallExpr#6eae461f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
65859035 ~3% {3} r3 = JOIN `_IndexExpr::Generated::IndexExpr#9975e37a_TypeInference::MethodResolution::MethodCallIndexExpr.isInM__#shared` WITH Trait::Generated::Trait#ecf50173 CARTESIAN PRODUCT OUTPUT Rhs.0, _, Lhs.0
65859035 ~0% {3} | REWRITE WITH Out.1 := "core::ops::index::Index"
11191 ~0% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
671 ~0% {1} r4 = JOIN IndexExpr::Generated::IndexExpr#9975e37a WITH `TypeInference::MethodResolution::MethodCallIndexExpr.isInMutableContext/0#dispred#8c8ad425` ON FIRST 1 OUTPUT Lhs.0
3948835 ~2% {3} | JOIN WITH Trait::Generated::Trait#ecf50173 CARTESIAN PRODUCT OUTPUT Rhs.0, _, Lhs.0
3948835 ~2% {3} | REWRITE WITH Out.1 := "core::ops::index::IndexMut"
671 ~1% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
183781 ~0% {2} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
After
```
Evaluated relational algebra for predicate TypeInference::MethodResolution::MethodCall.getTrait/0#dispred#fc13ba6e@1b4a55e3 with tuple counts:
153112 ~2% {2} r1 = SCAN `Operation::Operation.isOverloaded/3#f0e64084` OUTPUT In.0, In.1
153112 ~2% {2} | STREAM DEDUP
11191 ~0% {2} r2 = JOIN `_IndexExpr::Generated::IndexExpr#9975e37a_TypeInference::MethodResolution::MethodCallIndexExpr.isInM__#shared` WITH Stdlib::IndexTrait#e80543a5 CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0
18807 ~0% {2} r3 = JOIN `TypeInference::getCallExprTraitQualifier/1#c084fe9f` WITH TypeInference::MethodResolution::MethodCallCallExpr#6eae461f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
671 ~0% {1} r4 = JOIN IndexExpr::Generated::IndexExpr#9975e37a WITH `TypeInference::MethodResolution::MethodCallIndexExpr.isInMutableContext/0#dispred#8c8ad425` ON FIRST 1 OUTPUT Lhs.0
671 ~1% {2} | JOIN WITH Stdlib::IndexMutTrait#4d6c31bd CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0
183781 ~0% {2} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
2025-12-17 11:52:28 +01:00
Simon Friis Vindum
dd02ac3964
Rust: Update generated files
2025-12-17 11:13:13 +01:00
Simon Friis Vindum
ca6c054256
Rust: Rename Adt class and lift common predicates to it
2025-12-17 11:13:11 +01:00
Simon Friis Vindum
22bc924c26
Rust: Apply Black formatter to annotations.py
2025-12-17 11:13:10 +01:00
Tom Hvitved
eb56cbd358
Rust: Fix candidate receiver type calculation for trait bounds
2025-12-17 11:06:27 +01:00
Tom Hvitved
3104adbe77
Rust: Add type inference test
2025-12-17 11:06:22 +01:00
Tom Hvitved
802c465b31
Merge pull request #21027 from hvitved/rust/type-inference-matching-specialization
...
Rust: Also use specialized types when inferring types for calls
2025-12-17 11:03:44 +01:00
Tom Hvitved
fe0ce7a492
Address review comments
2025-12-17 10:35:28 +01:00
Jeroen Ketema
a04b10cb86
Swift: Fix dataset check errors by not referring to unavailable decls
...
Test
Test
Test
Test
Test
Test
2025-12-17 10:14:58 +01:00
Michael Nebel
8eddc71e0e
Merge pull request #21016 from michaelnebel/csharp/slnx
...
C#: Support `.slnx.` solution files.
2025-12-17 09:27:11 +01:00
Taus
4d45b5839d
Python: Add change note
2025-12-16 23:57:58 +01:00
Taus
b9616eb639
Python: Add stats
...
Not actually based on any measurements, just the usual 100/1000 stuff.
2025-12-16 23:57:58 +01:00
Taus
82c629ada8
Python: Add up-/downgrade scripts for template literals
...
We do the usual thing. Downgrade scripts remove the relevant relations;
upgrade scripts do nothing.
2025-12-16 23:57:58 +01:00
Taus
47c967a06c
Python: Bump extractor version
2025-12-16 23:57:58 +01:00
Taus
414e689291
Python: Add AST node wrappers
2025-12-16 23:57:58 +01:00
Taus
652c335d30
Python: Regenerate AST and dbscheme files
2025-12-16 23:57:58 +01:00
Taus
28e733e335
Python: Support template strings in rest of extractor
...
Adds three new AST nodes to the mix:
- `TemplateString` represents a t-string in Python 3.14
- `TemplateStringPart` represents one of the string constituents of a
t-string. (The interpolated expressions are represented as `Expr` nodes,
just like f-strings.)
- `JoinedTemplateString` represents an implicit concatenation of
template strings.
Importantly, we _completely avoid_ the complicated construction we
currently do for format strings (as well as the confusing nomenclature).
No extra injection of empty strings (so that a template string is a
strict alternation of strings and expressions). A `JoinedTemplateString`
simply has a list of template string children, and a `TemplateString`
has a list of "values" which may be either `Expr` or
`TemplateStringPart` nodes.
If we ever find that we actually want the more complicated interface for
these strings, then I would much rather we reconstruct this inside of QL
rather than in the parser.
2025-12-16 23:57:58 +01:00
Taus
cd7ae34380
Python: Regenerate parser files
2025-12-16 23:57:58 +01:00
Taus
7768ebe8b8
Python: Add parser support for template strings
...
- Extends the scanner with a new token kind representing the start of a
template string. This is used to distinguish template strings from
regular strings (because only a template string will start with a
`_template_string_start` external token).
- Cleans up the logic surrounding interpolations (and the method names)
so that format strings and template strings behave the same in this
case.
Finally, we add two new node types in the tree-sitter grammar:
- `template_string` behaves like format strings, but is a distinct type
(mainly so that an implicit concatenation between template strings and
regular strings becomes a syntax error).
- `concatenated_template_string` is the counterpart of
`concatenated_string`.
However, internally, the string parts of a template strings are just the
same `string_content` nodes that are used in regular format strings. We
will disambiguate these inside `tsg-python`.
2025-12-16 23:57:58 +01:00
Jon Janego
576f270753
Update PathCombine.ql
2025-12-16 16:39:06 -06:00