Compare commits

...

66 Commits

Author SHA1 Message Date
Philip Ginsbach
8724f90206 set compileForOverlayEval true for java 2025-04-25 13:20:18 +01:00
Philip Ginsbach
7808763681 update python and csharp via config/sync-files.py 2025-04-22 17:24:53 +01:00
Philip Ginsbach
e3379dbe92 annotate .qll files in java and shared via script 2025-04-22 17:24:51 +01:00
Jeroen Ketema
0bcee84117 C++: Minor textual fixes 2025-04-17 12:33:27 +02:00
idrissrio
15fe2fbba6 C++: update stats file 2025-04-16 20:45:33 +02:00
idrissrio
36a425715c C++: add upgrade and downgrade scripts 2025-04-16 17:07:25 +02:00
idrissrio
d8afd2a786 C++: add change note for designator-based initializations 2025-04-16 16:23:32 +02:00
idrissrio
49183bb82a C++: add predicate to distinguish between array/field designators 2025-04-16 16:19:26 +02:00
Ian Lynagh
e05c030bb7 Merge pull request #19317 from github/post-release-prep/codeql-cli-2.21.1
Post-release preparation for codeql-cli-2.21.1
2025-04-16 14:45:49 +01:00
Ian Lynagh
bdd3207752 Merge branch 'main' into post-release-prep/codeql-cli-2.21.1 2025-04-16 11:54:23 +01:00
Idriss Riouak
67bfe108c2 Merge pull request #19298 from github/idrissrio/vla
C++: add `isVla` predicated to `ArrayType`
2025-04-16 11:25:31 +02:00
Michael Nebel
29be2171af Merge pull request #19309 from michaelnebel/csharp/fix-comments
C#: Adjust comments and remove compilation warnings.
2025-04-16 09:26:09 +02:00
Aditya Sharad
c4e8b1a79e Merge pull request #19307 from adityasharad/actions/public-preview-cleanup
Actions: Remove preview notice, minor help and metadata fixes
2025-04-16 05:40:20 +05:30
Aditya Sharad
4952768569 Actions: Fix change note newline 2025-04-15 10:21:54 -07:00
github-actions[bot]
d78736b1bf Post-release preparation for codeql-cli-2.21.1 2025-04-15 16:33:15 +00:00
Paolo Tranquilli
ff8cd98527 Merge pull request #19233 from github/redsun82/cargo-upgrade
Rust: upgrade rust-analyzer to `0.0.273`
2025-04-15 16:30:12 +02:00
Paolo Tranquilli
3d3de78076 Merge pull request #19299 from github/redsun82/swift-6-extraction
Swift: extract still unextracted entities from the 6.0.2 upgrade
2025-04-15 14:08:38 +02:00
idrissrio
202040fad4 C++: update stats file 2025-04-15 13:36:24 +02:00
Michael Nebel
9170993cf0 C#: Adjust comments and remove compilation warnings. 2025-04-15 12:46:31 +02:00
idrissrio
ae07272c44 C++: add upgrade and downgrade scripts 2025-04-15 11:09:31 +02:00
idrissrio
15ba9e0c66 C++: add change note for VLAs 2025-04-15 11:06:19 +02:00
idrissrio
033bade0ab C++: add isVLA() to ArrayType to identify variable-length arrays 2025-04-15 11:03:26 +02:00
Tamás Vajk
de9c1fbc9c Merge pull request #19251 from tamasvajk/fix/macos15
C#: Fix autobuild on macos without mono
2025-04-15 10:07:26 +02:00
Arthur Baars
1c79c5e9ab Merge pull request #19292 from github/aibaars/rust-shadow-prelude
Rust: allow shadowing of prelude items
2025-04-15 09:54:31 +02:00
Paolo Tranquilli
eda1bc9f6b Merge pull request #19282 from github/redsun82/rust-codeowners
Rust: add to `CODEOWNERS`
2025-04-15 08:58:27 +02:00
Aditya Sharad
f9103f8ddc Actions: Add change note for missing severity 2025-04-14 14:48:43 -07:00
Aditya Sharad
6eb060f16a Actions: Add security-severity to excessive secrets exposure query
Same value as missing actions permissions,
both providing warnings to follow the
principle of least privilege within a
workflow.
2025-04-14 14:41:08 -07:00
Aditya Sharad
93fbb9fe61 Actions: Update description of missing permissions query 2025-04-14 14:39:31 -07:00
Aditya Sharad
eeb938a76d Docs: Minor fixes for Actions query help 2025-04-14 13:25:54 -07:00
Aditya Sharad
32f191cd9d Docs: Remove public preview notice for Actions support
Ready for GA.
2025-04-14 13:21:59 -07:00
Paolo Tranquilli
2dd3dea33a Merge branch 'main' into redsun82/cargo-upgrade 2025-04-14 16:35:57 +02:00
Paolo Tranquilli
6176202d50 Merge pull request #19291 from github/redsun82/rust-pick-edition
Rust: pick correct edition for the files
2025-04-14 16:26:00 +02:00
Paolo Tranquilli
c9cff09f5d Merge branch 'main' into redsun82/rust-pick-edition 2025-04-14 15:19:33 +02:00
Tamas Vajk
a70536f002 Improve code quality 2025-04-14 14:54:56 +02:00
Paolo Tranquilli
1c11c5562a Swift: add change note 2025-04-14 14:50:46 +02:00
Tamas Vajk
91daca1a6b Improve code quality based on PR review 2025-04-14 13:51:30 +02:00
Michael Nebel
53c4b29b50 Merge pull request #19289 from michaelnebel/csharp/improveautobuilder
C#: Improve auto-builder to better detect SDK references.
2025-04-14 12:43:23 +02:00
Paolo Tranquilli
c245459e97 Merge pull request #19293 from github/redsun82/rust-fix-member-aggregation
Rust: fix workspace member aggregation when absolute path is a glob pattern
2025-04-14 12:08:43 +02:00
Paolo Tranquilli
1316e08365 Swift: add upgrade/downgrade scripts 2025-04-14 11:06:47 +02:00
Paolo Tranquilli
fa6deaf87a Swift: extract UnreachableExpr 2025-04-14 10:35:24 +02:00
Paolo Tranquilli
9473543933 Swift: extract ActorIsolationErasureExpr 2025-04-14 10:35:24 +02:00
Paolo Tranquilli
ad0f9f1e73 Swift: mark ErrorUnionType as type-check only 2025-04-14 10:35:23 +02:00
Paolo Tranquilli
b575c89463 Swift: add CurrentContextIsolationTree to control flow 2025-04-14 10:35:23 +02:00
Paolo Tranquilli
712142cde9 Swift: extract CurrentContextIsolationExpr 2025-04-14 10:35:22 +02:00
Paolo Tranquilli
42ec6b018d Swift: add ExtractFunctionIsolationTree to control flow 2025-04-14 10:35:22 +02:00
Paolo Tranquilli
2910cb68ce Swift: extract ExtracFunctionIsolationExpr 2025-04-14 10:35:21 +02:00
Paolo Tranquilli
9dd1062a9c Rust: remove fixed inconsistency 2025-04-11 17:25:56 +02:00
Paolo Tranquilli
c844db09d2 Merge branch 'redsun82/rust-pick-edition' into redsun82/cargo-upgrade 2025-04-11 17:03:29 +02:00
Paolo Tranquilli
63e5f5a555 Rust: parametrize some integration tests on three editions 2025-04-11 16:50:23 +02:00
Paolo Tranquilli
868680f078 Merge branch 'redsun82/rust-fix-member-aggregation' into redsun82/rust-pick-edition 2025-04-11 16:46:16 +02:00
Paolo Tranquilli
60aa3a8d9d Rust: fix workspace member aggregation when absolute path is a glob pattern
We were interpreting the absolute path of a workspace as a glob pattern,
which doesn't work if the path has some special characters (e.g. `[` or
`]`).
2025-04-11 16:41:51 +02:00
Arthur Baars
b27ae98b54 Rust: normalize paths in the rustup folder 2025-04-11 15:46:57 +02:00
Arthur Baars
662e963a7b Rust: allow shadowing of prelude items 2025-04-11 15:46:55 +02:00
Paolo Tranquilli
dbbd80f4dc Rust: pick correct edition for the files
Previously we would unconditionally set the edition to the latest stable
according to rust-analyzer (2021 at the moment). Now we ask
rust-analyzer itself to pick the correct edition for the file.
2025-04-11 15:36:45 +02:00
Tamas Vajk
51388f2401 Do not try running mono when it's not available on the runner 2025-04-11 14:58:08 +02:00
Michael Nebel
f349048e42 C#: Add change note. 2025-04-11 13:53:54 +02:00
Michael Nebel
31143b405e C#: Improve auto builder logic to detect Sdk reference. 2025-04-11 13:53:52 +02:00
Michael Nebel
a5aef8c6f9 C#: Add some more DotNet autobuilder unit tests. 2025-04-11 12:03:06 +02:00
Paolo Tranquilli
547833afb5 Rust: add to CODEOWNERS 2025-04-11 08:32:33 +02:00
Tamas Vajk
159d31d494 Reenable problematic test 2025-04-11 08:24:08 +02:00
Paolo Tranquilli
de0d374cce Rust: add upgrades property in qlpack.yml 2025-04-07 17:22:17 +02:00
Paolo Tranquilli
1f9455c434 Rust: add upgrade/downgrade scripts for struct_field_is_unsafe 2025-04-07 15:39:14 +02:00
Paolo Tranquilli
260322b669 Rust: fix compilation errors 2025-04-07 15:25:19 +02:00
Paolo Tranquilli
132632b2a1 Cargo: update rustc_apfloat patched revision 2025-04-07 14:45:55 +02:00
Paolo Tranquilli
afb97d2797 Rust: regenerate schema 2025-04-07 14:34:33 +02:00
Paolo Tranquilli
db9c908d1d Cargo: upgrade dependencies 2025-04-07 14:30:00 +02:00
659 changed files with 50578 additions and 2638 deletions

View File

@@ -8,6 +8,7 @@
/javascript/ @github/codeql-javascript /javascript/ @github/codeql-javascript
/python/ @github/codeql-python /python/ @github/codeql-python
/ruby/ @github/codeql-ruby /ruby/ @github/codeql-ruby
/rust/ @github/codeql-rust
/swift/ @github/codeql-swift /swift/ @github/codeql-swift
/misc/codegen/ @github/codeql-swift /misc/codegen/ @github/codeql-swift
/java/kotlin-extractor/ @github/codeql-kotlin /java/kotlin-extractor/ @github/codeql-kotlin
@@ -41,6 +42,7 @@ MODULE.bazel @github/codeql-ci-reviewers
/.github/workflows/go-* @github/codeql-go /.github/workflows/go-* @github/codeql-go
/.github/workflows/ql-for-ql-* @github/codeql-ql-for-ql-reviewers /.github/workflows/ql-for-ql-* @github/codeql-ql-for-ql-reviewers
/.github/workflows/ruby-* @github/codeql-ruby /.github/workflows/ruby-* @github/codeql-ruby
/.github/workflows/rust.yml @github/codeql-rust
/.github/workflows/swift.yml @github/codeql-swift /.github/workflows/swift.yml @github/codeql-swift
# Misc # Misc

277
Cargo.lock generated
View File

@@ -154,15 +154,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.8.0" version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
[[package]] [[package]]
name = "borsh" name = "borsh"
version = "1.5.3" version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2506947f73ad44e344215ccd6403ac2ae18cd8e046e581a441bf8d199f257f03" checksum = "5430e3be710b68d984d1391c854eb431a9d548640711faa54eecb1df93db91cc"
dependencies = [ dependencies = [
"cfg_aliases", "cfg_aliases",
] ]
@@ -224,9 +224,9 @@ dependencies = [
[[package]] [[package]]
name = "cargo_metadata" name = "cargo_metadata"
version = "0.18.1" version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba"
dependencies = [ dependencies = [
"camino", "camino",
"cargo-platform", "cargo-platform",
@@ -275,7 +275,7 @@ version = "0.100.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f114996bda14c0213f014a4ef31a7867dcf5f539a3900477fc6b20138e7a17b" checksum = "4f114996bda14c0213f014a4ef31a7867dcf5f539a3900477fc6b20138e7a17b"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
"chalk-derive", "chalk-derive",
] ]
@@ -301,7 +301,7 @@ dependencies = [
"chalk-derive", "chalk-derive",
"chalk-ir", "chalk-ir",
"ena", "ena",
"indexmap 2.7.0", "indexmap 2.9.0",
"itertools 0.12.1", "itertools 0.12.1",
"petgraph", "petgraph",
"rustc-hash 1.1.0", "rustc-hash 1.1.0",
@@ -325,9 +325,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.32" version = "4.5.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" checksum = "d8aa86934b44c19c50f87cc2790e19f54f7a67aedb64101c2e1a2e5ecfb73944"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@@ -335,9 +335,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.32" version = "4.5.35"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" checksum = "2414dbb2dd0695280da6ea9261e327479e9d37b0630f6b53ba2a11c60c679fd9"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@@ -622,7 +622,7 @@ version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5"
dependencies = [ dependencies = [
"log 0.4.25", "log 0.4.27",
] ]
[[package]] [[package]]
@@ -691,9 +691,9 @@ checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
[[package]] [[package]]
name = "equivalent" name = "equivalent"
version = "1.0.1" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]] [[package]]
name = "figment" name = "figment"
@@ -781,7 +781,7 @@ checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"log 0.4.25", "log 0.4.27",
"rustversion", "rustversion",
"windows", "windows",
] ]
@@ -812,7 +812,7 @@ checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19"
dependencies = [ dependencies = [
"aho-corasick", "aho-corasick",
"bstr", "bstr",
"log 0.4.25", "log 0.4.27",
"regex-automata 0.4.9", "regex-automata 0.4.9",
"regex-syntax 0.8.5", "regex-syntax 0.8.5",
] ]
@@ -918,9 +918,9 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.7.0" version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown 0.15.2", "hashbrown 0.15.2",
@@ -939,7 +939,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
"inotify-sys", "inotify-sys",
"libc", "libc",
] ]
@@ -979,9 +979,9 @@ dependencies = [
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.14" version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]] [[package]]
name = "jod-thread" name = "jod-thread"
@@ -1033,9 +1033,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.169" version = "0.2.171"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
[[package]] [[package]]
name = "libredox" name = "libredox"
@@ -1043,7 +1043,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
"libc", "libc",
"redox_syscall", "redox_syscall",
] ]
@@ -1074,14 +1074,14 @@ version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
dependencies = [ dependencies = [
"log 0.4.25", "log 0.4.27",
] ]
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.25" version = "0.4.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]] [[package]]
name = "loom" name = "loom"
@@ -1096,12 +1096,6 @@ dependencies = [
"tracing-subscriber", "tracing-subscriber",
] ]
[[package]]
name = "lz4_flex"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5"
[[package]] [[package]]
name = "matchers" name = "matchers"
version = "0.1.0" version = "0.1.0"
@@ -1142,7 +1136,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
dependencies = [ dependencies = [
"libc", "libc",
"log 0.4.25", "log 0.4.27",
"wasi 0.11.0+wasi-snapshot-preview1", "wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@@ -1178,13 +1172,13 @@ version = "8.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943" checksum = "2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
"filetime", "filetime",
"fsevent-sys", "fsevent-sys",
"inotify", "inotify",
"kqueue", "kqueue",
"libc", "libc",
"log 0.4.25", "log 0.4.27",
"mio", "mio",
"notify-types", "notify-types",
"walkdir", "walkdir",
@@ -1240,9 +1234,9 @@ checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
[[package]] [[package]]
name = "oorandom" name = "oorandom"
version = "11.1.4" version = "11.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
[[package]] [[package]]
name = "os_str_bytes" name = "os_str_bytes"
@@ -1331,7 +1325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"
dependencies = [ dependencies = [
"fixedbitset", "fixedbitset",
"indexmap 2.7.0", "indexmap 2.9.0",
] ]
[[package]] [[package]]
@@ -1398,7 +1392,7 @@ version = "0.100.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1651b0f7e8c3eb7c27a88f39d277e69c32bfe58e3be174d286c1a24d6a7a4d8" checksum = "f1651b0f7e8c3eb7c27a88f39d277e69c32bfe58e3be174d286c1a24d6a7a4d8"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
"ra-ap-rustc_hashes", "ra-ap-rustc_hashes",
"ra-ap-rustc_index", "ra-ap-rustc_index",
"tracing", "tracing",
@@ -1470,18 +1464,16 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_base_db" name = "ra_ap_base_db"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4baa9734d254af14fd603528ad594650dea601b1764492bd39988da38598ae67" checksum = "8fd761118bbafe29e2b187e694c6b8e800f2c7822bbc1d9d2db4ac21fb8b0365"
dependencies = [ dependencies = [
"dashmap 5.5.3", "dashmap 5.5.3",
"la-arena", "la-arena",
"lz4_flex",
"ra_ap_cfg", "ra_ap_cfg",
"ra_ap_intern", "ra_ap_intern",
"ra_ap_query-group-macro", "ra_ap_query-group-macro",
"ra_ap_span", "ra_ap_span",
"ra_ap_stdx",
"ra_ap_syntax", "ra_ap_syntax",
"ra_ap_vfs", "ra_ap_vfs",
"rustc-hash 2.1.1", "rustc-hash 2.1.1",
@@ -1493,9 +1485,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_cfg" name = "ra_ap_cfg"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ef2ba45636c5e585040c0c4bee640737a6001b08309f1a25ca78cf04abfbf90" checksum = "5ce74ce1af24afd86d3529dbbf5a849d026948b2d8ba51d199b6ea6db6e345b6"
dependencies = [ dependencies = [
"ra_ap_intern", "ra_ap_intern",
"ra_ap_tt", "ra_ap_tt",
@@ -1505,20 +1497,20 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_edition" name = "ra_ap_edition"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8955c1484d5e7274f755187788ba0d51eb149f870c69cdf0d87c3b7edea20ea0" checksum = "f423b9fb19e3920e4c7039120d09d9c79070a26efe8ff9f787c7234b07f518c5"
[[package]] [[package]]
name = "ra_ap_hir" name = "ra_ap_hir"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a51d7955beff2212701b149bea36d4cf2dc0f5cd129652c9bcf0cb5c0b021078" checksum = "dd4aa8a568b80d288b90c4fa5dc8a3cc405914d261bfd33a3761c1ba41be358d"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"either", "either",
"indexmap 2.7.0", "indexmap 2.9.0",
"itertools 0.12.1", "itertools 0.14.0",
"ra_ap_base_db", "ra_ap_base_db",
"ra_ap_cfg", "ra_ap_cfg",
"ra_ap_hir_def", "ra_ap_hir_def",
@@ -1537,23 +1529,20 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_hir_def" name = "ra_ap_hir_def"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5c97e617e4c585d24b3d4f668861452aedddfbe0262f4c53235dcea77e62f9b" checksum = "acb18d9378a828a23ccf87b89199db005adb67ba2a05a37d7a3fcad4d1036e66"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"bitflags 2.8.0", "bitflags 2.9.0",
"cov-mark", "cov-mark",
"dashmap 5.5.3",
"drop_bomb", "drop_bomb",
"either", "either",
"fst", "fst",
"hashbrown 0.14.5", "indexmap 2.9.0",
"indexmap 2.7.0", "itertools 0.14.0",
"itertools 0.12.1",
"la-arena", "la-arena",
"ra-ap-rustc_abi", "ra-ap-rustc_abi",
"ra-ap-rustc_hashes",
"ra-ap-rustc_parse_format", "ra-ap-rustc_parse_format",
"ra_ap_base_db", "ra_ap_base_db",
"ra_ap_cfg", "ra_ap_cfg",
@@ -1570,21 +1559,20 @@ dependencies = [
"salsa", "salsa",
"smallvec", "smallvec",
"text-size", "text-size",
"thin-vec",
"tracing", "tracing",
"triomphe", "triomphe",
] ]
[[package]] [[package]]
name = "ra_ap_hir_expand" name = "ra_ap_hir_expand"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be57c0d7e3f2180dd8ea584b11447f34060eadc06f0f6d559e2a790f6e91b6c5" checksum = "094fa79d8f661f52cf3b7fb8b3d91c4be2ad9e71a3967d3dacd25429fa44b37d"
dependencies = [ dependencies = [
"cov-mark", "cov-mark",
"either", "either",
"hashbrown 0.14.5", "itertools 0.14.0",
"itertools 0.12.1",
"la-arena",
"ra_ap_base_db", "ra_ap_base_db",
"ra_ap_cfg", "ra_ap_cfg",
"ra_ap_intern", "ra_ap_intern",
@@ -1605,24 +1593,22 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_hir_ty" name = "ra_ap_hir_ty"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f260f35748f3035b46a8afcdebda7cb75d95c24750105fad86101d09a9d387c8" checksum = "093482d200d5db421db5692e7819bbb14fb717cc8cb0f91f93cce9fde85b3df2"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"bitflags 2.8.0", "bitflags 2.9.0",
"chalk-derive", "chalk-derive",
"chalk-ir", "chalk-ir",
"chalk-recursive", "chalk-recursive",
"chalk-solve", "chalk-solve",
"cov-mark", "cov-mark",
"dashmap 5.5.3",
"either", "either",
"ena", "ena",
"indexmap 2.7.0", "indexmap 2.9.0",
"itertools 0.12.1", "itertools 0.14.0",
"la-arena", "la-arena",
"nohash-hasher",
"oorandom", "oorandom",
"ra-ap-rustc_abi", "ra-ap-rustc_abi",
"ra-ap-rustc_index", "ra-ap-rustc_index",
@@ -1647,19 +1633,18 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_ide_db" name = "ra_ap_ide_db"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0426263be26e27cb55a3b9ef88b120511b66fe7d9b418a2473d6d5f3ac2fe0a6" checksum = "b655b92dfa9444db8129321b9217d9e4a83a58ee707aa1004a93052acfb43d57"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"bitflags 2.8.0", "bitflags 2.9.0",
"cov-mark", "cov-mark",
"crossbeam-channel", "crossbeam-channel",
"dashmap 5.5.3",
"either", "either",
"fst", "fst",
"indexmap 2.7.0", "indexmap 2.9.0",
"itertools 0.12.1", "itertools 0.14.0",
"line-index", "line-index",
"memchr", "memchr",
"nohash-hasher", "nohash-hasher",
@@ -1681,9 +1666,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_intern" name = "ra_ap_intern"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6ea8c9615b3b0688cf557e7310dbd9432f43860c8ea766d54f4416cbecf3571" checksum = "b4e528496b4d4c351806bb073d3d7f6526535741b9e8801776603c924bbec624"
dependencies = [ dependencies = [
"dashmap 5.5.3", "dashmap 5.5.3",
"hashbrown 0.14.5", "hashbrown 0.14.5",
@@ -1693,17 +1678,16 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_load-cargo" name = "ra_ap_load-cargo"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "570907e16725c13a678bfd8050ce8839af2831da042a0878b75ee8c41b0f7b0c" checksum = "1a97a5070b2f4b99f56683d91b2687aa0c530d8969cc5252ec2ae5644e428ffe"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"crossbeam-channel", "crossbeam-channel",
"itertools 0.12.1", "itertools 0.14.0",
"ra_ap_hir_expand", "ra_ap_hir_expand",
"ra_ap_ide_db", "ra_ap_ide_db",
"ra_ap_intern", "ra_ap_intern",
"ra_ap_paths",
"ra_ap_proc_macro_api", "ra_ap_proc_macro_api",
"ra_ap_project_model", "ra_ap_project_model",
"ra_ap_span", "ra_ap_span",
@@ -1715,9 +1699,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_mbe" name = "ra_ap_mbe"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e893fe03b04b30c9b5a339ac2bf39ce32ac9c05a8b50121b7d89ce658346e164" checksum = "b187ee5ee3fa726eeea5142242a0397e2200d77084026986a68324b9599f9046"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"cov-mark", "cov-mark",
@@ -1726,19 +1710,17 @@ dependencies = [
"ra_ap_parser", "ra_ap_parser",
"ra_ap_span", "ra_ap_span",
"ra_ap_stdx", "ra_ap_stdx",
"ra_ap_syntax",
"ra_ap_syntax-bridge", "ra_ap_syntax-bridge",
"ra_ap_tt", "ra_ap_tt",
"rustc-hash 2.1.1", "rustc-hash 2.1.1",
"smallvec", "smallvec",
"tracing",
] ]
[[package]] [[package]]
name = "ra_ap_parser" name = "ra_ap_parser"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fd9a264120968b14a66b6ba756cd7f99435385b5dbc2f0a611cf3a12221c385" checksum = "2306e6c051e60483f3b317fac9dec6c883b7792eeb8db24ec6f39dbfa5430159"
dependencies = [ dependencies = [
"drop_bomb", "drop_bomb",
"ra-ap-rustc_lexer", "ra-ap-rustc_lexer",
@@ -1748,20 +1730,20 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_paths" name = "ra_ap_paths"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f47817351651e36b56ff3afc483b41600053c9cb7e67d945467c0abe93416032" checksum = "dcedd00499621bdd0f1fe01955c04e4b388197aa826744003afaf6cc2944bc80"
dependencies = [ dependencies = [
"camino", "camino",
] ]
[[package]] [[package]]
name = "ra_ap_proc_macro_api" name = "ra_ap_proc_macro_api"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d96da3b8b9f6b813a98f5357eef303905450741f47ba90adaab8a5371b748416" checksum = "7a2e49b550015cd4ad152bd78d92d73594497f2e44f61273f9fed3534ad4bbbe"
dependencies = [ dependencies = [
"indexmap 2.7.0", "indexmap 2.9.0",
"ra_ap_intern", "ra_ap_intern",
"ra_ap_paths", "ra_ap_paths",
"ra_ap_span", "ra_ap_span",
@@ -1776,9 +1758,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_profile" name = "ra_ap_profile"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13637377287c84f88a628e40229d271ef0081c0d683956bd99a6c8278a4f8b14" checksum = "87cdbd27ebe02ec21fdae3df303f194bda036a019ecef80d47e0082646f06c54"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
@@ -1788,13 +1770,13 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_project_model" name = "ra_ap_project_model"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "053c5207a638fc7a752c7a454bc952b28b0d02f0bf9f6d7ec785ec809579d8fa" checksum = "5eaa3406c891a7840d20ce615f8decca32cbc9d3654b82dcbcc3a31257ce90b9"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cargo_metadata", "cargo_metadata",
"itertools 0.12.1", "itertools 0.14.0",
"la-arena", "la-arena",
"ra_ap_base_db", "ra_ap_base_db",
"ra_ap_cfg", "ra_ap_cfg",
@@ -1814,22 +1796,20 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_query-group-macro" name = "ra_ap_query-group-macro"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f1a38f07b442e47a234cbe2e8fd1b8a41ff0cc5123cb1cf994c5ce20edb5bd6" checksum = "1fbc1748e4876a9b0ccfacfc7e2fe254f30e92ef58d98925282b3803e8b004ed"
dependencies = [ dependencies = [
"heck",
"proc-macro2", "proc-macro2",
"quote", "quote",
"salsa",
"syn", "syn",
] ]
[[package]] [[package]]
name = "ra_ap_span" name = "ra_ap_span"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8818680c6f7da3b32cb2bb0992940b24264b1aa90203aa94812e09ab34d362d1" checksum = "ed1d036e738bf32a057d90698df85bcb83ed6263b5fe9fba132c99e8ec3aecaf"
dependencies = [ dependencies = [
"hashbrown 0.14.5", "hashbrown 0.14.5",
"la-arena", "la-arena",
@@ -1843,12 +1823,12 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_stdx" name = "ra_ap_stdx"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1c10bee1b03fc48083862c13cf06bd3ed17760463ecce2734103a2f511e5ed4" checksum = "6e3775954ab24408f71e97079a97558078a166a4082052e83256ae4c22dae18d"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"itertools 0.12.1", "itertools 0.14.0",
"jod-thread", "jod-thread",
"libc", "libc",
"miow", "miow",
@@ -1858,14 +1838,12 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_syntax" name = "ra_ap_syntax"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92bc32f3946fc5fcbdc79e61b7e26a8c2a3a56f3ef6ab27c7d298a9e21a462f2" checksum = "b49b081f209a764700f688db91820a66c2ecfe5f138895d831361cf84f716691"
dependencies = [ dependencies = [
"cov-mark",
"either", "either",
"indexmap 2.7.0", "itertools 0.14.0",
"itertools 0.12.1",
"ra-ap-rustc_lexer", "ra-ap-rustc_lexer",
"ra_ap_parser", "ra_ap_parser",
"ra_ap_stdx", "ra_ap_stdx",
@@ -1878,9 +1856,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_syntax-bridge" name = "ra_ap_syntax-bridge"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a42052c44c98c122c37aac476260c8f19d8fec495edc9c05835307c9ae86194d" checksum = "f2740bbe603d527f2cf0aaf51629de7d072694fbbaaeda8264f7591be1493d1b"
dependencies = [ dependencies = [
"ra_ap_intern", "ra_ap_intern",
"ra_ap_parser", "ra_ap_parser",
@@ -1889,14 +1867,13 @@ dependencies = [
"ra_ap_syntax", "ra_ap_syntax",
"ra_ap_tt", "ra_ap_tt",
"rustc-hash 2.1.1", "rustc-hash 2.1.1",
"tracing",
] ]
[[package]] [[package]]
name = "ra_ap_toolchain" name = "ra_ap_toolchain"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75996e70b3a0c68cd5157ba01f018964c7c6a5d7b209047d449b393139d0b57f" checksum = "efbff9f26f307ef958586357d1653d000861dcd3acbaf33a009651e024720c7e"
dependencies = [ dependencies = [
"camino", "camino",
"home", "home",
@@ -1904,9 +1881,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_tt" name = "ra_ap_tt"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e4ee31e93bfabe83e6720b7469db88d7ad7ec5c59a1f011efec4aa1327ffc5c" checksum = "0b1ce3ac14765e414fa6031fda7dc35d3492c74de225aac689ba8b8bf037e1f8"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"ra-ap-rustc_lexer", "ra-ap-rustc_lexer",
@@ -1917,13 +1894,13 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_vfs" name = "ra_ap_vfs"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6aac1e277ac70bb073f40f8a3fc44e4b1bb9e4d4b1d0e0bd2f8269543560f80" checksum = "29427a7c27ce8ddfefb52d77c952a4588c74d0a7ab064dc627129088a90423ca"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"fst", "fst",
"indexmap 2.7.0", "indexmap 2.9.0",
"nohash-hasher", "nohash-hasher",
"ra_ap_paths", "ra_ap_paths",
"ra_ap_stdx", "ra_ap_stdx",
@@ -1933,9 +1910,9 @@ dependencies = [
[[package]] [[package]]
name = "ra_ap_vfs-notify" name = "ra_ap_vfs-notify"
version = "0.0.270" version = "0.0.273"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd95285146049621ee8f7a512c982a008bf036321fcc9b01a95c1ad7e6aeae57" checksum = "d5a0e3095b8216ecc131f38b4b0025cac324a646469a95d2670354aee7278078"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"notify", "notify",
@@ -2005,7 +1982,7 @@ version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
] ]
[[package]] [[package]]
@@ -2093,10 +2070,10 @@ checksum = "2febf9acc5ee5e99d1ad0afcdbccc02d87aa3f857a1f01f825b80eacf8edfcd1"
[[package]] [[package]]
name = "rustc_apfloat" name = "rustc_apfloat"
version = "0.2.1+llvm-462a31f5a5ab" version = "0.2.2+llvm-462a31f5a5ab"
source = "git+https://github.com/redsun82/rustc_apfloat.git?rev=096d585100636bc2e9f09d7eefec38c5b334d47b#096d585100636bc2e9f09d7eefec38c5b334d47b" source = "git+https://github.com/redsun82/rustc_apfloat.git?rev=32968f16ef1b082243f9bf43a3fbd65c381b3e27#32968f16ef1b082243f9bf43a3fbd65c381b3e27"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 2.9.0",
"smallvec", "smallvec",
] ]
@@ -2123,7 +2100,7 @@ dependencies = [
"dashmap 6.1.0", "dashmap 6.1.0",
"hashbrown 0.15.2", "hashbrown 0.15.2",
"hashlink", "hashlink",
"indexmap 2.7.0", "indexmap 2.9.0",
"parking_lot", "parking_lot",
"portable-atomic", "portable-atomic",
"rayon", "rayon",
@@ -2176,9 +2153,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]] [[package]]
name = "semver" name = "semver"
version = "1.0.24" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@@ -2234,7 +2211,7 @@ dependencies = [
"chrono", "chrono",
"hex", "hex",
"indexmap 1.9.3", "indexmap 1.9.3",
"indexmap 2.7.0", "indexmap 2.9.0",
"serde", "serde",
"serde_derive", "serde_derive",
"serde_json", "serde_json",
@@ -2260,7 +2237,7 @@ version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [ dependencies = [
"indexmap 2.7.0", "indexmap 2.9.0",
"itoa", "itoa",
"ryu", "ryu",
"serde", "serde",
@@ -2345,19 +2322,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233" checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233"
[[package]] [[package]]
name = "thiserror" name = "thin-vec"
version = "1.0.69" version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" checksum = "144f754d318415ac792f9d69fc87abbbfc043ce2ef041c60f16ad828f638717d"
[[package]]
name = "thiserror"
version = "2.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.69" version = "2.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -2432,7 +2415,7 @@ version = "0.22.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
dependencies = [ dependencies = [
"indexmap 2.7.0", "indexmap 2.9.0",
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
@@ -2488,7 +2471,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [ dependencies = [
"log 0.4.25", "log 0.4.27",
"once_cell", "once_cell",
"tracing-core", "tracing-core",
] ]
@@ -2603,9 +2586,9 @@ checksum = "a3e5df347f0bf3ec1d670aad6ca5c6a1859cd9ea61d2113125794654ccced68f"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.16" version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" checksum = "00e2473a93778eb0bad35909dff6a10d28e63f792f16ed15e404fca9d5eeedbe"
[[package]] [[package]]
name = "unicode-properties" name = "unicode-properties"
@@ -2686,7 +2669,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"log 0.4.25", "log 0.4.27",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@@ -2995,7 +2978,7 @@ version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
dependencies = [ dependencies = [
"bitflags 2.8.0", "bitflags 2.9.0",
] ]
[[package]] [[package]]

View File

@@ -14,4 +14,4 @@ members = [
[patch.crates-io] [patch.crates-io]
# patch for build script bug preventing bazel build # patch for build script bug preventing bazel build
# see https://github.com/rust-lang/rustc_apfloat/pull/17 # see https://github.com/rust-lang/rustc_apfloat/pull/17
rustc_apfloat = { git = "https://github.com/redsun82/rustc_apfloat.git", rev = "096d585100636bc2e9f09d7eefec38c5b334d47b" } rustc_apfloat = { git = "https://github.com/redsun82/rustc_apfloat.git", rev = "32968f16ef1b082243f9bf43a3fbd65c381b3e27" }

View File

@@ -75,7 +75,7 @@ use_repo(
"vendor_ts__argfile-0.2.1", "vendor_ts__argfile-0.2.1",
"vendor_ts__chalk-ir-0.100.0", "vendor_ts__chalk-ir-0.100.0",
"vendor_ts__chrono-0.4.40", "vendor_ts__chrono-0.4.40",
"vendor_ts__clap-4.5.32", "vendor_ts__clap-4.5.35",
"vendor_ts__dunce-1.0.5", "vendor_ts__dunce-1.0.5",
"vendor_ts__either-1.15.0", "vendor_ts__either-1.15.0",
"vendor_ts__encoding-0.2.33", "vendor_ts__encoding-0.2.33",
@@ -90,22 +90,22 @@ use_repo(
"vendor_ts__num_cpus-1.16.0", "vendor_ts__num_cpus-1.16.0",
"vendor_ts__proc-macro2-1.0.94", "vendor_ts__proc-macro2-1.0.94",
"vendor_ts__quote-1.0.40", "vendor_ts__quote-1.0.40",
"vendor_ts__ra_ap_base_db-0.0.270", "vendor_ts__ra_ap_base_db-0.0.273",
"vendor_ts__ra_ap_cfg-0.0.270", "vendor_ts__ra_ap_cfg-0.0.273",
"vendor_ts__ra_ap_hir-0.0.270", "vendor_ts__ra_ap_hir-0.0.273",
"vendor_ts__ra_ap_hir_def-0.0.270", "vendor_ts__ra_ap_hir_def-0.0.273",
"vendor_ts__ra_ap_hir_expand-0.0.270", "vendor_ts__ra_ap_hir_expand-0.0.273",
"vendor_ts__ra_ap_hir_ty-0.0.270", "vendor_ts__ra_ap_hir_ty-0.0.273",
"vendor_ts__ra_ap_ide_db-0.0.270", "vendor_ts__ra_ap_ide_db-0.0.273",
"vendor_ts__ra_ap_intern-0.0.270", "vendor_ts__ra_ap_intern-0.0.273",
"vendor_ts__ra_ap_load-cargo-0.0.270", "vendor_ts__ra_ap_load-cargo-0.0.273",
"vendor_ts__ra_ap_parser-0.0.270", "vendor_ts__ra_ap_parser-0.0.273",
"vendor_ts__ra_ap_paths-0.0.270", "vendor_ts__ra_ap_paths-0.0.273",
"vendor_ts__ra_ap_project_model-0.0.270", "vendor_ts__ra_ap_project_model-0.0.273",
"vendor_ts__ra_ap_span-0.0.270", "vendor_ts__ra_ap_span-0.0.273",
"vendor_ts__ra_ap_stdx-0.0.270", "vendor_ts__ra_ap_stdx-0.0.273",
"vendor_ts__ra_ap_syntax-0.0.270", "vendor_ts__ra_ap_syntax-0.0.273",
"vendor_ts__ra_ap_vfs-0.0.270", "vendor_ts__ra_ap_vfs-0.0.273",
"vendor_ts__rand-0.9.0", "vendor_ts__rand-0.9.0",
"vendor_ts__rayon-1.10.0", "vendor_ts__rayon-1.10.0",
"vendor_ts__regex-1.11.1", "vendor_ts__regex-1.11.1",

View File

@@ -1,5 +1,5 @@
name: codeql/actions-all name: codeql/actions-all
version: 0.4.7 version: 0.4.8-dev
library: true library: true
warnOnImplicitThis: true warnOnImplicitThis: true
dependencies: dependencies:

View File

@@ -109,7 +109,7 @@ An attacker could craft a malicious artifact that writes dangerous environment v
### Exploitation ### Exploitation
An attacker is be able to run arbitrary code by injecting environment variables such as `LD_PRELOAD`, `BASH_ENV`, etc. An attacker would be able to run arbitrary code by injecting environment variables such as `LD_PRELOAD`, `BASH_ENV`, etc.
## References ## References

View File

@@ -1,6 +1,6 @@
/** /**
* @name Workflow does not contain permissions * @name Workflow does not contain permissions
* @description Workflows should contain permissions to provide a clear understanding has permissions to run the workflow. * @description Workflows should contain explicit permissions to restrict the scope of the default GITHUB_TOKEN.
* @kind problem * @kind problem
* @security-severity 5.0 * @security-severity 5.0
* @problem.severity warning * @problem.severity warning

View File

@@ -3,6 +3,7 @@
* @description All organization and repository secrets are passed to the workflow runner. * @description All organization and repository secrets are passed to the workflow runner.
* @kind problem * @kind problem
* @precision high * @precision high
* @security-severity 5.0
* @problem.severity warning * @problem.severity warning
* @id actions/excessive-secrets-exposure * @id actions/excessive-secrets-exposure
* @tags actions * @tags actions

View File

@@ -2,11 +2,11 @@
## Description ## Description
Secrets derived from other secrets are not known to the workflow runner and therefore not masked unless explicitly registered. Secrets derived from other secrets are not known to the workflow runner, and therefore are not masked unless explicitly registered.
## Recommendations ## Recommendations
Avoid defining non-plain secrets. For example, do not define a new secret containing a JSON object and then read properties out of it from the workflow since these read values will not be masked by the workflow runner. Avoid defining non-plain secrets. For example, do not define a new secret containing a JSON object and then read properties out of it from the workflow, since these read values will not be masked by the workflow runner.
## Examples ## Examples

View File

@@ -0,0 +1,4 @@
---
category: fix
---
* Assigned a `security-severity` to the query `actions/excessive-secrets-exposure`.

View File

@@ -1,5 +1,5 @@
name: codeql/actions-queries name: codeql/actions-queries
version: 0.5.4 version: 0.5.5-dev
library: false library: false
warnOnImplicitThis: true warnOnImplicitThis: true
groups: [actions, queries] groups: [actions, queries]

View File

@@ -0,0 +1,175 @@
# This script is used to annotate .qll files with overlay[local?] annotations.
# It will walk the directory tree and annotate most .qll files, skipping only
# some specific cases (e.g., empty files, files that configure dataflow for queries).
# It will also add overlay[caller] annotations to predicates that are pragma[inline]
# and either not private or in a hardcoded list of predicates.
# The script takes a list of languages and processes the corresponding directories.
# Usage: python3 annotate-overlay-local.py <language1> <language2> ...
# The script will modify the files in place and print the changes made.
# The script is designed to be run from the root of the repository.
#!/usr/bin/python3
import sys
import os
from difflib import *
# These are the only two predicates that are pragma[inline], private, and must be
# overlay[caller] in order to successfully compile our internal java queries.
hardcoded_overlay_caller_preds = [
"fwdFlowInCand", "fwdFlowInCandTypeFlowDisabled"]
def filter_out_annotations(filename):
'''
Read the file and strip all existing overlay[...] annotations from the contents.
Return the file modified file content as a list of lines.
'''
overlays = ["local", "local?", "global", "caller"]
annotations = [f"overlay[{t}]" for t in overlays]
with open(filename, 'r') as file_in:
lines = [l for l in file_in if not l.strip() in annotations]
for ann in annotations:
if any(line for line in lines if ann in line):
raise Exception(f"Failed to filter out {ann} from {filename}.")
return lines
def insert_toplevel_maybe_local_anntotation(filename, lines):
'''
Find a suitable place to insert an overlay[local?] annotation at the top of the file.
Return a pair: (string describing action taken, modified content as list of lines).
'''
out_lines = []
status = 0
for line in lines:
if status == 0 and line.rstrip().endswith("module;"):
out_lines.append("overlay[local?]\n")
status = 1
out_lines.append(line)
if status == 1:
return (f"Annotating \"{filename}\" via existing file-level module statement", out_lines)
out_lines = []
empty_line_buffer = []
status = 0
for line in lines:
trimmed = line.strip()
if not trimmed:
empty_line_buffer.append(line)
continue
if status <= 1 and trimmed.endswith("*/"):
status = 2
elif status == 0 and trimmed.startswith("/**"):
status = 1
elif status == 0 and not trimmed.startswith("/*"):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
out_lines.append("\n")
status = 3
elif status == 2 and (trimmed.startswith("import ") or trimmed.startswith("private import ")):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
status = 3
elif status == 2 and (trimmed.startswith("class ") or trimmed.startswith("predicate ")
or trimmed.startswith("module ") or trimmed.startswith("signature ")):
out_lines = ["overlay[local?]\n", "module;\n", "\n"] + out_lines
status = 3
elif status == 2 and trimmed.startswith("/*"):
out_lines.append("overlay[local?]\n")
out_lines.append("module;\n")
status = 3
elif status == 2:
status = 4
if empty_line_buffer:
out_lines += empty_line_buffer
empty_line_buffer = []
out_lines.append(line)
if status == 3:
out_lines += empty_line_buffer
if status == 3:
return (f"Annotating \"{filename}\" after file-level module qldoc", out_lines)
raise Exception(f"Failed to annotate \"{filename}\" as overlay[local?].")
def insert_overlay_caller_annotations(lines):
'''
Mark pragma[inline] predicates as overlay[caller] if they are not declared private
or if they are private but are in the list of hardcoded_overlay_caller_preds.
'''
out_lines = []
for i, line in enumerate(lines):
trimmed = line.strip()
if trimmed == "pragma[inline]":
if (not "private" in lines[i+1] or
any(pred in lines[i+1] for pred in hardcoded_overlay_caller_preds)):
whitespace = line[0: line.find(trimmed)]
out_lines.append(f"{whitespace}overlay[caller]\n")
out_lines.append(line)
return out_lines
def annotate_as_appropriate(filename):
'''
Read file and strip all existing overlay[...] annotations from the contents;
then insert new overlay[...] annotations according to heuristics.
Return a pair: (string describing action taken, modified content as list of lines).
'''
lines = filter_out_annotations(filename)
lines = insert_overlay_caller_annotations(lines)
# These simple heuristics filter out those .qll files that we no _not_ want to annotate
# as overlay[local?]. It is not clear that these heuristics are exactly what we want,
# but they seem to work well enough for now (as determined by speed and accuracy numbers).
if (filename.endswith("Test.qll") or
((filename.endswith("Query.qll") or filename.endswith("Config.qll")) and
any("implements DataFlow::ConfigSig" in line for line in lines))):
return (f"Keeping \"{filename}\" global because it configures dataflow for a query", lines)
elif not any(line for line in lines if line.strip()):
return (f"Keeping \"{filename}\" global because it is empty", lines)
return insert_toplevel_maybe_local_anntotation(filename, lines)
def process_single_file(filename):
'''
Process a single file, annotating it as appropriate and writing the changes back to the file.
'''
annotate_result = annotate_as_appropriate(filename)
old = [line for line in open(filename)]
new = annotate_result[1]
if old != new:
diff = context_diff(old, new, fromfile=filename, tofile=filename)
diff = [line for line in diff]
if diff:
print(annotate_result[0])
for line in diff:
print(line.rstrip())
with open(filename, "w") as out_file:
for line in new:
out_file.write(line)
dirs = []
for lang in sys.argv[1:]:
if lang in ["cpp", "go", "csharp", "java", "javascript", "python", "ruby", "rust", "swift"]:
dirs.append(f"{lang}/ql/lib")
else:
raise Exception(f"Unknown language \"{lang}\".")
if dirs:
dirs.append("shared")
for roots in dirs:
for dirpath, dirnames, filenames in os.walk(roots):
for filename in filenames:
if filename.endswith(".qll") and not dirpath.endswith("tutorial"):
process_single_file(os.path.join(dirpath, filename))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Add a new predicate `isVla()` to the `ArrayType` class
compatibility: full
type_is_vla.rel: delete

View File

@@ -0,0 +1,11 @@
class Expr extends @expr {
string toString() { none() }
}
class AggregateLiteral extends Expr, @aggregateliteral {
override string toString() { none() }
}
from AggregateLiteral aggregate, Expr initializer, int element_index, int position
where aggregate_array_init(aggregate, initializer, element_index, position, _)
select aggregate, initializer, element_index, position

View File

@@ -0,0 +1,15 @@
class Expr extends @expr {
string toString() { none() }
}
class AggregateLiteral extends Expr, @aggregateliteral {
override string toString() { none() }
}
class MemberVariable extends @membervariable {
string toString() { none() }
}
from AggregateLiteral aggregate, Expr initializer, MemberVariable field, int position
where aggregate_field_init(aggregate, initializer, field, position, _)
select aggregate, initializer, field, position

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: add `hasDesignator` predicate to `ArrayOrVectorAggregateLiteral` and `ClassAggregateLiteral`
compatibility: backwards
aggregate_array_init.rel: run aggregate_array_init.qlo
aggregate_field_init.rel: run aggregate_field_init.qlo

View File

@@ -0,0 +1,4 @@
---
category: feature
---
* Added the `isVla()` predicate to the `ArrayType` class. This allows queries to identify variable-length arrays (VLAs).

View File

@@ -0,0 +1,4 @@
---
category: feature
---
* Introduced `hasDesignator()` predicates to distinguish between designated and positional initializations for both struct/union fields and array elements.

View File

@@ -1,5 +1,5 @@
name: codeql/cpp-all name: codeql/cpp-all
version: 4.2.0 version: 4.2.1-dev
groups: cpp groups: cpp
dbscheme: semmlecode.cpp.dbscheme dbscheme: semmlecode.cpp.dbscheme
extractor: cpp extractor: cpp

View File

@@ -1369,6 +1369,11 @@ class ArrayType extends DerivedType {
override predicate isDeeplyConst() { this.getBaseType().isDeeplyConst() } // No such thing as a const array type override predicate isDeeplyConst() { this.getBaseType().isDeeplyConst() } // No such thing as a const array type
override predicate isDeeplyConstBelow() { this.getBaseType().isDeeplyConst() } override predicate isDeeplyConstBelow() { this.getBaseType().isDeeplyConst() }
/**
* Holds if this array is a variable-length array (VLA).
*/
predicate isVla() { type_is_vla(underlyingElement(this)) }
} }
/** /**

View File

@@ -213,7 +213,24 @@ class ClassAggregateLiteral extends AggregateLiteral {
Expr getFieldExpr(Field field, int position) { Expr getFieldExpr(Field field, int position) {
field = classType.getAField() and field = classType.getAField() and
aggregate_field_init(underlyingElement(this), unresolveElement(result), unresolveElement(field), aggregate_field_init(underlyingElement(this), unresolveElement(result), unresolveElement(field),
position) position, _)
}
/**
* Holds if the `position`-th initialization of `field` in this aggregate initializer
* uses a designated (e.g., `.x = ...`) rather than a positional initializer.
*
* For example, in:
* ```c
* struct S { int x, y; };
* struct S s = { .x = 1, 2 };
* ```
* - `.x = 1` is a designated initializer, therefore `hasDesignator(x, 0)` holds.
* - `2` is a positional initializer for `s.y`, therefore `hasDesignator(y, 1)` does not hold.
*/
predicate hasDesignator(Field field, int position) {
field = classType.getAField() and
aggregate_field_init(underlyingElement(this), _, unresolveElement(field), position, true)
} }
/** /**
@@ -304,7 +321,24 @@ class ArrayOrVectorAggregateLiteral extends AggregateLiteral {
* - `a.getElementExpr(0, 2)` gives `789`. * - `a.getElementExpr(0, 2)` gives `789`.
*/ */
Expr getElementExpr(int elementIndex, int position) { Expr getElementExpr(int elementIndex, int position) {
aggregate_array_init(underlyingElement(this), unresolveElement(result), elementIndex, position) aggregate_array_init(underlyingElement(this), unresolveElement(result), elementIndex, position,
_)
}
/**
* Holds if the `position`-th initialization of the array element at `elementIndex`
* in this aggregate initializer uses a designated (e.g., `[0] = ...`) rather than
* a positional initializer.
*
* For example, in:
* ```c
* int x[] = { [0] = 1, 2 };
* ```
* - `[0] = 1` is a designated initializer, therefore `hasDesignator(0, 0)` holds.
* - `2` is a positional initializer for `x[1]`, therefore `hasDesignator(1, 1)` does not hold.
*/
predicate hasDesignator(int elementIndex, int position) {
aggregate_array_init(underlyingElement(this), _, elementIndex, position, true)
} }
/** /**

View File

@@ -2039,7 +2039,8 @@ aggregate_field_init(
int aggregate: @aggregateliteral ref, int aggregate: @aggregateliteral ref,
int initializer: @expr ref, int initializer: @expr ref,
int field: @membervariable ref, int field: @membervariable ref,
int position: int ref int position: int ref,
boolean is_designated: boolean ref
); );
/** /**
@@ -2051,7 +2052,8 @@ aggregate_array_init(
int aggregate: @aggregateliteral ref, int aggregate: @aggregateliteral ref,
int initializer: @expr ref, int initializer: @expr ref,
int element_index: int ref, int element_index: int ref,
int position: int ref int position: int ref,
boolean is_designated: boolean ref
); );
@ctorinit = @ctordirectinit @ctorinit = @ctordirectinit
@@ -2178,6 +2180,8 @@ variable_vla(
int decl: @stmt_vla_decl ref int decl: @stmt_vla_decl ref
); );
type_is_vla(unique int type_id: @derivedtype ref)
if_initialization( if_initialization(
unique int if_stmt: @stmt_if ref, unique int if_stmt: @stmt_if ref,
int init_id: @stmt ref int init_id: @stmt ref

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,11 @@
class Expr extends @expr {
string toString() { none() }
}
class AggregateLiteral extends Expr, @aggregateliteral {
override string toString() { none() }
}
from AggregateLiteral aggregate, Expr initializer, int element_index, int position
where aggregate_array_init(aggregate, initializer, element_index, position)
select aggregate, initializer, element_index, position, false

View File

@@ -0,0 +1,15 @@
class Expr extends @expr {
string toString() { none() }
}
class AggregateLiteral extends Expr, @aggregateliteral {
override string toString() { none() }
}
class MemberVariable extends @membervariable {
string toString() { none() }
}
from AggregateLiteral aggregate, Expr initializer, MemberVariable field, int position
where aggregate_field_init(aggregate, initializer, field, position)
select aggregate, initializer, field, position, false

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: add `hasDesignator` predicate to `ArrayOrVectorAggregateLiteral` and `ClassAggregateLiteral`
compatibility: backwards
aggregate_array_init.rel: run aggregate_array_init.qlo
aggregate_field_init.rel: run aggregate_field_init.qlo

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Add a new predicate `isVla()` to the `ArrayType` class
compatibility: backwards

View File

@@ -1,5 +1,5 @@
name: codeql/cpp-queries name: codeql/cpp-queries
version: 1.3.8 version: 1.3.9-dev
groups: groups:
- cpp - cpp
- queries - queries

View File

@@ -162,6 +162,10 @@ namespace Semmle.Autobuild.CSharp.Tests
bool IBuildActions.IsRunningOnAppleSilicon() => IsRunningOnAppleSilicon; bool IBuildActions.IsRunningOnAppleSilicon() => IsRunningOnAppleSilicon;
public bool IsMonoInstalled { get; set; }
bool IBuildActions.IsMonoInstalled() => IsMonoInstalled;
public string PathCombine(params string[] parts) public string PathCombine(params string[] parts)
{ {
return string.Join(IsWindows ? '\\' : '/', parts.Where(p => !string.IsNullOrWhiteSpace(p))); return string.Join(IsWindows ? '\\' : '/', parts.Where(p => !string.IsNullOrWhiteSpace(p)));
@@ -424,8 +428,7 @@ namespace Semmle.Autobuild.CSharp.Tests
return new CSharpAutobuilder(actions, options); return new CSharpAutobuilder(actions, options);
} }
[Fact] private void SetupActionForDotnet()
public void TestDefaultCSharpAutoBuilder()
{ {
actions.RunProcess["cmd.exe /C dotnet --info"] = 0; actions.RunProcess["cmd.exe /C dotnet --info"] = 0;
actions.RunProcess[@"cmd.exe /C dotnet clean C:\Project\test.csproj"] = 0; actions.RunProcess[@"cmd.exe /C dotnet clean C:\Project\test.csproj"] = 0;
@@ -438,20 +441,80 @@ namespace Semmle.Autobuild.CSharp.Tests
actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_SCRATCH_DIR"] = "scratch"; actions.GetEnvironmentVariable["CODEQL_EXTRACTOR_CSHARP_SCRATCH_DIR"] = "scratch";
actions.EnumerateFiles[@"C:\Project"] = "foo.cs\nbar.cs\ntest.csproj"; actions.EnumerateFiles[@"C:\Project"] = "foo.cs\nbar.cs\ntest.csproj";
actions.EnumerateDirectories[@"C:\Project"] = ""; actions.EnumerateDirectories[@"C:\Project"] = "";
var xml = new XmlDocument(); }
xml.LoadXml(@"<Project Sdk=""Microsoft.NET.Sdk"">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
</Project>"); private void CreateAndVerifyDotnetScript(XmlDocument xml)
{
actions.LoadXml[@"C:\Project\test.csproj"] = xml; actions.LoadXml[@"C:\Project\test.csproj"] = xml;
var autobuilder = CreateAutoBuilder(true); var autobuilder = CreateAutoBuilder(true);
TestAutobuilderScript(autobuilder, 0, 4); TestAutobuilderScript(autobuilder, 0, 4);
} }
[Fact]
public void TestDefaultCSharpAutoBuilder1()
{
SetupActionForDotnet();
var xml = new XmlDocument();
xml.LoadXml(
"""
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
</Project>
""");
CreateAndVerifyDotnetScript(xml);
}
[Fact]
public void TestDefaultCSharpAutoBuilder2()
{
SetupActionForDotnet();
var xml = new XmlDocument();
xml.LoadXml(
"""
<Project>
<Sdk Name="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
"""
);
CreateAndVerifyDotnetScript(xml);
}
[Fact]
public void TestDefaultCSharpAutoBuilder3()
{
SetupActionForDotnet();
var xml = new XmlDocument();
xml.LoadXml(
"""
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>
"""
);
CreateAndVerifyDotnetScript(xml);
}
[Fact] [Fact]
public void TestLinuxCSharpAutoBuilder() public void TestLinuxCSharpAutoBuilder()
{ {
@@ -797,11 +860,32 @@ namespace Semmle.Autobuild.CSharp.Tests
} }
[Fact] [Fact]
public void TestDirsProjLinux() public void TestDirsProjLinux_WithMono()
{ {
actions.IsMonoInstalled = true;
actions.RunProcess[@"nuget restore C:\Project/dirs.proj -DisableParallelProcessing"] = 1; actions.RunProcess[@"nuget restore C:\Project/dirs.proj -DisableParallelProcessing"] = 1;
actions.RunProcess[@"mono scratch/.nuget/nuget.exe restore C:\Project/dirs.proj -DisableParallelProcessing"] = 0; actions.RunProcess[@"mono scratch/.nuget/nuget.exe restore C:\Project/dirs.proj -DisableParallelProcessing"] = 0;
actions.RunProcess[@"msbuild C:\Project/dirs.proj /t:rebuild"] = 0; actions.RunProcess[@"msbuild C:\Project/dirs.proj /t:rebuild"] = 0;
var autobuilder = TestDirsProjLinux();
TestAutobuilderScript(autobuilder, 0, 3);
}
[Fact]
public void TestDirsProjLinux_WithoutMono()
{
actions.IsMonoInstalled = false;
actions.RunProcess[@"dotnet msbuild /t:restore C:\Project/dirs.proj"] = 0;
actions.RunProcess[@"dotnet msbuild C:\Project/dirs.proj /t:rebuild"] = 0;
var autobuilder = TestDirsProjLinux();
TestAutobuilderScript(autobuilder, 0, 2);
}
private CSharpAutobuilder TestDirsProjLinux()
{
actions.FileExists["csharp.log"] = true; actions.FileExists["csharp.log"] = true;
actions.FileExists[@"C:\Project/a/test.csproj"] = true; actions.FileExists[@"C:\Project/a/test.csproj"] = true;
actions.FileExists[@"C:\Project/dirs.proj"] = true; actions.FileExists[@"C:\Project/dirs.proj"] = true;
@@ -830,8 +914,7 @@ namespace Semmle.Autobuild.CSharp.Tests
</Project>"); </Project>");
actions.LoadXml[@"C:\Project/dirs.proj"] = dirsproj; actions.LoadXml[@"C:\Project/dirs.proj"] = dirsproj;
var autobuilder = CreateAutoBuilder(false); return CreateAutoBuilder(false);
TestAutobuilderScript(autobuilder, 0, 3);
} }
[Fact] [Fact]

View File

@@ -150,6 +150,10 @@ namespace Semmle.Autobuild.Cpp.Tests
bool IBuildActions.IsRunningOnAppleSilicon() => IsRunningOnAppleSilicon; bool IBuildActions.IsRunningOnAppleSilicon() => IsRunningOnAppleSilicon;
public bool IsMonoInstalled { get; set; }
bool IBuildActions.IsMonoInstalled() => IsMonoInstalled;
string IBuildActions.PathCombine(params string[] parts) string IBuildActions.PathCombine(params string[] parts)
{ {
return string.Join(IsWindows ? '\\' : '/', parts.Where(p => !string.IsNullOrWhiteSpace(p))); return string.Join(IsWindows ? '\\' : '/', parts.Where(p => !string.IsNullOrWhiteSpace(p)));

View File

@@ -10,15 +10,15 @@ namespace Semmle.Autobuild.Shared
/// <summary> /// <summary>
/// Appends a call to msbuild. /// Appends a call to msbuild.
/// </summary> /// </summary>
/// <param name="cmdBuilder"></param>
/// <param name="builder"></param>
/// <returns></returns> /// <returns></returns>
public static CommandBuilder MsBuildCommand(this CommandBuilder cmdBuilder, IAutobuilder<AutobuildOptionsShared> builder) public static CommandBuilder MsBuildCommand(this CommandBuilder cmdBuilder, IAutobuilder<AutobuildOptionsShared> builder, bool preferDotnet)
{ {
// mono doesn't ship with `msbuild` on Arm-based Macs, but we can fall back to // mono doesn't ship with `msbuild` on Arm-based Macs, but we can fall back to
// msbuild that ships with `dotnet` which can be invoked with `dotnet msbuild` // msbuild that ships with `dotnet` which can be invoked with `dotnet msbuild`
// perhaps we should do this on all platforms? // perhaps we should do this on all platforms?
return builder.Actions.IsRunningOnAppleSilicon() // Similarly, there's no point in trying to rely on mono if it's not installed.
// In which case we can still fall back to `dotnet msbuild`.
return preferDotnet
? cmdBuilder.RunCommand("dotnet").Argument("msbuild") ? cmdBuilder.RunCommand("dotnet").Argument("msbuild")
: cmdBuilder.RunCommand("msbuild"); : cmdBuilder.RunCommand("msbuild");
} }
@@ -75,13 +75,16 @@ namespace Semmle.Autobuild.Shared
QuoteArgument(projectOrSolution.FullPath). QuoteArgument(projectOrSolution.FullPath).
Argument("-DisableParallelProcessing"). Argument("-DisableParallelProcessing").
Script; Script;
var preferDotnet = builder.Actions.IsRunningOnAppleSilicon() || !builder.Actions.IsWindows() && !builder.Actions.IsMonoInstalled();
var nugetRestore = GetNugetRestoreScript(); var nugetRestore = GetNugetRestoreScript();
var msbuildRestoreCommand = new CommandBuilder(builder.Actions). var msbuildRestoreCommand = new CommandBuilder(builder.Actions).
MsBuildCommand(builder). MsBuildCommand(builder, preferDotnet).
Argument("/t:restore"). Argument("/t:restore").
QuoteArgument(projectOrSolution.FullPath); QuoteArgument(projectOrSolution.FullPath);
if (builder.Actions.IsRunningOnAppleSilicon()) if (preferDotnet)
{ {
// On Apple Silicon, only try package restore with `dotnet msbuild /t:restore` // On Apple Silicon, only try package restore with `dotnet msbuild /t:restore`
ret &= BuildScript.Try(msbuildRestoreCommand.Script); ret &= BuildScript.Try(msbuildRestoreCommand.Script);
@@ -119,7 +122,7 @@ namespace Semmle.Autobuild.Shared
command.RunCommand("set Platform=&& type NUL", quoteExe: false); command.RunCommand("set Platform=&& type NUL", quoteExe: false);
} }
command.MsBuildCommand(builder); command.MsBuildCommand(builder, preferDotnet);
command.QuoteArgument(projectOrSolution.FullPath); command.QuoteArgument(projectOrSolution.FullPath);
var target = "rebuild"; var target = "rebuild";

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Xml; using System.Xml;
using Semmle.Util.Logging;
namespace Semmle.Autobuild.Shared namespace Semmle.Autobuild.Shared
{ {
@@ -26,6 +25,26 @@ namespace Semmle.Autobuild.Shared
private readonly Lazy<List<Project<TAutobuildOptions>>> includedProjectsLazy; private readonly Lazy<List<Project<TAutobuildOptions>>> includedProjectsLazy;
public override IEnumerable<IProjectOrSolution> IncludedProjects => includedProjectsLazy.Value; public override IEnumerable<IProjectOrSolution> IncludedProjects => includedProjectsLazy.Value;
private static bool HasSdkAttribute(XmlElement xml) =>
xml.HasAttribute("Sdk");
private static bool AnyElement(XmlNodeList l, Func<XmlElement, bool> f) =>
l.OfType<XmlElement>().Any(f);
/// <summary>
/// According to https://learn.microsoft.com/en-us/visualstudio/msbuild/how-to-use-project-sdk?view=vs-2022#reference-a-project-sdk
/// there are three ways to reference a project SDK:
/// 1. As an attribute on the &lt;Project/&gt;.
/// 2. As a top level element of &lt;Project&gt;.
/// 3. As an attribute on an &lt;Import&gt; element.
///
/// Returns true, if the Sdk attribute is used, otherwise false.
/// </summary>
private static bool ReferencesSdk(XmlElement xml) =>
HasSdkAttribute(xml) || // Case 1
AnyElement(xml.ChildNodes, e => e.Name == "Sdk") || // Case 2
AnyElement(xml.GetElementsByTagName("Import"), HasSdkAttribute); // Case 3
public Project(Autobuilder<TAutobuildOptions> builder, string path) : base(builder, path) public Project(Autobuilder<TAutobuildOptions> builder, string path) : base(builder, path)
{ {
ToolsVersion = new Version(); ToolsVersion = new Version();
@@ -49,7 +68,7 @@ namespace Semmle.Autobuild.Shared
if (root?.Name == "Project") if (root?.Name == "Project")
{ {
if (root.HasAttribute("Sdk")) if (ReferencesSdk(root))
{ {
DotNetProject = true; DotNetProject = true;
return; return;

View File

@@ -125,6 +125,11 @@ namespace Semmle.Util
/// <returns>True if we are running on Apple Silicon.</returns> /// <returns>True if we are running on Apple Silicon.</returns>
bool IsRunningOnAppleSilicon(); bool IsRunningOnAppleSilicon();
/// <summary>
/// Checks if Mono is installed.
/// </summary>
bool IsMonoInstalled();
/// <summary> /// <summary>
/// Combine path segments, Path.Combine(). /// Combine path segments, Path.Combine().
/// </summary> /// </summary>
@@ -261,6 +266,25 @@ namespace Semmle.Util
} }
} }
bool IBuildActions.IsMonoInstalled()
{
var thisBuildActions = (IBuildActions)this;
if (thisBuildActions.IsWindows())
{
return false;
}
try
{
return 0 == thisBuildActions.RunProcess("mono", "--version", workingDirectory: null, env: null);
}
catch (Exception)
{
return false;
}
}
string IBuildActions.PathCombine(params string[] parts) => Path.Combine(parts); string IBuildActions.PathCombine(params string[] parts) => Path.Combine(parts);
void IBuildActions.WriteAllText(string filename, string contents) => File.WriteAllText(filename, contents); void IBuildActions.WriteAllText(string filename, string contents) => File.WriteAllText(filename, contents);

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-all name: codeql/csharp-solorigate-all
version: 1.7.38 version: 1.7.39-dev
groups: groups:
- csharp - csharp
- solorigate - solorigate

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-solorigate-queries name: codeql/csharp-solorigate-queries
version: 1.7.38 version: 1.7.39-dev
groups: groups:
- csharp - csharp
- solorigate - solorigate

View File

@@ -1,8 +1,2 @@
import pytest
import runs_on
# Skipping the test on macos-15, as we're running into trouble.
@pytest.mark.only_if(not runs_on.macos_15)
def test(codeql, csharp): def test(codeql, csharp):
codeql.database.create(_assert_failure=True) codeql.database.create(_assert_failure=True)

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* Improved autobuilder logic for detecting whether a project references a SDK (and should be built using `dotnet`).

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-all name: codeql/csharp-all
version: 5.1.4 version: 5.1.5-dev
groups: csharp groups: csharp
dbscheme: semmlecode.csharp.dbscheme dbscheme: semmlecode.csharp.dbscheme
extractor: csharp extractor: csharp

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes for representing abstract bounds for use in, for example, range analysis. * Provides classes for representing abstract bounds for use in, for example, range analysis.
*/ */
overlay[local?]
module;
private import internal.rangeanalysis.BoundSpecific private import internal.rangeanalysis.BoundSpecific

View File

@@ -3,6 +3,8 @@
* an expression, `b` is a `Bound` (typically zero or the value of an SSA * an expression, `b` is a `Bound` (typically zero or the value of an SSA
* variable), and `v` is an integer in the range `[0 .. m-1]`. * variable), and `v` is an integer in the range `[0 .. m-1]`.
*/ */
overlay[local?]
module;
private import internal.rangeanalysis.ModulusAnalysisSpecific::Private private import internal.rangeanalysis.ModulusAnalysisSpecific::Private
private import Bound private import Bound

View File

@@ -1,3 +1,6 @@
overlay[local?]
module;
newtype TSign = newtype TSign =
TNeg() or TNeg() or
TZero() or TZero() or

View File

@@ -5,6 +5,8 @@
* The analysis is implemented as an abstract interpretation over the * The analysis is implemented as an abstract interpretation over the
* three-valued domain `{negative, zero, positive}`. * three-valued domain `{negative, zero, positive}`.
*/ */
overlay[local?]
module;
private import SignAnalysisSpecific::Private private import SignAnalysisSpecific::Private
private import SsaReadPositionCommon private import SsaReadPositionCommon

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes for representing a position at which an SSA variable is read. * Provides classes for representing a position at which an SSA variable is read.
*/ */
overlay[local?]
module;
private import SsaReadPositionSpecific private import SsaReadPositionSpecific
import SsaReadPositionSpecific::Public import SsaReadPositionSpecific::Public

View File

@@ -1,5 +1,5 @@
name: codeql/csharp-queries name: codeql/csharp-queries
version: 1.1.1 version: 1.1.2-dev
groups: groups:
- csharp - csharp
- queries - queries

View File

@@ -16,7 +16,7 @@
.NET Core up to 3.1 .NET Core up to 3.1
.NET 5, .NET 6, .NET 7, .NET 8, .NET 9","``.sln``, ``.csproj``, ``.cs``, ``.cshtml``, ``.xaml``" .NET 5, .NET 6, .NET 7, .NET 8, .NET 9","``.sln``, ``.csproj``, ``.cs``, ``.cshtml``, ``.xaml``"
GitHub Actions [12]_,"Not applicable",Not applicable,"``.github/workflows/*.yml``, ``.github/workflows/*.yaml``, ``**/action.yml``, ``**/action.yaml``" GitHub Actions,"Not applicable",Not applicable,"``.github/workflows/*.yml``, ``.github/workflows/*.yaml``, ``**/action.yml``, ``**/action.yaml``"
Go (aka Golang), "Go up to 1.24", "Go 1.11 or more recent", ``.go`` Go (aka Golang), "Go up to 1.24", "Go 1.11 or more recent", ``.go``
Java,"Java 7 to 24 [5]_","javac (OpenJDK and Oracle JDK), Java,"Java 7 to 24 [5]_","javac (OpenJDK and Oracle JDK),
@@ -41,4 +41,3 @@
.. [9] Requires glibc 2.17. .. [9] Requires glibc 2.17.
.. [10] Support for the analysis of Swift requires macOS. .. [10] Support for the analysis of Swift requires macOS.
.. [11] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default. .. [11] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default.
.. [12] Support for GitHub Actions is in public preview.

View File

@@ -1,5 +1,5 @@
name: codeql-go-consistency-queries name: codeql-go-consistency-queries
version: 1.0.21 version: 1.0.22-dev
groups: groups:
- go - go
- queries - queries

View File

@@ -1,5 +1,5 @@
name: codeql/go-all name: codeql/go-all
version: 4.2.3 version: 4.2.4-dev
groups: go groups: go
dbscheme: go.dbscheme dbscheme: go.dbscheme
extractor: go extractor: go

View File

@@ -1,5 +1,5 @@
name: codeql/go-queries name: codeql/go-queries
version: 1.1.12 version: 1.1.13-dev
groups: groups:
- go - go
- queries - queries

View File

@@ -8,5 +8,7 @@
* the `RemoteFlowSource` and `AdditionalTaintStep` classes associated with the security queries * the `RemoteFlowSource` and `AdditionalTaintStep` classes associated with the security queries
* to model frameworks that are not covered by the standard library. * to model frameworks that are not covered by the standard library.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -1,6 +1,8 @@
/** /**
* Provides shared predicates related to contextual queries in the code viewer. * Provides shared predicates related to contextual queries in the code viewer.
*/ */
overlay[local?]
module;
import semmle.files.FileSystem import semmle.files.FileSystem
private import codeql.util.FileSystem private import codeql.util.FileSystem

View File

@@ -1,3 +1,5 @@
/** DEPRECATED: use `java.qll` instead. */ /** DEPRECATED: use `java.qll` instead. */
overlay[local?]
module;
import java import java

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates related to jump-to-definition links * Provides classes and predicates related to jump-to-definition links
* in the code viewer. * in the code viewer.
*/ */
overlay[local?]
module;
import java import java
import IDEContextual import IDEContextual

View File

@@ -1,3 +1,6 @@
overlay[local?]
module;
import java import java
class ExternalData extends @externalDataElement { class ExternalData extends @externalDataElement {

View File

@@ -1,4 +1,6 @@
/** Provides all default Java QL imports. */ /** Provides all default Java QL imports. */
overlay[local?]
module;
import Customizations import Customizations
import semmle.code.FileSystem import semmle.code.FileSystem

View File

@@ -1,5 +1,5 @@
name: codeql/java-all name: codeql/java-all
version: 7.1.3 version: 7.1.4-dev
groups: java groups: java
dbscheme: config/semmlecode.dbscheme dbscheme: config/semmlecode.dbscheme
extractor: java extractor: java

View File

@@ -1,4 +1,6 @@
/** Provides classes for working with files and folders. */ /** Provides classes for working with files and folders. */
overlay[local?]
module;
import Location import Location
private import codeql.util.FileSystem private import codeql.util.FileSystem

View File

@@ -3,6 +3,8 @@
* *
* Locations represent parts of files and are used to map elements to their source location. * Locations represent parts of files and are used to map elements to their source location.
*/ */
overlay[local?]
module;
import FileSystem import FileSystem
import semmle.code.java.Element import semmle.code.java.Element

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with SMAP files (see JSR-045). * Provides classes and predicates for working with SMAP files (see JSR-045).
*/ */
overlay[local?]
module;
import java import java

View File

@@ -1,3 +1,5 @@
/** Provides the `Unit` class. */ /** Provides the `Unit` class. */
overlay[local?]
module;
import codeql.util.Unit import codeql.util.Unit

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for working with configuration files, such * Provides classes and predicates for working with configuration files, such
* as Java `.properties` or `.ini` files. * as Java `.properties` or `.ini` files.
*/ */
overlay[local?]
module;
import semmle.code.Location import semmle.code.Location

View File

@@ -8,6 +8,8 @@
* Each annotation type has zero or more annotation elements that contain a * Each annotation type has zero or more annotation elements that contain a
* name and possibly a value. * name and possibly a value.
*/ */
overlay[local?]
module;
import Element import Element
import Expr import Expr

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for reasoning about instances of * Provides classes and predicates for reasoning about instances of
* `java.util.Collection` and their methods. * `java.util.Collection` and their methods.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -1,6 +1,8 @@
/** /**
* Provides a class representing individual compiler invocations that occurred during the build. * Provides a class representing individual compiler invocations that occurred during the build.
*/ */
overlay[local?]
module;
import semmle.code.FileSystem import semmle.code.FileSystem

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Java compilation units. * Provides classes and predicates for working with Java compilation units.
*/ */
overlay[local?]
module;
import Element import Element
import Package import Package

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for representing completions. * Provides classes and predicates for representing completions.
*/ */
overlay[local?]
module;
/* /*
* A completion represents how a statement or expression terminates. * A completion represents how a statement or expression terminates.

View File

@@ -1,3 +1,6 @@
overlay[local?]
module;
import java import java
/** /**

View File

@@ -1,6 +1,8 @@
/** /**
* Provdides a module to calculate constant integer and boolean values. * Provdides a module to calculate constant integer and boolean values.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -7,6 +7,8 @@
* statement, an expression, or an exit node for a callable, indicating that * statement, an expression, or an exit node for a callable, indicating that
* execution of the callable terminates. * execution of the callable terminates.
*/ */
overlay[local?]
module;
/* /*
* The implementation is centered around the concept of a _completion_, which * The implementation is centered around the concept of a _completion_, which

View File

@@ -4,6 +4,8 @@
* *
* See the Java Language Specification, Section 5, for details. * See the Java Language Specification, Section 5, for details.
*/ */
overlay[local?]
module;
import java import java
import semmle.code.java.arithmetic.Overflow import semmle.code.java.arithmetic.Overflow

View File

@@ -1,6 +1,8 @@
/** /**
* Provides utility predicates for representing dependencies between types. * Provides utility predicates for representing dependencies between types.
*/ */
overlay[local?]
module;
import Type import Type
import Generics import Generics

View File

@@ -1,6 +1,8 @@
/** /**
* This library provides utility predicates for representing the number of dependencies between types. * This library provides utility predicates for representing the number of dependencies between types.
*/ */
overlay[local?]
module;
import Type import Type
import Generics import Generics

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes representing warnings generated during compilation. * Provides classes representing warnings generated during compilation.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -1,6 +1,8 @@
/** /**
* Provides a class that represents named elements in Java programs. * Provides a class that represents named elements in Java programs.
*/ */
overlay[local?]
module;
import CompilationUnit import CompilationUnit
import semmle.code.Location import semmle.code.Location

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Java exceptions. * Provides classes and predicates for working with Java exceptions.
*/ */
overlay[local?]
module;
import Element import Element
import Type import Type

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes for working with Java expressions. * Provides classes for working with Java expressions.
*/ */
overlay[local?]
module;
import java import java
private import semmle.code.java.frameworks.android.Compose private import semmle.code.java.frameworks.android.Compose

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with the most common types of generated files. * Provides classes and predicates for working with the most common types of generated files.
*/ */
overlay[local?]
module;
import Type import Type
private import semmle.code.java.frameworks.JavaxAnnotations private import semmle.code.java.frameworks.JavaxAnnotations

View File

@@ -30,6 +30,8 @@
* *
* The terminology for generic methods is analogous. * The terminology for generic methods is analogous.
*/ */
overlay[local?]
module;
import Type import Type

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Java imports. * Provides classes and predicates for working with Java imports.
*/ */
overlay[local?]
module;
import semmle.code.Location import semmle.code.Location
import CompilationUnit import CompilationUnit

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with J2EE bean types. * Provides classes and predicates for working with J2EE bean types.
*/ */
overlay[local?]
module;
import Type import Type

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with standard classes and methods from the JDK. * Provides classes and predicates for working with standard classes and methods from the JDK.
*/ */
overlay[local?]
module;
import Member import Member
import semmle.code.java.security.ExternalProcess import semmle.code.java.security.ExternalProcess

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes that represent standard annotations from the JDK. * Provides classes that represent standard annotations from the JDK.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with JMX bean types. * Provides classes and predicates for working with JMX bean types.
*/ */
overlay[local?]
module;
import Type import Type

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Javadoc documentation. * Provides classes and predicates for working with Javadoc documentation.
*/ */
overlay[local?]
module;
import semmle.code.Location import semmle.code.Location

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Kotlin types. * Provides classes and predicates for working with Kotlin types.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for reasoning about instances of * Provides classes and predicates for reasoning about instances of
* `java.util.Map` and their methods. * `java.util.Map` and their methods.
*/ */
overlay[local?]
module;
import java import java
import Collections import Collections

View File

@@ -2,6 +2,8 @@
* Provides classes and predicates for working with members of Java classes and interfaces, * Provides classes and predicates for working with members of Java classes and interfaces,
* that is, methods, constructors, fields and nested types. * that is, methods, constructors, fields and nested types.
*/ */
overlay[local?]
module;
import Element import Element
import Type import Type

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Java modifiers. * Provides classes and predicates for working with Java modifiers.
*/ */
overlay[local?]
module;
import Element import Element

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes for working with Java modules. * Provides classes for working with Java modules.
*/ */
overlay[local?]
module;
import CompilationUnit import CompilationUnit

View File

@@ -1,4 +1,6 @@
/** Provides classes and predicates for reasoning about `java.lang.NumberFormatException`. */ /** Provides classes and predicates for reasoning about `java.lang.NumberFormatException`. */
overlay[local?]
module;
import java import java

View File

@@ -1,6 +1,8 @@
/** /**
* Provides classes and predicates for working with Java packages. * Provides classes and predicates for working with Java packages.
*/ */
overlay[local?]
module;
import Element import Element
import Type import Type

View File

@@ -2,6 +2,8 @@
* Provides pretty-printed representations of the AST, in particular top-level * Provides pretty-printed representations of the AST, in particular top-level
* classes and interfaces. * classes and interfaces.
*/ */
overlay[local?]
module;
import java import java

View File

@@ -5,6 +5,8 @@
* extend `PrintAstConfiguration` and override `shouldPrint` to hold for only the elements * extend `PrintAstConfiguration` and override `shouldPrint` to hold for only the elements
* you wish to view the AST for. * you wish to view the AST for.
*/ */
overlay[local?]
module;
import java import java
import semmle.code.java.regex.RegexTreeView as RegexTreeView import semmle.code.java.regex.RegexTreeView as RegexTreeView

Some files were not shown because too many files have changed in this diff Show More