Commit Graph

82643 Commits

Author SHA1 Message Date
Taus
344535b559 Merge pull request #19672 from github/tausbn/python-support-type-annotations-in-call-graph
Python: Support type annotations in call graph
2025-07-11 16:44:10 +02:00
Geoffrey White
4778ef616a Rust: Add a test case for password_confirmation. 2025-07-11 15:43:31 +01:00
Tom Hvitved
88b4f971b5 Merge pull request #20027 from hvitved/rust/remove-resolves-as-item
Rust: Remove `Resolvable.resolvesAsItem`
2025-07-11 16:39:12 +02:00
Mathias Vorreiter Pedersen
1da42cb590 Merge pull request #20023 from MathiasVP/dataflow-for-functors
C++: Better dataflow for function objects
2025-07-11 15:14:27 +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
Arthur Baars
519905ee9e Rust: type inference: add test for closure argument 2025-07-11 15:59:43 +02:00
Arthur Baars
32e7a9d445 Rust: type inference: more pattern matching tests
Thanks to co-pilot for generating the examples
2025-07-11 15:55:45 +02:00
Taus
2f822cb0cd JavaScript: Add change note 2025-07-11 13:32:35 +00:00
Taus
43accc50cd JavaScript: Ignore outDirs that would exclude everything
In #19680 we added support for automatically ignoring files in the
`outDir` directory as specified in the TSconfig compiler options (as
these files were likely duplicates of `.ts` file we were already
scanning).

However, in some cases people put `outDir: "."` or even `outDir: ".."`
in their configuration, which had the side effect of excluding _all_
files, leading to a failed extraction.

With the changes in this PR, we now ignore any `outDir`s that are not
properly contained within the source root of the code being scanned.
This should prevent the files from being extracted, while still allowing
us to not double-scan files in, say, a `.github` directory, as seen in
some Actions workflows.
2025-07-11 13:28:59 +00:00
Mathias Vorreiter Pedersen
053a749e14 C++: Add change note. 2025-07-11 13:43:01 +01:00
Tom Hvitved
655b3de6bb Rust: Remove Resolvable.resolvesAsItem
Removes one more use of extractor-based resolution.
2025-07-11 14:41:41 +02:00
Mathias Vorreiter Pedersen
649c8831ec Merge pull request #20014 from jketema/wchar
C++: Do not alert on unreachable code in `cpp/incorrect-string-type-conversion`
2025-07-11 13:39:37 +01:00
Tom Hvitved
0a18db8960 Merge pull request #20020 from hvitved/rust/type-inference-pattern-matching
Rust: Type inference for pattern matching
2025-07-11 14:05:10 +02:00
Taus
c6c6a857df Python: Add tests
Also fixes an issue with the return type annotations that caused these
to not work properly.

Currently, annotated assignments don't work properly, due to the fact
that our flow relation doesn't consider flow going to the "type" part of
an annotated assignment. This means that in `x : Foo`, we do correctly
note that `x` is annotated with `Foo`, but we have no idea what `Foo`
is, since it has no incoming flow.

To fix this we should probably just extend the flow relation, but this
may need to be done with some care, so I have left it as future work.
2025-07-11 12:03:14 +00:00
Taus
2c45550a9f Python: Add change note
Co-authored-by: Napalys Klicius <napalys@github.com>
2025-07-11 12:03:14 +00:00
Taus
d1cf7f0624 Python: Support type annotations in call graph
Adds support for tracking instances via type annotations. Also adds a
convenience method to the newly added `Annotation` class,
`getAnnotatedExpression`, that returns the expression that is annotated
with the given type. For return annotations this is any value returned
from the annotated function in question.

Co-authored-by: Napalys Klicius <napalys@github.com>
2025-07-11 12:03:14 +00:00
Jeroen Ketema
232377a583 C++: Fix C++20 concept related class extensions 2025-07-11 13:38:06 +02:00
Geoffrey White
8f6f9f4359 Add change notes. 2025-07-11 11:54:59 +01:00
Tom Hvitved
edf6c7fbd6 Rust: Handle (Enum::)Variant::<TypeArg> type mentions 2025-07-11 12:44:47 +02:00
Tom Hvitved
a96d3d7be8 Rust: Add more type inference tests 2025-07-11 12:42:54 +02:00
Owen Mansel-Chan
7764fbb664 Change note 2025-07-11 11:05:48 +01:00
Owen Mansel-Chan
8e4bd1a102 Add sink for ObjectInput.readObject to make test pass 2025-07-11 11:05:38 +01:00
Owen Mansel-Chan
34fae324a0 Add test for ObjectInput.readObject 2025-07-11 11:03:47 +01:00
Mathias Vorreiter Pedersen
4f538a2b1f C++: Accept taint test changes. 2025-07-11 09:46:22 +01:00
Mathias Vorreiter Pedersen
6d0c8c6d77 C++: Work around an extractor bug. 2025-07-11 09:46:20 +01:00
Mathias Vorreiter Pedersen
df241ad4f6 C++: Fix lambda creation for objects with no constructor. 2025-07-11 09:46:09 +01:00
Tom Hvitved
ac13f408e4 Add change note 2025-07-11 10:42:50 +02:00
Tom Hvitved
4ab2977358 Rust: Type inference for pattern matching 2025-07-11 10:37:40 +02:00
Mathias Vorreiter Pedersen
b53c3547d0 C++: Add lambda dispatch for functors. 2025-07-11 09:36:45 +01:00
Mathias Vorreiter Pedersen
663c3e7b6d C++: Sync identical files. 2025-07-11 09:36:44 +01:00
Mathias Vorreiter Pedersen
11cba94032 C++: Add a missing predicate on 'UninitializedInstruction' that we will use later. 2025-07-11 09:36:42 +01:00
Mathias Vorreiter Pedersen
6736dd4e8f C++: Add some tests with missing flow through function objects. 2025-07-11 09:36:38 +01:00
Tom Hvitved
53ee565fdb Rust: Add more type inference tests 2025-07-11 10:22:24 +02:00
Jonas Jensen
76544f2966 Merge pull request #19943 from asgerf/approximate-related-location
Support approximate related locations
2025-07-11 10:16:24 +02:00
Tom Hvitved
742139927c Merge pull request #19658 from hvitved/rust/type-inference-library-param-fix
Rust: Fix type inference for library parameters
2025-07-11 08:34:19 +02:00
Adnan Khan
07598e8b62 Add test results. 2025-07-11 05:59:13 +00:00
Owen Mansel-Chan
006d77ffdd Refactor QL to make type check more concise 2025-07-11 06:13:01 +01:00
Tom Hvitved
1d7d45e16b Rust: Update expected test output 2025-07-10 19:40:39 +02:00
Tom Hvitved
8cd357a8a0 Rust: Fix type inference for library parameters 2025-07-10 19:40:37 +02:00
Tom Hvitved
1e9520c737 Merge pull request #19995 from hvitved/rust/disambiguate-assoc-function-calls
Rust: Disambiguate associated function calls
2025-07-10 19:38:06 +02:00
Geoffrey White
123458fd21 Sync identical files. 2025-07-10 18:10:24 +01:00
Geoffrey White
6de5a618f3 Rust: Accept consistency changes as well. 2025-07-10 18:03:12 +01:00
Jeroen Ketema
6d8e2f8231 Merge pull request #20017 from jketema/final
C++: Add dataflow predicate for checking if a node is the final value of a parameter
2025-07-10 18:47:09 +02:00
Geoffrey White
01c75e38f7 Rust: The rusqlite row.get() calls are missing a canonical path. 2025-07-10 17:31:37 +01:00
AdnaneKhan
1b794e056a Add extra test suggested by @Napalys 2025-07-10 12:24:36 -04:00
Adnan Khan
7be938c6c3 Handle multiple whitespaces in runner temp regex.
Co-authored-by: Napalys Klicius <napalys@github.com>
2025-07-10 12:22:14 -04:00
Geoffrey White
75078346c0 Rust: Accept .expected changes (mostly renumberings). 2025-07-10 17:05:12 +01:00
Owen Mansel-Chan
c39e5a7d97 Update qhelp: SnakeYaml is safe from version 2.0 2025-07-10 16:54:00 +01:00
Nick Rolfe
3a0def7848 Merge pull request #19989 from github/nickrolfe/ruby-annotations
Ruby: add overlay annotations to AST/CFG/SSA layers
2025-07-10 11:53:21 -04:00