Owen Mansel-Chan
8e99548cac
Shared: allow destructuring in ForeachStmt
2026-06-24 19:37:50 +01:00
copilot-swe-agent[bot]
73bf0613d9
Fix switch-case sanitizer edge for shared CFG and accept CFG expected
2026-06-24 19:19:30 +01:00
copilot-swe-agent[bot]
aa7bdb575f
Migrate Go expression switch CFG to shared library; handle fallthrough via fallsThrough
2026-06-24 19:19:28 +01:00
Owen Mansel-Chan
5b79e0d20d
Shared CFG: add hooks for reachability-gated exit epilogue
...
Add opt-in InputSig2 predicates to support a function-exit epilogue whose
placement depends on reachability (such as Go's deferred calls, run at
exit in last-in-first-out order):
- deferExitStep: language-provided exit-epilogue edges, wired into
explicitStep but excluded from the defer-free reachability.
- overridesCallableBodyExit: suppresses the default fall-through edge from
a body's "after" node to the normal exit, so the epilogue can be
interposed on fall-through paths.
To let a language compute the reachability gate for those edges without
observing them (and without a non-monotonic cycle through reachable):
- explicitStep is split into explicitStepCommon (defer-free) plus
deferExitStep, and defaultCfg now negates explicitStepCommon so default
evaluation does not depend on deferExitStep.
- succIgnoringDeferExit exposes the defer-free successor relation, typed
over PreControlFlowNode so it does not depend on reachable.
- getASuccessorIgnoringDeferredExit exposes the same relation as a
ControlFlowNode member for general use.
- isInOrderNode exposes a structural, reachability-free node-identity test
for use inside the negations a language needs when computing its gate.
- EntryNodeImpl is no longer private, so a language can identify the entry
node over PreControlFlowNode.
All InputSig2 additions default to none(), leaving other languages
unchanged.
2026-06-24 19:19:17 +01:00
Owen Mansel-Chan
ac1b126efd
Shared CFG: add callableExitStep hook for routing epilogue tails to exit nodes
2026-06-24 19:19:13 +01:00
Owen Mansel-Chan
0e50b3c00a
Allow overriding endAbruptCompletion for callables
2026-06-24 19:19:11 +01:00
Owen Mansel-Chan
a26cbad255
Initial shared CFG library instantiation for Go
2026-06-24 19:18:05 +01:00
Anders Schack-Mulligen
29eba2f38e
Merge pull request #22017 from aschackmull/cfg/catchclause-pattern
...
Cfg: Change AST/CFG for CatchClauses to use a pattern.
2026-06-24 13:21:54 +02:00
Anders Schack-Mulligen
bcfee987f0
Apply suggestion from @aschackmull
2026-06-24 10:26:26 +02:00
Anders Schack-Mulligen
41297c588c
Cfg: Change AST/CFG for CatchClauses to use a pattern.
2026-06-23 14:28:44 +02:00
yoff
73ab3e6888
Update shared/controlflow/codeql/controlflow/ControlFlowGraph.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2026-06-23 12:41:02 +02:00
yoff
15cbbb82eb
Shared CFG: add defaulted getLoopElse to AstSig
...
Adds a new defaulted signature predicates to the shared CFG library:
- getLoopElse: `else` block of a loop statement, if
any (used by Python's `while-else` / `for-else` constructs).
The predicate defaults to `none()`, so behaviour is unchanged for any
language that doesn't override it (verified by re-running
java/ql/test/library-tests/controlflow/).
The Make0 succession rules are extended:
- WhileStmt/ForeachStmt: route the loop-exit edge through the else
block before reaching the after-position.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-06-23 12:41:02 +02:00
Owen Mansel-Chan
b54d95d7c8
Merge pull request #21967 from github/copilot/conversion-of-codeql-queries
...
Convert selected Python qlref tests to inline expectations
2026-06-19 14:56:36 +01:00
Owen Mansel-Chan
1496fb6b12
Shared: allow comment starting with # after inline expectation comment
2026-06-19 11:20:30 +01:00
Owen Mansel-Chan
db5fac17bf
Add QLDoc to MakeSsa to silence CI
2026-06-18 14:54:21 +01:00
Anders Schack-Mulligen
3a3ec1be90
Cfg: Distinguish parameters from their patterns.
2026-06-18 11:00:30 +02:00
Mathias Vorreiter Pedersen
55f2f041ee
Shared: Ensure that YAML comment extraction is properly reflected in the dbscheme template.
2026-06-17 17:05:04 +01:00
Sotiris Dragonas
57f20064ba
Merge branch 'main' into bazookamusic/cwe-1427
2026-06-17 17:12:20 +03:00
Sotiris Dragonas
274f014d31
Merge branch 'main' into bazookamusic/cwe-1427
2026-06-17 12:53:03 +03:00
Mathias Vorreiter Pedersen
c12cf88c52
Merge branch 'main' into add-yaml-comments
2026-06-17 10:17:06 +01:00
Tom Hvitved
d287f0cf0b
Merge pull request #21987 from hvitved/type-flow-ranking
...
Java: Fix performance issue in type flow library
2026-06-16 09:39:30 +02:00
Tom Hvitved
f143dad1b2
Apply suggestions from code review
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-06-16 08:57:37 +02:00
Asger F
7039c4a2be
Merge pull request #21981 from asgerf/yeast/comments
...
Yeast/Unified: Extract comments
2026-06-15 15:25:35 +02:00
Tom Hvitved
568de02e98
Update shared/typeflow/codeql/typeflow/UniversalFlow.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2026-06-15 10:58:48 +02:00
Tom Hvitved
651770b412
Java: Fix performance issue in type flow library
2026-06-15 10:35:16 +02:00
Sotiris Dragonas
7c11f19445
Merge branch 'main' into bazookamusic/cwe-1427
2026-06-15 10:15:16 +02:00
Sotiris Dragonas
7ae03377cd
Add new MaD kinds
2026-06-15 11:14:25 +03:00
Asger F
5608369abe
Extract trivia tokens from original parse tree
2026-06-12 16:32:57 +02:00
Anders Schack-Mulligen
ff61344afa
Cfg: Add support for until-statements.
2026-06-12 13:55:05 +02:00
Anders Schack-Mulligen
fe8c029ac7
Cfg: Add support for unless-statements.
2026-06-12 13:50:41 +02:00
Anders Schack-Mulligen
912dc9c0bd
Merge pull request #21955 from aschackmull/cfg/try-body-index
...
Cfg: Fold getTryInit into indexed getBody.
2026-06-12 11:36:25 +02:00
Anders Schack-Mulligen
f3ec7087e3
Cfg: Fix type.
2026-06-12 10:02:48 +02:00
Anders Schack-Mulligen
a473565256
Merge pull request #21954 from aschackmull/cfg/consistency-child-idx
...
Cfg: Add consistency check for relevant child indices.
2026-06-08 14:44:20 +02:00
Anders Schack-Mulligen
01173bf383
Cfg: Fold getTryInit into indexed getBody.
2026-06-08 14:03:12 +02:00
Anders Schack-Mulligen
c47135a40b
Cfg: Add consistency check for relevant child indices.
2026-06-08 13:40:33 +02:00
Mathias Vorreiter Pedersen
e87f7fb3f7
Shared: Support YAML comments.
2026-06-04 14:53:02 +01:00
Sotiris Dragonas
d6892eaf0d
Merge pull request #21900 from github/bazookamusic/range-analysis-bound-move-to-shared
...
Bound.qll - Replace utility for range analysis duplicate across java and cs with shared file
2026-06-04 12:45:11 +02:00
Tom Hvitved
0430c71318
Merge pull request #21922 from hvitved/rust/static-const-resolution
...
Rust: Path resolution for `static` items
2026-06-03 17:48:21 +02:00
BazookaMusic
f34275636c
No duplicate Ssa and remove release changenot
2026-06-03 11:54:24 +02:00
BazookaMusic
0a801440b9
review comments
2026-06-03 10:48:50 +02:00
Asger F
7edf0100cc
Merge pull request #21924 from asgerf/asgerf/yeast-changes
...
Yeast: some fixes
2026-06-03 10:32:38 +02:00
Owen Mansel-Chan
167c837088
Merge pull request #21914 from owen-mc/shared/cfg/if-init
...
Shared CFG: allow init stmts for IfStmt
2026-06-02 22:01:02 +01:00
Tom Hvitved
dc0c7d7ec2
Fix commment typos
2026-06-02 14:41:27 +02:00
Sotiris Dragonas
61a5cece56
Merge branch 'main' into bazookamusic/range-analysis-bound-move-to-shared
2026-06-02 10:41:49 +02:00
BazookaMusic
566a92e555
formatting again
2026-06-02 10:41:10 +02:00
Owen Mansel-Chan
be9c785cb2
Fix incorrect QLDoc
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-06-02 09:26:13 +01:00
Tom Hvitved
9618e9b35c
Merge pull request #21873 from hvitved/local-name-resolution
...
Shared: Local name resolution library
2026-06-01 20:51:07 +02:00
BazookaMusic
2a3cff382c
more specific comment
2026-06-01 18:20:50 +02:00
BazookaMusic
fa63dad1d1
change note
2026-06-01 18:16:51 +02:00
Sotiris Dragonas
019a5c01ad
Merge branch 'main' into bazookamusic/range-analysis-bound-move-to-shared
2026-06-01 18:10:02 +02:00