Skip to content

Commit 6fa3ff3

Browse files
committed
Merge branch 'main' into napalys/toSpliced-support
2 parents b333f52 + c8c15a0 commit 6fa3ff3

File tree

381 files changed

+37576
-596
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

381 files changed

+37576
-596
lines changed

.bazelrc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,5 @@ common --registry=file:///%workspace%/misc/bazel/registry
2323
common --registry=https://bcr.bazel.build
2424

2525
common --@rules_dotnet//dotnet/settings:strict_deps=false
26-
common --experimental_isolated_extension_usages
2726

2827
try-import %workspace%/local.bazelrc

.bazelrc.internal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ common --registry=https://bcr.bazel.build
88
# its implementation packages without providing any code itself.
99
# We either can depend on internal implementation details, or turn of strict deps.
1010
common --@rules_dotnet//dotnet/settings:strict_deps=false
11-
common --experimental_isolated_extension_usages

BUILD.bazel

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
exports_files(["LICENSE"])
1+
exports_files([
2+
"LICENSE",
3+
"Cargo.lock",
4+
"Cargo.toml",
5+
])

MODULE.bazel

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -31,41 +31,44 @@ bazel_dep(name = "rules_rust", version = "0.52.2")
3131

3232
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
3333

34-
# crate_py but shortened due to Windows file path considerations
35-
cp = use_extension(
36-
"@rules_rust//crate_universe:extension.bzl",
37-
"crate",
38-
isolate = True,
39-
)
40-
cp.from_cargo(
41-
name = "py_deps",
42-
cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock",
43-
manifests = [
44-
"//python/extractor/tsg-python:Cargo.toml",
45-
"//python/extractor/tsg-python/tsp:Cargo.toml",
34+
# Keep edition and version approximately in sync with internal repo.
35+
# the versions there are canonical, the versions here are used for CI in github/codeql, as well as for the vendoring of dependencies.
36+
RUST_EDITION = "2021"
37+
38+
RUST_VERSION = "1.81.0"
39+
40+
rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
41+
rust.toolchain(
42+
edition = RUST_EDITION,
43+
# We need those extra target triples so that we can build universal binaries on macos
44+
extra_target_triples = [
45+
"x86_64-apple-darwin",
46+
"aarch64-apple-darwin",
4647
],
48+
versions = [RUST_VERSION],
4749
)
48-
use_repo(cp, "py_deps")
50+
use_repo(rust, "rust_toolchains")
4951

50-
# deps for ruby+rust, but shortened due to windows file paths
51-
r = use_extension(
52-
"@rules_rust//crate_universe:extension.bzl",
53-
"crate",
54-
isolate = True,
55-
)
56-
r.from_cargo(
57-
name = "r",
58-
cargo_lockfile = "//:Cargo.lock",
59-
manifests = [
60-
"//:Cargo.toml",
61-
"//ruby/extractor:Cargo.toml",
62-
"//rust/extractor:Cargo.toml",
63-
"//rust/extractor/macros:Cargo.toml",
64-
"//rust/ast-generator:Cargo.toml",
65-
"//shared/tree-sitter-extractor:Cargo.toml",
66-
],
52+
register_toolchains("@rust_toolchains//:all")
53+
54+
rust_host_tools = use_extension("@rules_rust//rust:extensions.bzl", "rust_host_tools")
55+
56+
# Don't download a second toolchain as host toolchain, make sure this is the same version as above
57+
# The host toolchain is used for vendoring dependencies.
58+
rust_host_tools.host_tools(
59+
edition = RUST_EDITION,
60+
version = RUST_VERSION,
6761
)
68-
use_repo(r, tree_sitter_extractors_deps = "r")
62+
63+
# deps for python extractor
64+
# keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh`
65+
py_deps = use_extension("//misc/bazel/3rdparty:py_deps_extension.bzl", "p")
66+
use_repo(py_deps, "vendor__anyhow-1.0.44", "vendor__cc-1.0.70", "vendor__clap-2.33.3", "vendor__regex-1.5.5", "vendor__smallvec-1.6.1", "vendor__string-interner-0.12.2", "vendor__thiserror-1.0.29", "vendor__tree-sitter-0.20.4", "vendor__tree-sitter-graph-0.7.0")
67+
68+
# deps for ruby+rust
69+
# keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh`
70+
tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r")
71+
use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1")
6972

7073
dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet")
7174
dotnet.toolchain(dotnet_version = "8.0.101")

cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,6 @@ private predicate isInvalidFunction(Function func) {
196196
expr.getEnclosingFunction() = func and
197197
not exists(expr.getType())
198198
)
199-
or
200-
count(func.getEntryPoint().getLocation()) > 1
201199
}
202200

203201
/**
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
test1.cpp:
2+
# 3| int foo(int)
3+
# 3| Block 0
4+
# 3| v3_1(void) = EnterFunction :
5+
test2.cpp:
6+
# 1| v3_1(void) = EnterFunction :
7+
test1.cpp:
8+
# 3| mu3_2(unknown) = AliasedDefinition :
9+
test2.cpp:
10+
# 1| mu3_2(unknown) = AliasedDefinition :
11+
test1.cpp:
12+
# 3| mu3_3(unknown) = InitializeNonLocal :
13+
test2.cpp:
14+
# 1| mu3_3(unknown) = InitializeNonLocal :
15+
test1.cpp:
16+
# 3| r3_4(glval<int>) = VariableAddress[i] :
17+
test2.cpp:
18+
# 1| r3_4(glval<int>) = VariableAddress[i] :
19+
test1.cpp:
20+
# 3| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4
21+
test2.cpp:
22+
# 1| mu3_5(int) = InitializeParameter[i] : &:r1_4, &:r3_4
23+
#-----| Goto -> Block 2
24+
#-----| Goto -> Block 2
25+
26+
# 1| Block 0
27+
#-----| Goto -> Block 2
28+
#-----| Goto -> Block 2
29+
30+
test1.cpp:
31+
# 3| Block 1
32+
# 3| r3_6(glval<int>) = VariableAddress[#return] :
33+
test2.cpp:
34+
# 1| r3_6(glval<int>) = VariableAddress[#return] :
35+
test1.cpp:
36+
# 3| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m?
37+
test2.cpp:
38+
# 1| v3_7(void) = ReturnValue : &:r1_6, &:r3_6, ~m?
39+
test1.cpp:
40+
# 3| v3_8(void) = AliasedUse : ~m?
41+
test2.cpp:
42+
# 1| v3_8(void) = AliasedUse : ~m?
43+
test1.cpp:
44+
# 3| v3_9(void) = ExitFunction :
45+
test2.cpp:
46+
# 1| v3_9(void) = ExitFunction :
47+
48+
# 1| Block 1
49+
50+
test1.cpp:
51+
# 4| Block 2
52+
# 4| r4_1(glval<int>) = VariableAddress[#return] :
53+
# 4| r4_2(int) = Constant[42] :
54+
# 4| mu4_3(int) = Store[#return] : &:r4_1, r4_2
55+
#-----| Goto -> Block 1
56+
#-----| Goto -> Block 1
57+
58+
test2.cpp:
59+
# 2| Block 2
60+
# 2| r2_1(glval<int>) = VariableAddress[#return] :
61+
# 2| r2_2(glval<int>) = VariableAddress[i] :
62+
# 2| r2_3(int) = Load[i] : &:r2_2, ~m?
63+
# 2| mu2_4(int) = Store[#return] : &:r2_1, r2_3
64+
#-----| Goto -> Block 1
65+
#-----| Goto -> Block 1
66+
67+
# 1| int foo(int)

java/documentation/library-coverage/coverage.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ jakarta.xml.bind.attachment,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,
7979
java.applet,,,11,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11,
8080
java.awt,1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,3
8181
java.beans,,,177,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,82,95
82-
java.io,66,1,225,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,1,,202,23
82+
java.io,66,1,226,,,,,,,,,22,,,,,,,,,,,,,,,44,,,,,,,,,,,,,,,,,,,,,,1,,203,23
8383
java.lang,38,3,783,,13,,,,,,1,,,,,,,,,,,,8,,,,11,,,4,,,1,,,,,,,,,,,,,,,3,,,506,277
8484
java.math,,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9
8585
java.net,23,3,347,,,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,,,,,,,,,,,,,,3,248,99

java/documentation/library-coverage/coverage.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ Java framework & library support
1818
`Google Guava <https://guava.dev/>`_,``com.google.common.*``,,730,43,9,,,,,
1919
JBoss Logging,``org.jboss.logging``,,,324,,,,,,
2020
`JSON-java <https://github.com/stleary/JSON-java>`_,``org.json``,,236,,,,,,,
21-
Java Standard Library,``java.*``,10,4621,259,99,,9,,,26
21+
Java Standard Library,``java.*``,10,4622,259,99,,9,,,26
2222
Java extensions,"``javax.*``, ``jakarta.*``",69,4159,90,10,4,2,1,1,4
2323
Kotlin Standard Library,``kotlin*``,,1849,16,14,,,,,2
2424
`Spring <https://spring.io/>`_,``org.springframework.*``,38,486,143,26,,28,14,,35
2525
Others,"``actions.osgi``, ``antlr``, ``ch.ethz.ssh2``, ``cn.hutool.core.codec``, ``com.alibaba.druid.sql``, ``com.alibaba.fastjson2``, ``com.amazonaws.auth``, ``com.auth0.jwt.algorithms``, ``com.azure.identity``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.google.gson``, ``com.hubspot.jinjava``, ``com.jcraft.jsch``, ``com.microsoft.sqlserver.jdbc``, ``com.mitchellbosecke.pebble``, ``com.mongodb``, ``com.opensymphony.xwork2``, ``com.rabbitmq.client``, ``com.sshtools.j2ssh.authentication``, ``com.sun.crypto.provider``, ``com.sun.jndi.ldap``, ``com.sun.net.httpserver``, ``com.sun.net.ssl``, ``com.sun.rowset``, ``com.sun.security.auth.module``, ``com.sun.security.ntlm``, ``com.sun.security.sasl.digest``, ``com.thoughtworks.xstream``, ``com.trilead.ssh2``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``freemarker.cache``, ``freemarker.template``, ``groovy.lang``, ``groovy.text``, ``groovy.util``, ``hudson``, ``io.jsonwebtoken``, ``io.netty.bootstrap``, ``io.netty.buffer``, ``io.netty.channel``, ``io.netty.handler.codec``, ``io.netty.handler.ssl``, ``io.netty.handler.stream``, ``io.netty.resolver``, ``io.netty.util``, ``io.undertow.server.handlers.resource``, ``javafx.scene.web``, ``jenkins``, ``jodd.json``, ``liquibase.database.jvm``, ``liquibase.statement.core``, ``net.lingala.zip4j``, ``net.schmizz.sshj``, ``net.sf.json``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.acegisecurity``, ``org.antlr.runtime``, ``org.apache.commons.codec``, ``org.apache.commons.compress.archivers.tar``, ``org.apache.commons.exec``, ``org.apache.commons.httpclient.util``, ``org.apache.commons.jelly``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.lang``, ``org.apache.commons.logging``, ``org.apache.commons.net``, ``org.apache.commons.ognl``, ``org.apache.cxf.catalog``, ``org.apache.cxf.common.classloader``, ``org.apache.cxf.common.jaxb``, ``org.apache.cxf.common.logging``, ``org.apache.cxf.configuration.jsse``, ``org.apache.cxf.helpers``, ``org.apache.cxf.resource``, ``org.apache.cxf.staxutils``, ``org.apache.cxf.tools.corba.utils``, ``org.apache.cxf.tools.util``, ``org.apache.cxf.transform``, ``org.apache.directory.ldap.client.api``, ``org.apache.hadoop.fs``, ``org.apache.hadoop.hive.metastore``, ``org.apache.hadoop.hive.ql.exec``, ``org.apache.hadoop.hive.ql.metadata``, ``org.apache.hc.client5.http.async.methods``, ``org.apache.hc.client5.http.classic.methods``, ``org.apache.hc.client5.http.fluent``, ``org.apache.hive.hcatalog.templeton``, ``org.apache.ibatis.jdbc``, ``org.apache.ibatis.mapping``, ``org.apache.log4j``, ``org.apache.shiro.authc``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.apache.shiro.mgt``, ``org.apache.sshd.client.session``, ``org.apache.struts.beanvalidation.validation.interceptor``, ``org.apache.struts2``, ``org.apache.tools.ant``, ``org.apache.tools.zip``, ``org.apache.velocity.app``, ``org.apache.velocity.runtime``, ``org.codehaus.cargo.container.installer``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.eclipse.jetty.client``, ``org.fusesource.leveldbjni``, ``org.geogebra.web.full.main``, ``org.gradle.api.file``, ``org.hibernate``, ``org.influxdb``, ``org.jboss.vfs``, ``org.jdbi.v3.core``, ``org.jenkins.ui.icon``, ``org.jenkins.ui.symbol``, ``org.jooq``, ``org.keycloak.models.map.storage``, ``org.kohsuke.stapler``, ``org.lastaflute.web``, ``org.mvel2``, ``org.openjdk.jmh.runner.options``, ``org.owasp.esapi``, ``org.pac4j.jwt.config.encryption``, ``org.pac4j.jwt.config.signature``, ``org.scijava.log``, ``org.slf4j``, ``org.thymeleaf``, ``org.xml.sax``, ``org.xmlpull.v1``, ``org.yaml.snakeyaml``, ``play.libs.ws``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``, ``software.amazon.awssdk.transfer.s3.model``, ``sun.jvmstat.perfdata.monitor.protocol.local``, ``sun.jvmstat.perfdata.monitor.protocol.rmi``, ``sun.misc``, ``sun.net.ftp``, ``sun.net.www.protocol.http``, ``sun.security.acl``, ``sun.security.jgss.krb5``, ``sun.security.krb5``, ``sun.security.pkcs``, ``sun.security.pkcs11``, ``sun.security.provider``, ``sun.security.ssl``, ``sun.security.x509``, ``sun.tools.jconsole``",133,10525,908,140,6,22,18,,208
26-
Totals,,312,26328,2635,404,16,128,33,1,409
26+
Totals,,312,26329,2635,404,16,128,33,1,409
2727

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
Added support for `String.prototype.matchAll`.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Added taint-steps for `Array.prototype.toReversed`.
5+
* Added taint-steps for `Array.prototype.toSorted`.

0 commit comments

Comments
 (0)