Compare commits

..

19 Commits

Author SHA1 Message Date
Jeongsoo Lee
2931b95074 Merge branch 'main' into jeongsoolee09/refine-amdmodule 2025-05-06 10:55:14 -07:00
Owen Mansel-Chan
55efb113c2 Merge pull request #19463 from github/dependabot/go_modules/go/extractor/extractor-dependencies-e95546ca81
Bump golang.org/x/tools from 0.32.0 to 0.33.0 in /go/extractor in the extractor-dependencies group
2025-05-06 11:05:48 +01:00
dependabot[bot]
824271a84a Bump golang.org/x/tools
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools).


Updates `golang.org/x/tools` from 0.32.0 to 0.33.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-version: 0.33.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 03:58:02 +00:00
Jeongsoo Lee
44b1bc90fb Merge branch 'main' into jeongsoolee09/refine-amdmodule 2025-05-05 08:24:36 -07:00
Jeongsoo Lee
c327e6ff07 Remove type enforcement on the TValueNode 2025-05-05 11:19:11 -04:00
Arthur Baars
9b0854edb1 Merge pull request #19335 from github/aibaars/macro-stmts
Rust: make MacroStmts expressions
2025-05-03 11:22:15 +02:00
Jeroen Ketema
aa80b83874 Merge pull request #19420 from github/jketema/swift-6.1-contructs
Swift: Support new Swift 6.1 AST elements
2025-05-02 20:13:20 +02:00
Arthur Baars
6bf50d8f86 Rust: add upgrade/downgrade scripts 2025-05-02 16:36:51 +02:00
Jeroen Ketema
5c4ca64264 Swift: Add change note 2025-05-02 16:29:42 +02:00
Arthur Baars
bc35599f1a Rust: rename MacroStmts to MacroBlockExpr 2025-05-02 16:23:02 +02:00
Arthur Baars
869af58c9d Rust: add flow step for MacroStmts 2025-05-02 16:23:00 +02:00
Arthur Baars
9ca6706550 Rust: make MacroStmts a CFG Expr 2025-05-02 16:22:59 +02:00
Arthur Baars
4ca98ba816 Rust: test with format! macro in a block 2025-05-02 16:22:57 +02:00
Jeroen Ketema
95ac458d2a Swift: Add upgrade and downgrade scripts 2025-05-02 16:04:49 +02:00
Jeroen Ketema
98384bf4c2 Swift: Support BuiltinFixedArrayType 2025-05-02 14:47:58 +02:00
Jeroen Ketema
c74fca929a Swift: Support TypeValueExpr and IntegerType 2025-05-02 14:47:56 +02:00
Jeroen Ketema
97d2ed8b3b Swift: Support UnsafeCastExpr 2025-05-02 14:47:55 +02:00
Jeongsoo Lee
f0dfa51fb9 Dynamically determine the callback argument's position
An additional parameter may be anywhere in the
parameter list and shift around the exact index of
the callback argument in the parameter list.

So, "dynamically" determine the index by type-checking
a parameter in the parameter list.

Note 1: There may be multiple matches since we're
using `_` (don't care) as the argument index.

Note 2: We could have used DataFlow::InvokeNode.getCallback
if the supertype were not CallExpr, but jumping to
data flow node is an overkill here.
2025-04-23 14:36:27 -04:00
Jeongsoo Lee
06e3a01314 Change definition of getFactoryNodeInternal
Some variants of AMD module such as
[sap.ui.define])(https://sdk.openui5.org/api/sap.ui#methods/sap.ui.define)
can accept a boolean as its last parameter.
Therefore, explicitly state the index of the
factory method parameter as `1`.
2025-04-23 14:16:12 -04:00
113 changed files with 26974 additions and 449 deletions

View File

@@ -88,7 +88,6 @@ class Declaration extends Locatable, @declaration {
*
* See the 3-argument `hasQualifiedName` for examples.
*/
pragma[noinline]
predicate hasQualifiedName(string namespaceQualifier, string baseName) {
this.hasQualifiedName(namespaceQualifier, "", baseName)
}

View File

@@ -815,15 +815,10 @@ private predicate isRelatableMemoryLocation(VariableMemoryLocation vml) {
vml.getStartBitOffset() != Ints::unknown()
}
pragma[noinline]
private int getRank(VirtualVariable vvar, IntValue offset) {
offset = rank[result](IntValue offset_ | isRelevantOffset(vvar, offset_))
}
private predicate isCoveredOffset(Allocation var, int offsetRank, VariableMemoryLocation vml) {
exists(int startRank, int endRank, VirtualVariable vvar |
startRank = getRank(vvar, vml.getStartBitOffset()) and
endRank = getRank(vvar, vml.getEndBitOffset()) and
vml.getStartBitOffset() = rank[startRank](IntValue offset_ | isRelevantOffset(vvar, offset_)) and
vml.getEndBitOffset() = rank[endRank](IntValue offset_ | isRelevantOffset(vvar, offset_)) and
var = vml.getAnAllocation() and
vvar = vml.getVirtualVariable() and
isRelatableMemoryLocation(vml) and

View File

@@ -117,28 +117,26 @@ class TranslatedStaticStorageDurationVarInit extends TranslatedRootElement,
* directly accessed by the function.
*/
final predicate hasUserVariable(Variable varUsed, CppType type) {
this.hasUserVariable1(varUsed) and
type = getTypeForPRValue(getVariableType(varUsed))
}
private predicate hasUserVariable1(Variable varUsed) {
(
varUsed instanceof GlobalOrNamespaceVariable
(
varUsed instanceof GlobalOrNamespaceVariable
or
varUsed instanceof StaticLocalVariable
or
varUsed instanceof MemberVariable and not varUsed instanceof Field
) and
exists(VariableAccess access |
access.getTarget() = varUsed and
getEnclosingVariable(access) = var
)
or
varUsed instanceof StaticLocalVariable
var = varUsed
or
varUsed instanceof MemberVariable and not varUsed instanceof Field
varUsed.(LocalScopeVariable).getEnclosingElement*() = var
or
varUsed.(Parameter).getCatchBlock().getEnclosingElement*() = var
) and
exists(VariableAccess access |
access.getTarget() = varUsed and
getEnclosingVariable(access) = var
)
or
var = varUsed
or
varUsed.(LocalScopeVariable).getEnclosingElement*() = var
or
varUsed.(Parameter).getCatchBlock().getEnclosingElement*() = var
type = getTypeForPRValue(getVariableType(varUsed))
}
}

View File

@@ -10,7 +10,7 @@ toolchain go1.24.0
// bazel mod tidy
require (
golang.org/x/mod v0.24.0
golang.org/x/tools v0.32.0
golang.org/x/tools v0.33.0
)
require golang.org/x/sync v0.13.0 // indirect
require golang.org/x/sync v0.14.0 // indirect

View File

@@ -2,7 +2,7 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=

View File

@@ -91,7 +91,7 @@ class AmdModuleDefinition extends CallExpr instanceof AmdModuleDefinition::Range
Function getFactoryFunction() { TValueNode(result) = this.getFactoryNodeInternal() }
private EarlyStageNode getFactoryNodeInternal() {
result = TValueNode(this.getLastArgument())
result = TValueNode(this.getArgument(_))
or
DataFlow::localFlowStep(result, this.getFactoryNodeInternal())
}

View File

@@ -1372,7 +1372,7 @@ module API {
exists(DataFlow::TypeBackTracker t, StepSummary summary, DataFlow::Node next |
next = trackDefNode(nd, t) and
StepSummary::step(prev, next, summary) and
result = t.prepend_cached(summary)
result = t.prepend(summary)
)
}

View File

@@ -138,7 +138,7 @@ class TypeTracker extends TTypeTracker {
TypeTracker step(DataFlow::SourceNode pred, DataFlow::SourceNode succ) {
exists(StepSummary summary |
StepSummary::step(pred, succ, summary) and
result = pragma[only_bind_out](this).append(summary)
result = this.append(summary)
)
}
@@ -224,16 +224,8 @@ class TypeBackTracker extends TTypeBackTracker {
TypeBackTracker() { this = MkTypeBackTracker(hasReturn, prop) }
/** Gets the summary resulting from prepending `step` to this type-tracking summary. */
bindingset[this, step]
pragma[inline_late]
TypeBackTracker prepend(StepSummary step) { result = this.prepend_cached(step) }
/**
* INTERNAL: DO NOT USE
* Raw version of prepend.
*/
cached
TypeBackTracker prepend_cached(StepSummary step) {
TypeBackTracker prepend(StepSummary step) {
Stages::TypeTracking::ref() and
step = LevelStep() and
result = this

View File

@@ -236,7 +236,7 @@ module Stages {
or
exists(any(DataFlow::TypeTracker t).append(_))
or
exists(any(DataFlow::TypeBackTracker t).prepend_cached(_))
exists(any(DataFlow::TypeBackTracker t).prepend(_))
or
DataFlow::functionForwardingStep(_, _)
or

View File

@@ -12,11 +12,8 @@
import javascript
int labelInCaseStartColumn(Case c, LabeledStmt l) {
l = c.getAChildStmt+() and
result = l.getLocation().getStartColumn()
}
from LabeledStmt l, Case c
where labelInCaseStartColumn(c, l) = c.getLocation().getStartColumn()
where
l = c.getAChildStmt+() and
l.getLocation().getStartColumn() = c.getLocation().getStartColumn()
select l.getChildExpr(0), "Non-case labels in switch statements are confusing."

View File

@@ -187,7 +187,7 @@ class PointsToContext extends TPointsToContext {
pragma[inline]
predicate appliesTo(ControlFlowNode n) {
exists(Scope s |
this.appliesToScope(s) and s = n.getScope()
this.appliesToScope(pragma[only_bind_into](s)) and pragma[only_bind_into](s) = n.getScope()
)
}

View File

@@ -54,14 +54,6 @@ class NetHttpRequest extends Http::Client::Request::Range, DataFlow::CallNode {
override DataFlow::Node getAUrlPart() {
result = request.getArgument(0)
or
result = this.getAUrlPartFromConstructor()
}
/**
* Gets a node that contributes to the URL of the request
* indirectly, through the constructor.
*/
private DataFlow::Node getAUrlPartFromConstructor() {
// Net::HTTP.new(...).get(...)
exists(API::Node new |
new = API::getTopLevelMember("Net").getMember("HTTP").getInstance() and

View File

@@ -23,6 +23,7 @@ fn class_name(type_name: &str) -> String {
"Literal" => "LiteralExpr".to_owned(),
"ArrayExpr" => "ArrayExprInternal".to_owned(),
"AsmOptions" => "AsmOptionsList".to_owned(),
"MacroStmts" => "MacroBlockExpr".to_owned(),
_ if type_name.starts_with("Record") => type_name.replacen("Record", "Struct", 1),
_ if type_name.ends_with("Type") => format!("{}Repr", type_name),
_ => type_name.to_owned(),
@@ -36,6 +37,7 @@ fn property_name(type_name: &str, field_name: &str) -> String {
("MatchExpr", "expr") => "scrutinee",
("Variant", "expr") => "discriminant",
("FieldExpr", "expr") => "container",
("MacroBlockExpr", "expr") => "tail_expr",
(_, "name_ref") => "identifier",
(_, "then_branch") => "then",
(_, "else_branch") => "else_",

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,9 @@
description: Rename MacroBlockExpr to MacroStmts
compatibility: full
macro_stmts.rel: reorder macro_block_exprs(@macro_block_expr id) id
macro_stmts_exprs.rel: reorder macro_block_expr_tail_exprs(@macro_block_expr id, @expr tail_expr) id tail_expr
macro_stmts_statements.rel: reorder macro_block_expr_statements(@macro_block_expr id, int index, @stmt statement) id index statement
macro_block_exprs.rel: delete
macro_block_expr_tail_exprs.rel: delete
macro_block_expr_statements.rel: delete

View File

@@ -1,2 +1,2 @@
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
top.rs 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692
top.rs 47c9cc0e39e81a89bf62497e7b3e45c9cd585c425aaac7fc5d07113e8ef9861d 47c9cc0e39e81a89bf62497e7b3e45c9cd585c425aaac7fc5d07113e8ef9861d

View File

@@ -1515,60 +1515,6 @@ impl From<trap::Label<MacroItems>> for trap::Label<Element> {
}
}
#[derive(Debug)]
pub struct MacroStmts {
pub id: trap::TrapId<MacroStmts>,
pub expr: Option<trap::Label<Expr>>,
pub statements: Vec<trap::Label<Stmt>>,
}
impl trap::TrapEntry for MacroStmts {
fn extract_id(&mut self) -> trap::TrapId<Self> {
std::mem::replace(&mut self.id, trap::TrapId::Star)
}
fn emit(self, id: trap::Label<Self>, out: &mut trap::Writer) {
out.add_tuple("macro_stmts", vec![id.into()]);
if let Some(v) = self.expr {
out.add_tuple("macro_stmts_exprs", vec![id.into(), v.into()]);
}
for (i, v) in self.statements.into_iter().enumerate() {
out.add_tuple("macro_stmts_statements", vec![id.into(), i.into(), v.into()]);
}
}
}
impl trap::TrapClass for MacroStmts {
fn class_name() -> &'static str { "MacroStmts" }
}
impl From<trap::Label<MacroStmts>> for trap::Label<AstNode> {
fn from(value: trap::Label<MacroStmts>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroStmts is a subclass of AstNode
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<MacroStmts>> for trap::Label<Locatable> {
fn from(value: trap::Label<MacroStmts>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroStmts is a subclass of Locatable
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<MacroStmts>> for trap::Label<Element> {
fn from(value: trap::Label<MacroStmts>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroStmts is a subclass of Element
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct MatchArm {
pub id: trap::TrapId<MatchArm>,
@@ -6361,6 +6307,69 @@ impl From<trap::Label<LiteralPat>> for trap::Label<Element> {
}
}
#[derive(Debug)]
pub struct MacroBlockExpr {
pub id: trap::TrapId<MacroBlockExpr>,
pub tail_expr: Option<trap::Label<Expr>>,
pub statements: Vec<trap::Label<Stmt>>,
}
impl trap::TrapEntry for MacroBlockExpr {
fn extract_id(&mut self) -> trap::TrapId<Self> {
std::mem::replace(&mut self.id, trap::TrapId::Star)
}
fn emit(self, id: trap::Label<Self>, out: &mut trap::Writer) {
out.add_tuple("macro_block_exprs", vec![id.into()]);
if let Some(v) = self.tail_expr {
out.add_tuple("macro_block_expr_tail_exprs", vec![id.into(), v.into()]);
}
for (i, v) in self.statements.into_iter().enumerate() {
out.add_tuple("macro_block_expr_statements", vec![id.into(), i.into(), v.into()]);
}
}
}
impl trap::TrapClass for MacroBlockExpr {
fn class_name() -> &'static str { "MacroBlockExpr" }
}
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Expr> {
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Expr
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<MacroBlockExpr>> for trap::Label<AstNode> {
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of AstNode
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Locatable> {
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Locatable
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Element> {
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Element
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct MacroExpr {
pub id: trap::TrapId<MacroExpr>,

View File

@@ -1365,16 +1365,16 @@ impl Translator<'_> {
Some(label)
}
pub(crate) fn emit_macro_stmts(&mut self, node: ast::MacroStmts) -> Option<Label<generated::MacroStmts>> {
let expr = node.expr().and_then(|x| self.emit_expr(x));
pub(crate) fn emit_macro_stmts(&mut self, node: ast::MacroStmts) -> Option<Label<generated::MacroBlockExpr>> {
let tail_expr = node.expr().and_then(|x| self.emit_expr(x));
let statements = node.statements().filter_map(|x| self.emit_stmt(x)).collect();
let label = self.trap.emit(generated::MacroStmts {
let label = self.trap.emit(generated::MacroBlockExpr {
id: TrapId::Star,
expr,
tail_expr,
statements,
});
self.emit_location(label, &node);
emit_detached!(MacroStmts, self, node, label);
emit_detached!(MacroBlockExpr, self, node, label);
self.emit_tokens(&node, label.into(), node.syntax().children_with_tokens());
Some(label)
}

View File

@@ -1,4 +1,4 @@
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll d1cc3cfc9ae558b1cb473e3bfca66e5c424445b98ce343eb6f3050321fe4f8a0 8d00e385230b45360bc6281af01e0f674c58117593fd1b3cb7eb0c8a45517542
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 3ec9d072adb1abd802800a104716c6896f1874fd1967cbdf55a94644d6203e71 30b03b44f858e00f3688dccaa0804306242d6fcdb077c18a94c601af32c6c703
lib/codeql/rust/elements/Abi.qll 4c973d28b6d628f5959d1f1cc793704572fd0acaae9a97dfce82ff9d73f73476 250f68350180af080f904cd34cb2af481c5c688dc93edf7365fd0ae99855e893
lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be
lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8cf11bedd628969741486a2 28e424aac01a90fb58cd6f9f83c7e4cf379eea39e636bc0ba07efc818be71c71
@@ -89,13 +89,13 @@ lib/codeql/rust/elements/LiteralPat.qll daffb5f380a47543669c8cc92628b0e0de478c3a
lib/codeql/rust/elements/Locatable.qll 2855efa4a469b54e0ca85daa89309a8b991cded6f3f10db361010831ba1e11d3 00c3406d14603f90abea11bf074eaf2c0b623a30e29cf6afc3a247cb58b92f0f
lib/codeql/rust/elements/LoopExpr.qll ee171177650fa23eef102a9580765f4b6073a1cc41bab1ec31ad4f84ffe6c2c9 bfcf0cca4dc944270d9748a202829a38c64dfae167c0d3a4202788ceb9daf5f6
lib/codeql/rust/elements/LoopingExpr.qll 7ad7d4bbfd05adc0bb9b4ca90ff3377b8298121ca5360ffb45d5a7a1e20fe37a 964168b2045ee9bad827bba53f10a64d649b3513f2d1e3c17a1b1f11d0fc7f3a
lib/codeql/rust/elements/MacroBlockExpr.qll fb81f067a142053b122e2875a15719565024cfb09326faf12e0f1017307deb58 3ee94ef7e56bd07a8f9304869b0a7b69971b02abbee46d0bebcacb4031760282
lib/codeql/rust/elements/MacroCall.qll a39a11d387355f59af3007dcbab3282e2b9e3289c1f8f4c6b96154ddb802f8c3 88d4575e462af2aa780219ba1338a790547fdfc1d267c4b84f1b929f4bc08d05
lib/codeql/rust/elements/MacroDef.qll acb39275a1a3257084314a46ad4d8477946130f57e401c70c5949ad6aafc5c5f 6a8a8db12a3ec345fede51ca36e8c6acbdce58c5144388bb94f0706416fa152a
lib/codeql/rust/elements/MacroExpr.qll ea9fed13f610bab1a2c4541c994510e0cb806530b60beef0d0c36b23e3b620f0 ad11a6bbd3a229ad97a16049cc6b0f3c8740f9f75ea61bbf4eebb072db9b12d2
lib/codeql/rust/elements/MacroItems.qll 00a5d41f7bb836d952abbd9382e42f72a9d81e65646a15a460b35ccd07a866c6 00efdb4d701b5599d76096f740da9ec157804865267b7e29bc2a214cbf03763e
lib/codeql/rust/elements/MacroPat.qll dbf193b4fb544ac0b5a7dcfc31a6652de7239b6e643ff15b05868b2c142e940c 19b45c0a1eb1198e450c05d564b5d4aa0d6da29e7db84b9521eadf901e20a932
lib/codeql/rust/elements/MacroRules.qll a94535506798077043b9c1470992ac4310bf67bcce5f722080886d1b3e6d90d1 bd8e08a7171991abc85100b45267631e66d1b332caf1e5882cd17caee5cf18a3
lib/codeql/rust/elements/MacroStmts.qll 6e9a1f90231cb72b27d3ff9479e399a9fba4abd0872a5005ab2fac45d5ca9be0 d6ca3a8254fc45794a93c451a3305c9b4be033a467ad72158d40d6f675a377a0
lib/codeql/rust/elements/MacroTypeRepr.qll 92fa5f6d20cce8fa3f2b4b823a8a77fdb7c11f2c2b12b8f900828c3a54eca334 51289f2622d1bb58d9a093255da2c05084a0b184f02e69e2526ec7fefdfdfd75
lib/codeql/rust/elements/MatchArm.qll c39fd6cc0da24b1ff8d1e42835bcfee7695ad13580e3c7c50acd7c881b1cd894 62a31d2bd125e6aaebefc406e541a641271d3c497a377959f94dd4735b2bfbf8
lib/codeql/rust/elements/MatchArmList.qll e6c48fd7419d88e996b82eb45e4aa2686dfd079b283b02be7710192fb2cb93a0 0ec63a0ca56f5f7f80093fd3e77b198b74c6289e67be55dc6a4deb610753c7bd
@@ -310,6 +310,8 @@ lib/codeql/rust/elements/internal/LiteralExprConstructor.qll 8ea3569bd50704ce7d5
lib/codeql/rust/elements/internal/LiteralPatConstructor.qll b660cb428a0cba0b713fc7b07d5d2921de4a2f65a805535fb6387684c40620de 2dbc9fbc56e9de53d24265d6b13738ef5b9ced33cc3c4c1c270e04dc2fc1330f
lib/codeql/rust/elements/internal/LoopExprConstructor.qll 45f3f8f7441fcab6adc58831421679ee07bac68ac0417f3cbc90c97426cc805b f7ab3361b4a11e898126378ea277d76949466946762cd6cb5e9e9b4bb9860420
lib/codeql/rust/elements/internal/LoopingExprImpl.qll 17885c1bcf7b5a3f9c7bbad3d4d55e24372af0dedd5e7fc0efcfc0a8b2cdad70 104dc45ca399b9f6e8227ad561679f728d60170398a52b31fc90cb2a2dd3c33c
lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll 90097c0d2c94083e997396e01cf24349af5eb1788060368dc21ae8cd8ce90d93 e067904a734356e38fbadbc4277629c5987adce6d8f7737f7458ac07e9b264af
lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll f7a8dd1dcde2355353e17d06bb197e2d6e321ea64a39760a074d1887e68d63d6 8d429be9b6aa9f711e050b6b07f35637de22e8635a559e06dd9153a8b7947274
lib/codeql/rust/elements/internal/MacroCallConstructor.qll 707fee4fba1fd632cd00128f493e8919eaaea552ad653af4c1b7a138e362907d b49e7e36bf9306199f2326af042740ff858871b5c79f6aeddf3d5037044dbf1f
lib/codeql/rust/elements/internal/MacroDefConstructor.qll 382a3bdf46905d112ee491620cc94f87d584d72f49e01eb1483f749e4709c055 eb61b90d8d8d655c2b00ff576ae20c8da9709eeef754212bc64d8e1558ad05ce
lib/codeql/rust/elements/internal/MacroDefImpl.qll f26e787ffd43e8cb079db01eba04412dbf32c338938acf1bc09a2f094bbdfdfe 044f43bc94fe4b6df22afae32e9f039d1d0d9e85ad9f24b6388be71211c37ce5
@@ -321,8 +323,6 @@ lib/codeql/rust/elements/internal/MacroPatConstructor.qll 24744c1bbe21c1d249a042
lib/codeql/rust/elements/internal/MacroPatImpl.qll 7470e2d88c38c7300a64986f058ba92bb22b4945438e2e0e268f180c4f267b71 c1507df74fc4c92887f3e0a4f857f54b61f174ffae5b1af6fb70f466175d658b
lib/codeql/rust/elements/internal/MacroRulesConstructor.qll dc04726ad59915ec980501c4cd3b3d2ad774f454ddbf138ff5808eba6bd63dea 8d6bf20feb850c47d1176237027ef131f18c5cbb095f6ab8b3ec58cea9bce856
lib/codeql/rust/elements/internal/MacroRulesImpl.qll 10c03adfb63ee7a4348ff5cffc6ef5300a531b048f28811a51e940b053e69f68 2498bd64aeaea9849c086abeaa6c248e4ce41b4436155f4bd4840965976d5d54
lib/codeql/rust/elements/internal/MacroStmtsConstructor.qll c293815cd69c002ba6de1db6018672654420f3f8bdd143f9d0c620adddd2be02 d376f8f07661a8cad1b10039076fd7fca353dcacf3ca40ed6507b8c874e849ca
lib/codeql/rust/elements/internal/MacroStmtsImpl.qll 27faff9da93ad7f22a6236c73ebb4d4631161cf4ec1b82958cdf79c85aa2087c 7e2863eaf50d4b285b9240f2c5ff9497cfb4393c8528a0738d725d00f1a78406
lib/codeql/rust/elements/internal/MacroTypeReprConstructor.qll cf8a3bdcd41dda1452200993206593e957825b406b357fc89c6286cb282347ac a82279485416567428ab7bff7b8da7a3d1233fb1cfcdb1b22932ff13bd8c8ec9
lib/codeql/rust/elements/internal/MacroTypeReprImpl.qll 8044498e426597c767308b0bd8894402f7b30f334c71970d7a09dae5e25dd74d c0d566147777f562055727ebfc255e81dfb87ee724782a5a0ceb02f57597c7a0
lib/codeql/rust/elements/internal/MatchArmConstructor.qll b41c1d5822d54127ce376ef62c6a5fa60e11697319fc7d9c9c54fd313d784a93 96cca80e5684e5893c0e9c0dff365ef8ad9e15ff648c9969ba42d91f95abea05
@@ -551,13 +551,13 @@ lib/codeql/rust/elements/internal/generated/LiteralPat.qll f36b09cf39330019c111e
lib/codeql/rust/elements/internal/generated/Locatable.qll c897dc1bdd4dfcb6ded83a4a93332ca3d8f421bae02493ea2a0555023071775e b32d242f8c9480dc9b53c1e13a5cb8dcfce575b0373991c082c1db460a3e37b8
lib/codeql/rust/elements/internal/generated/LoopExpr.qll db6bc87e795c9852426ec661fa2c2c54106805897408b43a67f5b82fb4657afd 1492866ccf8213469be85bbdbcae0142f4e2a39df305d4c0d664229ecd1ebdb9
lib/codeql/rust/elements/internal/generated/LoopingExpr.qll 0792c38d84b8c68114da2bbdfef32ef803b696cb0fd06e10e101756d5c46976c 111fe961fad512722006323c3f2a075fddf59bd3eb5c7afc349835fcec8eb102
lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll 778376cdfa4caaa9df0b9c21bda5ff0f1037b730aa43efb9fb0a08998ef3999b 6df39efe7823ce590ef6f4bdfa60957ba067205a77d94ac089b2c6a7f6b7b561
lib/codeql/rust/elements/internal/generated/MacroCall.qll fc8988696493992cc4fdce8c0e5610c54ee92ea52ebb05262338f8b612353f50 188a2d7a484bd402a521787371e64f6e00e928306c8d437e6b19bf890a7aa14e
lib/codeql/rust/elements/internal/generated/MacroDef.qll e9b3f07ba41aa12a8e0bd6ec1437b26a6c363065ce134b6d059478e96c2273a6 87470dea99da1a6afb3a19565291f9382e851ba864b50a995ac6f29589efbd70
lib/codeql/rust/elements/internal/generated/MacroExpr.qll 03a1daa41866f51e479ac20f51f8406d04e9946b24f3875e3cf75a6b172c3d35 1ae8ca0ee96bd2be32575d87c07cc999a6ff7770151b66c0e3406f9454153786
lib/codeql/rust/elements/internal/generated/MacroItems.qll 894890f61e118b3727d03ca813ae7220a15e45195f2d1d059cb1bba6802128c8 db3854b347f8782a3ec9f9a1439da822727b66f0bd33727383184ab65dbf29ac
lib/codeql/rust/elements/internal/generated/MacroPat.qll 26bc55459a66359ad83ed7b25284a25cdbd48a868fd1bbf7e23e18b449395c43 f16ede334becba951873e585c52a3a9873c9251e3dab9a3c1a1681f632f2079f
lib/codeql/rust/elements/internal/generated/MacroRules.qll 4fbd94f22b5ee0f3e5aaae39c2b9a5e9b7bf878a1017811ca589942f6de92843 49fb69543ee867bae196febea6918e621f335afdf4d3ccbf219965b37c7537b1
lib/codeql/rust/elements/internal/generated/MacroStmts.qll cb4f3c2721a4d0c8522e51f567c675f4fc95f39bac8a2bd97e125d5553515ad2 09b5a739ccee75e6c556b34ecd6f78c7dc799029d9bc7df2e6169098d24f0ccd
lib/codeql/rust/elements/internal/generated/MacroTypeRepr.qll 4242e253fa36ee3f7d9d0677811ff5bc4ecfb02c76d768446a6a6dcd38061f68 a676632f3bb83142a0838601ae2a582d5c32d7939e4261eb8fccf3962bb06cb2
lib/codeql/rust/elements/internal/generated/MatchArm.qll f8c4c955c50f8398159c492d9d0a74f7b71e9510fcb8a3aab1d06e0f7e15b263 713939c7ef77ca73d95788096163c26213ab49f34ed41c6f4bc09a1ef9607b0d
lib/codeql/rust/elements/internal/generated/MatchArmList.qll 13362680c037fe83fef4653562cc10a4429078316b5ec7c47b076336cf4aca2e 41c674293c13eceaca62134ae0c6778541f6a5201cbc5c146f0ba01b898dc267
@@ -579,7 +579,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b
lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60
lib/codeql/rust/elements/internal/generated/ParenPat.qll 4f168ef5d5bb87a903251cc31b2e44a759b099ec69c90af31783fbb15778c940 0e34f94a45a13396fd57d94c245dc64d1adde2ab0e22b56946f7e94c04e297fc
lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 40ab5c592e7699c621787793743e33988de71ff42ca27599f5ab3ddb70e3f7d8 12c0a6eed2202ee3e892f61da3b3ce77ac3190854cdf3097e8d2be98aa3cb91d
lib/codeql/rust/elements/internal/generated/ParentChild.qll d1770632e8d0c649ebcbcab9cbc653531ecf521bbf5d891941db8c0927ae6796 fb40a76aff319ec5f7dae9a05da083b337887b0918b3702641b39342213ddf6f
lib/codeql/rust/elements/internal/generated/ParentChild.qll abf6697a61edbb76320e68eda5e26ddda6ea1f514c83648183901d751619982c a253318e802b6129fff63123a050fff93a79f9075c130d393ad13995d08f38f7
lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll c5fa328ea60d3a3333d7c7bb3480969c1873166c7ac8ebb9d0afad7a8099d1a8 2dbbb6200d96f7db7dea4a55bdeab8d67b14d39a43e0bd54ada019f7e466f163
lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4
lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd
@@ -594,7 +594,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 51d1e9e683fc79dddbff
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9
lib/codeql/rust/elements/internal/generated/Raw.qll 6e33d9fa21ee3287a0ebc27856a09f4fdc4d587b5a31ff1c4337106de7ca1a2e eece38e6accb6b9d8838fd05edd7cbaf6f7ee37190adbef2b023ad91064d1622
lib/codeql/rust/elements/internal/generated/Raw.qll 2fb3828c97d078d37084ce791c698bc56c81fe73e134a319089d65ec55ceb138 0234a0a5fdd741d78238dbae1ce0d841d8473b8f396fee986b6ce2b69f2abe17
lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66
lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05
lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 3d8c0bd296d33b91a81633f697a43269a6538df06d277262d3990d3f6880ef57 13680f39e89bcd8299c218aba396f3deec804597e6f7cb7d4a7e7c748b6faa77
@@ -620,8 +620,8 @@ lib/codeql/rust/elements/internal/generated/StructFieldList.qll 8911a44217d091b0
lib/codeql/rust/elements/internal/generated/StructPat.qll c76fa005c2fd0448a8803233e1e8818c4123301eb66ac5cf69d0b9eaafc61e98 6e0dffccdce24bca20e87d5ba0f0995c9a1ae8983283e71e7dbfcf6fffc67a58
lib/codeql/rust/elements/internal/generated/StructPatField.qll 5b5c7302dbc4a902ca8e69ff31875c867e295a16a626ba3cef29cd0aa248f179 4e192a0df79947f5cb0d47fdbbba7986137a6a40a1be92ae119873e2fad67edf
lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll e34c003e660ba059ba81bb73b3c8d21bd2a47d0251569c46277dc9ccf2947b0a 85113f35ba5f6b9e01ad4072246a4de1ac0e4528348ac564868e96f34a3e09e2
lib/codeql/rust/elements/internal/generated/Synth.qll 409b9ae5c78f47f271eb05a9eb7043df6cd6ca35ce381843714667f1f2dfdf9a aa4d5082abccd7cd47a493447eea79b0a3ff81439c333f05087030e76f0fa8e5
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll fe007cf6eab5f0cf89ea1ea91e1f9b23e0fcf0f2872f52ef352584503f90aa29 fe007cf6eab5f0cf89ea1ea91e1f9b23e0fcf0f2872f52ef352584503f90aa29
lib/codeql/rust/elements/internal/generated/Synth.qll eb248f4e57985ec8eabf9ed5cfb8ba8f5ebd6ca17fb712c992811bced0e342d4 bbcbdba484d3b977a0d6b9158c5fa506f59ced2ad3ae8239d536bf826bfb7e31
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll bcc7f617b775ac0c7f04b1cc333ed7cc0bd91f1fabc8baa03c824d1df03f6076 bcc7f617b775ac0c7f04b1cc333ed7cc0bd91f1fabc8baa03c824d1df03f6076
lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b
lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c
lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e
@@ -658,7 +658,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 7edf1f23fbf953a2baabcd
lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499
lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b
lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85
lib/codeql/rust/elements.qll 05fb894d008a9c0478d03fb1639ffc57516b67d9de7f7309331279512f630b4a 05fb894d008a9c0478d03fb1639ffc57516b67d9de7f7309331279512f630b4a
lib/codeql/rust/elements.qll da721d51bc659921998521579df5bff6172d9079d8e243c2b65a5b9eb441b52e da721d51bc659921998521579df5bff6172d9079d8e243c2b65a5b9eb441b52e
test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f
test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52
test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684
@@ -894,6 +894,9 @@ test/extractor-tests/generated/LoopExpr/LoopExpr.ql 37b320acefa3734331f87414de27
test/extractor-tests/generated/LoopExpr/LoopExpr_getAttr.ql d557c1a34ae8762b32702d6b50e79c25bc506275c33a896b6b94bbbe73d04c49 34846c9eefa0219f4a16e28b518b2afa23f372d0aa03b08d042c5a35375e0cd6
test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql 0b77b9d9fb5903d37bce5a2c0d6b276e6269da56fcb37b83cd931872fb88490f c7f09c526e59dcadec13ec9719980d68b8619d630caab2c26b8368b06c1f2cc0
test/extractor-tests/generated/LoopExpr/LoopExpr_getLoopBody.ql 0267f54077640f3dfeb38524577e4a1229115eeb1c839398d0c5f460c1d65129 96ec876635b8c561f7add19e57574444f630eae3df9ab9bc33ac180e61f3a7b8
test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql 03144a5448de91801037f3c1e6d29a230e18f9c077c718e5c3801a31cf593977 9a035e3f119b0e0c88fc4c775a032220a01680fbea2cc7f8e98180205b9bb8da
test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr_getStatement.ql 415a762768df2c850d21742daab5e53cd248dc3dc9652414b99737f1d5c5824b bdd2ba6c004ada34f26dac3bbc7abcd5fe250c77a97faa7fd71fb54a0dd4743a
test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr_getTailExpr.ql 8f6604c09e85da1a19b0f87340cebeb1cdf4e94b208305c7393082d88cf0b032 5081d9db5b38454fad1daad2f8972661bd2fb4cce2c815a560a15f8a7b9cfcee
test/extractor-tests/generated/MacroCall/MacroCall.ql f41552ce4c8132db854132e445aa0c8df514bfd375aa71cc9ed0ae838b7df9f1 442ecbe1481084bb072c6f8cf0eb595b7ad371587e8708610a10f2cc718535f7
test/extractor-tests/generated/MacroCall/MacroCall_getAttr.ql c22a2a29d705e85b03a6586d1eda1a2f4f99f95f7dfeb4e6908ec3188b5ad0ad 9b8d9dcc2116a123c15c520a880efab73ade20e08197c64bc3ed0c50902c4672
test/extractor-tests/generated/MacroCall/MacroCall_getCrateOrigin.ql 3030e87de6f773d510882ee4469146f6008898e23a4a4ccabcbaa7da1a4e765e a10fe67315eda1c59d726d538ead34f35ccffc3e121eeda74c286d49a4ce4f54
@@ -922,9 +925,6 @@ test/extractor-tests/generated/MacroRules/MacroRules_getExtendedCanonicalPath.ql
test/extractor-tests/generated/MacroRules/MacroRules_getName.ql 591606e3accae8b8fb49e1218c4867a42724ac209cf99786db0e5d7ea0bf55d5 d2936ef5aa4bbf024372516dde3de578990aafb2b8675bbbf0f72e8b54eb82a8
test/extractor-tests/generated/MacroRules/MacroRules_getTokenTree.ql 7598d33c3d86f9ad8629219b90667b2b65e3a1e18c6b0887291df9455a319cab 69d90446743e78e851145683c17677497fe42ed02f61f2b2974e216dc6e05b01
test/extractor-tests/generated/MacroRules/MacroRules_getVisibility.ql 5306cc85f470d21ebcbe6e98436334b0bf5ba819a0ae186569ba7e88c31636c6 fcbf5c54e5a904767a6f4d37d853072aa0040738e622c49c9a02dec8739d6587
test/extractor-tests/generated/MacroStmts/MacroStmts.ql 991042263ba99acef0972697ce79132e5650b27bf53be2f975a0da1f29940fd8 64c44e65b3c5d3de5f9532b4ff7ce54b39442b37f63da8b10d789b9b52b85a9e
test/extractor-tests/generated/MacroStmts/MacroStmts_getExpr.ql 5717f20376600e7bf5e471beae1a7c0084f235f0931f8b3f25d2de94ebb86f8b e4685fd9d45b078a6402c285eed3a15cc4550f6656c8bc5e7e274a88d1c7e9b3
test/extractor-tests/generated/MacroStmts/MacroStmts_getStatement.ql 8958b2212776f487869c29314e7d28f5871f5c3dde62fd9d6f87fb9e94204498 6804f5d4c0c5909689bdcdd5b8ec11ca7a8c0399b47695f66d2f99e39561565a
test/extractor-tests/generated/MacroTypeRepr/MacroTypeRepr.ql 49c0dbf587f84023025f90d73d54f5320993f4db7dcc90e21eda53fc0b4d1f57 0a0712171db935c549a9cfddb6721c2c188c584a67be85409ffc3facf6c9a935
test/extractor-tests/generated/MacroTypeRepr/MacroTypeRepr_getMacroCall.ql cae14884e549c74be4b600a264eb236993d7b8ddd86589a9116ee2ba18f181e1 1d4ae2d8ed9ce0d7635a2ae447b41a328e59e97c6df7827ee7d5cf62343e86e1
test/extractor-tests/generated/MatchArm/MatchArm.ql 512aa404c94ba40b859564f07e9dffe6a5e687fafb039556e9145f4f3742981c 529f96e38cede8a26054f8981d4ba1d189c17d14d0f92d622eb20acd8f3d7e5d

14
rust/ql/.gitattributes generated vendored
View File

@@ -91,13 +91,13 @@
/lib/codeql/rust/elements/Locatable.qll linguist-generated
/lib/codeql/rust/elements/LoopExpr.qll linguist-generated
/lib/codeql/rust/elements/LoopingExpr.qll linguist-generated
/lib/codeql/rust/elements/MacroBlockExpr.qll linguist-generated
/lib/codeql/rust/elements/MacroCall.qll linguist-generated
/lib/codeql/rust/elements/MacroDef.qll linguist-generated
/lib/codeql/rust/elements/MacroExpr.qll linguist-generated
/lib/codeql/rust/elements/MacroItems.qll linguist-generated
/lib/codeql/rust/elements/MacroPat.qll linguist-generated
/lib/codeql/rust/elements/MacroRules.qll linguist-generated
/lib/codeql/rust/elements/MacroStmts.qll linguist-generated
/lib/codeql/rust/elements/MacroTypeRepr.qll linguist-generated
/lib/codeql/rust/elements/MatchArm.qll linguist-generated
/lib/codeql/rust/elements/MatchArmList.qll linguist-generated
@@ -312,6 +312,8 @@
/lib/codeql/rust/elements/internal/LiteralPatConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/LoopExprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/LoopingExprImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroCallConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroDefConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroDefImpl.qll linguist-generated
@@ -323,8 +325,6 @@
/lib/codeql/rust/elements/internal/MacroPatImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroRulesConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroRulesImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroStmtsConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroStmtsImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroTypeReprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/MacroTypeReprImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/MatchArmConstructor.qll linguist-generated
@@ -553,13 +553,13 @@
/lib/codeql/rust/elements/internal/generated/Locatable.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/LoopExpr.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/LoopingExpr.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroCall.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroDef.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroExpr.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroItems.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroPat.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroRules.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroStmts.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MacroTypeRepr.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MatchArm.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/MatchArmList.qll linguist-generated
@@ -896,6 +896,9 @@
/test/extractor-tests/generated/LoopExpr/LoopExpr_getAttr.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLabel.ql linguist-generated
/test/extractor-tests/generated/LoopExpr/LoopExpr_getLoopBody.ql linguist-generated
/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql linguist-generated
/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr_getStatement.ql linguist-generated
/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr_getTailExpr.ql linguist-generated
/test/extractor-tests/generated/MacroCall/MacroCall.ql linguist-generated
/test/extractor-tests/generated/MacroCall/MacroCall_getAttr.ql linguist-generated
/test/extractor-tests/generated/MacroCall/MacroCall_getCrateOrigin.ql linguist-generated
@@ -924,9 +927,6 @@
/test/extractor-tests/generated/MacroRules/MacroRules_getName.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getTokenTree.ql linguist-generated
/test/extractor-tests/generated/MacroRules/MacroRules_getVisibility.ql linguist-generated
/test/extractor-tests/generated/MacroStmts/MacroStmts.ql linguist-generated
/test/extractor-tests/generated/MacroStmts/MacroStmts_getExpr.ql linguist-generated
/test/extractor-tests/generated/MacroStmts/MacroStmts_getStatement.ql linguist-generated
/test/extractor-tests/generated/MacroTypeRepr/MacroTypeRepr.ql linguist-generated
/test/extractor-tests/generated/MacroTypeRepr/MacroTypeRepr_getMacroCall.ql linguist-generated
/test/extractor-tests/generated/MatchArm/MatchArm.ql linguist-generated

View File

@@ -107,7 +107,7 @@ class FormatTemplateVariableAccessTree extends LeafTree, FormatTemplateVariableA
class ItemTree extends LeafTree, Item {
ItemTree() {
not this instanceof MacroCall and
this = [any(StmtList s).getAStatement(), any(MacroStmts s).getAStatement()]
this = [any(StmtList s).getAStatement(), any(MacroBlockExpr s).getAStatement()]
}
}
@@ -146,12 +146,12 @@ class MacroCallTree extends StandardPostOrderTree, MacroCall {
override AstNode getChildNode(int i) { i = 0 and result = this.getExpanded() }
}
class MacroStmtsTree extends StandardPreOrderTree, MacroStmts {
class MacroBlockExprTree extends StandardPostOrderTree, MacroBlockExpr {
override AstNode getChildNode(int i) {
result = this.getStatement(i)
or
i = this.getNumberOfStatements() and
result = this.getExpr()
result = this.getTailExpr()
}
}

View File

@@ -1766,6 +1766,58 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
predicate hasLoopBody() { exists(this.getLoopBody()) }
}
final private class ParentMacroBlockExpr extends ParentAstNode, MacroBlockExpr {
override predicate relevantChild(AstNode child) {
none()
or
child = this.getTailExpr()
}
}
/**
* A sequence of statements generated by a `MacroCall`. For example:
* ```rust
* fn main() {
* println!("Hello, world!"); // This macro expands into a list of statements
* }
* ```
*/
final class MacroBlockExprCfgNode extends CfgNodeFinal, ExprCfgNode {
private MacroBlockExpr node;
MacroBlockExprCfgNode() { node = this.getAstNode() }
/** Gets the underlying `MacroBlockExpr`. */
MacroBlockExpr getMacroBlockExpr() { result = node }
/**
* Gets the tail expression of this macro block expression, if it exists.
*/
ExprCfgNode getTailExpr() {
any(ChildMapping mapping).hasCfgChild(node, node.getTailExpr(), this, result)
}
/**
* Holds if `getTailExpr()` exists.
*/
predicate hasTailExpr() { exists(this.getTailExpr()) }
/**
* Gets the `index`th statement of this macro block expression (0-based).
*/
Stmt getStatement(int index) { result = node.getStatement(index) }
/**
* Gets any of the statements of this macro block expression.
*/
Stmt getAStatement() { result = this.getStatement(_) }
/**
* Gets the number of statements of this macro block expression.
*/
int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) }
}
final private class ParentMacroCall extends ParentAstNode, MacroCall {
override predicate relevantChild(AstNode child) { none() }
}
@@ -3699,6 +3751,18 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
cfgNode
)
or
pred = "getTailExpr" and
parent =
any(Nodes::MacroBlockExprCfgNode cfgNode, MacroBlockExpr astNode |
astNode = cfgNode.getMacroBlockExpr() and
child = getDesugared(astNode.getTailExpr()) and
i = -1 and
hasCfgNode(child) and
not child = cfgNode.getTailExpr().getAstNode()
|
cfgNode
)
or
pred = "getMacroCall" and
parent =
any(Nodes::MacroExprCfgNode cfgNode, MacroExpr astNode |

View File

@@ -203,6 +203,7 @@ private ExprCfgNode getALastEvalNode(ExprCfgNode e) {
result = e.(ReturnExprCfgNode).getExpr() or
result = e.(BreakExprCfgNode).getExpr() or
result = e.(BlockExprCfgNode).getTailExpr() or
result = e.(MacroBlockExprCfgNode).getTailExpr() or
result = e.(MatchExprCfgNode).getArmExpr(_) or
result = e.(MacroExprCfgNode).getMacroCall().(MacroCallCfgNode).getExpandedNode() or
result.(BreakExprCfgNode).getTarget() = e

View File

@@ -94,13 +94,13 @@ import codeql.rust.elements.LiteralPat
import codeql.rust.elements.Locatable
import codeql.rust.elements.LoopExpr
import codeql.rust.elements.LoopingExpr
import codeql.rust.elements.MacroBlockExpr
import codeql.rust.elements.MacroCall
import codeql.rust.elements.MacroDef
import codeql.rust.elements.MacroExpr
import codeql.rust.elements.MacroItems
import codeql.rust.elements.MacroPat
import codeql.rust.elements.MacroRules
import codeql.rust.elements.MacroStmts
import codeql.rust.elements.MacroTypeRepr
import codeql.rust.elements.MatchArm
import codeql.rust.elements.MatchArmList

View File

@@ -1,10 +1,9 @@
// generated by codegen, do not edit
/**
* This module provides the public class `MacroStmts`.
* This module provides the public class `MacroBlockExpr`.
*/
private import internal.MacroStmtsImpl
import codeql.rust.elements.AstNode
private import internal.MacroBlockExprImpl
import codeql.rust.elements.Expr
import codeql.rust.elements.Stmt
@@ -16,4 +15,4 @@ import codeql.rust.elements.Stmt
* }
* ```
*/
final class MacroStmts = Impl::MacroStmts;
final class MacroBlockExpr = Impl::MacroBlockExpr;

View File

@@ -1,14 +1,14 @@
// generated by codegen, remove this comment if you wish to edit this file
/**
* This module defines the hook used internally to tweak the characteristic predicate of
* `MacroStmts` synthesized instances.
* `MacroBlockExpr` synthesized instances.
* INTERNAL: Do not use.
*/
private import codeql.rust.elements.internal.generated.Raw
/**
* The characteristic predicate of `MacroStmts` synthesized instances.
* The characteristic predicate of `MacroBlockExpr` synthesized instances.
* INTERNAL: Do not use.
*/
predicate constructMacroStmts(Raw::MacroStmts id) { any() }
predicate constructMacroBlockExpr(Raw::MacroBlockExpr id) { any() }

View File

@@ -1,14 +1,14 @@
// generated by codegen, remove this comment if you wish to edit this file
/**
* This module provides a hand-modifiable wrapper around the generated class `MacroStmts`.
* This module provides a hand-modifiable wrapper around the generated class `MacroBlockExpr`.
*
* INTERNAL: Do not use.
*/
private import codeql.rust.elements.internal.generated.MacroStmts
private import codeql.rust.elements.internal.generated.MacroBlockExpr
/**
* INTERNAL: This module contains the customizable definition of `MacroStmts` and should not
* INTERNAL: This module contains the customizable definition of `MacroBlockExpr` and should not
* be referenced directly.
*/
module Impl {
@@ -20,5 +20,5 @@ module Impl {
* }
* ```
*/
class MacroStmts extends Generated::MacroStmts { }
class MacroBlockExpr extends Generated::MacroBlockExpr { }
}

View File

@@ -0,0 +1,66 @@
// generated by codegen, do not edit
/**
* This module provides the generated definition of `MacroBlockExpr`.
* INTERNAL: Do not import directly.
*/
private import codeql.rust.elements.internal.generated.Synth
private import codeql.rust.elements.internal.generated.Raw
import codeql.rust.elements.Expr
import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl
import codeql.rust.elements.Stmt
/**
* INTERNAL: This module contains the fully generated definition of `MacroBlockExpr` and should not
* be referenced directly.
*/
module Generated {
/**
* A sequence of statements generated by a `MacroCall`. For example:
* ```rust
* fn main() {
* println!("Hello, world!"); // This macro expands into a list of statements
* }
* ```
* INTERNAL: Do not reference the `Generated::MacroBlockExpr` class directly.
* Use the subclass `MacroBlockExpr`, where the following predicates are available.
*/
class MacroBlockExpr extends Synth::TMacroBlockExpr, ExprImpl::Expr {
override string getAPrimaryQlClass() { result = "MacroBlockExpr" }
/**
* Gets the tail expression of this macro block expression, if it exists.
*/
Expr getTailExpr() {
result =
Synth::convertExprFromRaw(Synth::convertMacroBlockExprToRaw(this)
.(Raw::MacroBlockExpr)
.getTailExpr())
}
/**
* Holds if `getTailExpr()` exists.
*/
final predicate hasTailExpr() { exists(this.getTailExpr()) }
/**
* Gets the `index`th statement of this macro block expression (0-based).
*/
Stmt getStatement(int index) {
result =
Synth::convertStmtFromRaw(Synth::convertMacroBlockExprToRaw(this)
.(Raw::MacroBlockExpr)
.getStatement(index))
}
/**
* Gets any of the statements of this macro block expression.
*/
final Stmt getAStatement() { result = this.getStatement(_) }
/**
* Gets the number of statements of this macro block expression.
*/
final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) }
}
}

View File

@@ -1,64 +0,0 @@
// generated by codegen, do not edit
/**
* This module provides the generated definition of `MacroStmts`.
* INTERNAL: Do not import directly.
*/
private import codeql.rust.elements.internal.generated.Synth
private import codeql.rust.elements.internal.generated.Raw
import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl
import codeql.rust.elements.Expr
import codeql.rust.elements.Stmt
/**
* INTERNAL: This module contains the fully generated definition of `MacroStmts` and should not
* be referenced directly.
*/
module Generated {
/**
* A sequence of statements generated by a `MacroCall`. For example:
* ```rust
* fn main() {
* println!("Hello, world!"); // This macro expands into a list of statements
* }
* ```
* INTERNAL: Do not reference the `Generated::MacroStmts` class directly.
* Use the subclass `MacroStmts`, where the following predicates are available.
*/
class MacroStmts extends Synth::TMacroStmts, AstNodeImpl::AstNode {
override string getAPrimaryQlClass() { result = "MacroStmts" }
/**
* Gets the expression of this macro statements, if it exists.
*/
Expr getExpr() {
result =
Synth::convertExprFromRaw(Synth::convertMacroStmtsToRaw(this).(Raw::MacroStmts).getExpr())
}
/**
* Holds if `getExpr()` exists.
*/
final predicate hasExpr() { exists(this.getExpr()) }
/**
* Gets the `index`th statement of this macro statements (0-based).
*/
Stmt getStatement(int index) {
result =
Synth::convertStmtFromRaw(Synth::convertMacroStmtsToRaw(this)
.(Raw::MacroStmts)
.getStatement(index))
}
/**
* Gets any of the statements of this macro statements.
*/
final Stmt getAStatement() { result = this.getStatement(_) }
/**
* Gets the number of statements of this macro statements.
*/
final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) }
}
}

View File

@@ -616,26 +616,6 @@ private module Impl {
)
}
private Element getImmediateChildOfMacroStmts(MacroStmts e, int index, string partialPredicateCall) {
exists(int b, int bAstNode, int n, int nExpr, int nStatement |
b = 0 and
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
n = bAstNode and
nExpr = n + 1 and
nStatement = nExpr + 1 + max(int i | i = -1 or exists(e.getStatement(i)) | i) and
(
none()
or
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
or
index = n and result = e.getExpr() and partialPredicateCall = "Expr()"
or
result = e.getStatement(index - nExpr) and
partialPredicateCall = "Statement(" + (index - nExpr).toString() + ")"
)
)
}
private Element getImmediateChildOfMatchArm(MatchArm e, int index, string partialPredicateCall) {
exists(int b, int bAstNode, int n, int nAttr, int nExpr, int nGuard, int nPat |
b = 0 and
@@ -2388,6 +2368,28 @@ private module Impl {
)
}
private Element getImmediateChildOfMacroBlockExpr(
MacroBlockExpr e, int index, string partialPredicateCall
) {
exists(int b, int bExpr, int n, int nTailExpr, int nStatement |
b = 0 and
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
n = bExpr and
nTailExpr = n + 1 and
nStatement = nTailExpr + 1 + max(int i | i = -1 or exists(e.getStatement(i)) | i) and
(
none()
or
result = getImmediateChildOfExpr(e, index - b, partialPredicateCall)
or
index = n and result = e.getTailExpr() and partialPredicateCall = "TailExpr()"
or
result = e.getStatement(index - nTailExpr) and
partialPredicateCall = "Statement(" + (index - nTailExpr).toString() + ")"
)
)
}
private Element getImmediateChildOfMacroExpr(MacroExpr e, int index, string partialPredicateCall) {
exists(int b, int bExpr, int n, int nMacroCall |
b = 0 and
@@ -4156,8 +4158,6 @@ private module Impl {
or
result = getImmediateChildOfMacroItems(e, index, partialAccessor)
or
result = getImmediateChildOfMacroStmts(e, index, partialAccessor)
or
result = getImmediateChildOfMatchArm(e, index, partialAccessor)
or
result = getImmediateChildOfMatchArmList(e, index, partialAccessor)
@@ -4300,6 +4300,8 @@ private module Impl {
or
result = getImmediateChildOfLiteralPat(e, index, partialAccessor)
or
result = getImmediateChildOfMacroBlockExpr(e, index, partialAccessor)
or
result = getImmediateChildOfMacroExpr(e, index, partialAccessor)
or
result = getImmediateChildOfMacroPat(e, index, partialAccessor)

View File

@@ -502,29 +502,6 @@ module Raw {
Item getItem(int index) { macro_items_items(this, index, result) }
}
/**
* INTERNAL: Do not use.
* A sequence of statements generated by a `MacroCall`. For example:
* ```rust
* fn main() {
* println!("Hello, world!"); // This macro expands into a list of statements
* }
* ```
*/
class MacroStmts extends @macro_stmts, AstNode {
override string toString() { result = "MacroStmts" }
/**
* Gets the expression of this macro statements, if it exists.
*/
Expr getExpr() { macro_stmts_exprs(this, result) }
/**
* Gets the `index`th statement of this macro statements (0-based).
*/
Stmt getStatement(int index) { macro_stmts_statements(this, index, result) }
}
/**
* INTERNAL: Do not use.
* A match arm. For example:
@@ -2369,6 +2346,29 @@ module Raw {
LiteralExpr getLiteral() { literal_pat_literals(this, result) }
}
/**
* INTERNAL: Do not use.
* A sequence of statements generated by a `MacroCall`. For example:
* ```rust
* fn main() {
* println!("Hello, world!"); // This macro expands into a list of statements
* }
* ```
*/
class MacroBlockExpr extends @macro_block_expr, Expr {
override string toString() { result = "MacroBlockExpr" }
/**
* Gets the tail expression of this macro block expression, if it exists.
*/
Expr getTailExpr() { macro_block_expr_tail_exprs(this, result) }
/**
* Gets the `index`th statement of this macro block expression (0-based).
*/
Stmt getStatement(int index) { macro_block_expr_statements(this, index, result) }
}
/**
* INTERNAL: Do not use.
* A MacroExpr. For example:

View File

@@ -318,6 +318,10 @@ module Synth {
* INTERNAL: Do not use.
*/
TLoopExpr(Raw::LoopExpr id) { constructLoopExpr(id) } or
/**
* INTERNAL: Do not use.
*/
TMacroBlockExpr(Raw::MacroBlockExpr id) { constructMacroBlockExpr(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -342,10 +346,6 @@ module Synth {
* INTERNAL: Do not use.
*/
TMacroRules(Raw::MacroRules id) { constructMacroRules(id) } or
/**
* INTERNAL: Do not use.
*/
TMacroStmts(Raw::MacroStmts id) { constructMacroStmts(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -716,14 +716,14 @@ module Synth {
TAsmOption or TAsmPiece or TAsmRegSpec or TAssocItem or TAssocItemList or TAttr or
TCallable or TClosureBinder or TExpr or TExternItem or TExternItemList or TFieldList or
TFormatArgsArg or TGenericArg or TGenericArgList or TGenericParam or TGenericParamList or
TItemList or TLabel or TLetElse or TMacroItems or TMacroStmts or TMatchArm or
TMatchArmList or TMatchGuard or TMeta or TName or TParamBase or TParamList or
TParenthesizedArgList or TPat or TPath or TPathSegment or TRename or TResolvable or
TRetTypeRepr or TReturnTypeSyntax or TSourceFile or TStmt or TStmtList or
TStructExprField or TStructExprFieldList or TStructField or TStructPatField or
TStructPatFieldList or TToken or TTokenTree or TTupleField or TTypeBound or
TTypeBoundList or TTypeRepr or TUseBoundGenericArg or TUseBoundGenericArgs or TUseTree or
TUseTreeList or TVariantDef or TVariantList or TVisibility or TWhereClause or TWherePred;
TItemList or TLabel or TLetElse or TMacroItems or TMatchArm or TMatchArmList or
TMatchGuard or TMeta or TName or TParamBase or TParamList or TParenthesizedArgList or
TPat or TPath or TPathSegment or TRename or TResolvable or TRetTypeRepr or
TReturnTypeSyntax or TSourceFile or TStmt or TStmtList or TStructExprField or
TStructExprFieldList or TStructField or TStructPatField or TStructPatFieldList or TToken or
TTokenTree or TTupleField or TTypeBound or TTypeBoundList or TTypeRepr or
TUseBoundGenericArg or TUseBoundGenericArgs or TUseTree or TUseTreeList or TVariantDef or
TVariantList or TVisibility or TWhereClause or TWherePred;
/**
* INTERNAL: Do not use.
@@ -742,9 +742,9 @@ module Synth {
TArrayExpr or TArrayExprInternal or TAsmExpr or TAwaitExpr or TBecomeExpr or TBinaryExpr or
TBreakExpr or TCallExprBase or TCastExpr or TClosureExpr or TContinueExpr or TFieldExpr or
TFormatArgsExpr or TIfExpr or TIndexExpr or TLabelableExpr or TLetExpr or TLiteralExpr or
TMacroExpr or TMatchExpr or TOffsetOfExpr or TParenExpr or TPathExprBase or TPrefixExpr or
TRangeExpr or TRefExpr or TReturnExpr or TStructExpr or TTryExpr or TTupleExpr or
TUnderscoreExpr or TYeetExpr or TYieldExpr;
TMacroBlockExpr or TMacroExpr or TMatchExpr or TOffsetOfExpr or TParenExpr or
TPathExprBase or TPrefixExpr or TRangeExpr or TRefExpr or TReturnExpr or TStructExpr or
TTryExpr or TTupleExpr or TUnderscoreExpr or TYeetExpr or TYieldExpr;
/**
* INTERNAL: Do not use.
@@ -1300,6 +1300,12 @@ module Synth {
*/
TLoopExpr convertLoopExprFromRaw(Raw::Element e) { result = TLoopExpr(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TMacroBlockExpr`, if possible.
*/
TMacroBlockExpr convertMacroBlockExprFromRaw(Raw::Element e) { result = TMacroBlockExpr(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TMacroCall`, if possible.
@@ -1336,12 +1342,6 @@ module Synth {
*/
TMacroRules convertMacroRulesFromRaw(Raw::Element e) { result = TMacroRules(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TMacroStmts`, if possible.
*/
TMacroStmts convertMacroStmtsFromRaw(Raw::Element e) { result = TMacroStmts(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TMacroTypeRepr`, if possible.
@@ -1973,8 +1973,6 @@ module Synth {
or
result = convertMacroItemsFromRaw(e)
or
result = convertMacroStmtsFromRaw(e)
or
result = convertMatchArmFromRaw(e)
or
result = convertMatchArmListFromRaw(e)
@@ -2127,6 +2125,8 @@ module Synth {
or
result = convertLiteralExprFromRaw(e)
or
result = convertMacroBlockExprFromRaw(e)
or
result = convertMacroExprFromRaw(e)
or
result = convertMatchExprFromRaw(e)
@@ -2900,6 +2900,12 @@ module Synth {
*/
Raw::Element convertLoopExprToRaw(TLoopExpr e) { e = TLoopExpr(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TMacroBlockExpr` to a raw DB element, if possible.
*/
Raw::Element convertMacroBlockExprToRaw(TMacroBlockExpr e) { e = TMacroBlockExpr(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TMacroCall` to a raw DB element, if possible.
@@ -2936,12 +2942,6 @@ module Synth {
*/
Raw::Element convertMacroRulesToRaw(TMacroRules e) { e = TMacroRules(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TMacroStmts` to a raw DB element, if possible.
*/
Raw::Element convertMacroStmtsToRaw(TMacroStmts e) { e = TMacroStmts(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TMacroTypeRepr` to a raw DB element, if possible.
@@ -3573,8 +3573,6 @@ module Synth {
or
result = convertMacroItemsToRaw(e)
or
result = convertMacroStmtsToRaw(e)
or
result = convertMatchArmToRaw(e)
or
result = convertMatchArmListToRaw(e)
@@ -3727,6 +3725,8 @@ module Synth {
or
result = convertLiteralExprToRaw(e)
or
result = convertMacroBlockExprToRaw(e)
or
result = convertMacroExprToRaw(e)
or
result = convertMatchExprToRaw(e)

View File

@@ -77,13 +77,13 @@ import codeql.rust.elements.internal.LifetimeParamConstructor
import codeql.rust.elements.internal.LiteralExprConstructor
import codeql.rust.elements.internal.LiteralPatConstructor
import codeql.rust.elements.internal.LoopExprConstructor
import codeql.rust.elements.internal.MacroBlockExprConstructor
import codeql.rust.elements.internal.MacroCallConstructor
import codeql.rust.elements.internal.MacroDefConstructor
import codeql.rust.elements.internal.MacroExprConstructor
import codeql.rust.elements.internal.MacroItemsConstructor
import codeql.rust.elements.internal.MacroPatConstructor
import codeql.rust.elements.internal.MacroRulesConstructor
import codeql.rust.elements.internal.MacroStmtsConstructor
import codeql.rust.elements.internal.MacroTypeReprConstructor
import codeql.rust.elements.internal.MatchArmConstructor
import codeql.rust.elements.internal.MatchArmListConstructor

View File

@@ -182,7 +182,6 @@ named_crates(
| @label
| @let_else
| @macro_items
| @macro_stmts
| @match_arm
| @match_arm_list
| @match_guard
@@ -438,6 +437,7 @@ closure_binder_generic_param_lists(
| @labelable_expr
| @let_expr
| @literal_expr
| @macro_block_expr
| @macro_expr
| @match_expr
| @offset_of_expr
@@ -585,23 +585,6 @@ macro_items_items(
int item: @item ref
);
macro_stmts(
unique int id: @macro_stmts
);
#keyset[id]
macro_stmts_exprs(
int id: @macro_stmts ref,
int expr: @expr ref
);
#keyset[id, index]
macro_stmts_statements(
int id: @macro_stmts ref,
int index: int ref,
int statement: @stmt ref
);
match_arms(
unique int id: @match_arm
);
@@ -2098,6 +2081,23 @@ literal_pat_literals(
int literal: @literal_expr ref
);
macro_block_exprs(
unique int id: @macro_block_expr
);
#keyset[id]
macro_block_expr_tail_exprs(
int id: @macro_block_expr ref,
int tail_expr: @expr ref
);
#keyset[id, index]
macro_block_expr_statements(
int id: @macro_block_expr ref,
int index: int ref,
int statement: @stmt ref
);
macro_exprs(
unique int id: @macro_expr
);

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,9 @@
description: Rename MacroStmts to MacroBlockExpr
compatibility: full
macro_block_exprs.rel: reorder macro_stmts(@macro_stmts id) id
macro_block_expr_tail_exprs.rel: reorder macro_stmts_exprs(@macro_stmts id, @expr expr) id expr
macro_block_expr_statements.rel: reorder macro_stmts_statements(@macro_stmts id, int index, @stmt statement) id index statement
macro_stmts.rel: delete
macro_stmts_exprs.rel: delete
macro_stmts_statements.rel: delete

View File

@@ -56,13 +56,13 @@ LifetimeParam/gen_lifetime_param.rs 2caed50ce48360681271e4e89fde0d6d9076ebb9cd9c
LiteralExpr/gen_literal_expr.rs 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d
LiteralPat/gen_literal_pat.rs a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3 a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3
LoopExpr/gen_loop_expr.rs 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619
MacroBlockExpr/gen_macro_block_expr.rs 2e45dcf44bf2e8404b49ce9abeee4931572693174b5d96f3fd81eb40ea8e7b4b 2e45dcf44bf2e8404b49ce9abeee4931572693174b5d96f3fd81eb40ea8e7b4b
MacroCall/gen_macro_call.rs 139ef2c69323eea1a901e260d4e2acdd00b26f013b90c9344f48c6503ce29d79 139ef2c69323eea1a901e260d4e2acdd00b26f013b90c9344f48c6503ce29d79
MacroDef/gen_macro_def.rs 17c5387fb464a60b4a4520d22b055ba35ff23e9fe431a18a33808ae02c4bbff5 17c5387fb464a60b4a4520d22b055ba35ff23e9fe431a18a33808ae02c4bbff5
MacroExpr/gen_macro_expr.rs 3c23dc88fcc4bc8f97d9364d2f367671a0a5a63d07e52237d28204b64756dcdb 3c23dc88fcc4bc8f97d9364d2f367671a0a5a63d07e52237d28204b64756dcdb
MacroItems/gen_macro_items.rs 8ef3e16b73635dc97afa3ffa4db2bb21a8f1b435176861a594b0200cc5b9b931 8ef3e16b73635dc97afa3ffa4db2bb21a8f1b435176861a594b0200cc5b9b931
MacroPat/gen_macro_pat.rs b8041370598bd7fb26778d829a15c415c2078d69124f6af634ddeba13a114aa0 b8041370598bd7fb26778d829a15c415c2078d69124f6af634ddeba13a114aa0
MacroRules/gen_macro_rules.rs 7e03b410f4669e422d3b4328f7aafdca2e286e5d951495dd69cee0d44cb793a9 7e03b410f4669e422d3b4328f7aafdca2e286e5d951495dd69cee0d44cb793a9
MacroStmts/gen_macro_stmts.rs 2e45dcf44bf2e8404b49ce9abeee4931572693174b5d96f3fd81eb40ea8e7b4b 2e45dcf44bf2e8404b49ce9abeee4931572693174b5d96f3fd81eb40ea8e7b4b
MacroTypeRepr/gen_macro_type_repr.rs 03c15f1fd5af63821e49a125d236704c63889fe20a32f03f3ecf3e29b1cad9df 03c15f1fd5af63821e49a125d236704c63889fe20a32f03f3ecf3e29b1cad9df
MatchArm/gen_match_arm.rs ac75b4836a103e2755bd47a1ee1b74af6eb8349adc4ebedaaa27b3ea3ae41aa5 ac75b4836a103e2755bd47a1ee1b74af6eb8349adc4ebedaaa27b3ea3ae41aa5
MatchArmList/gen_match_arm_list.rs dbf36444d371421a2b8768a188660dd45ed3b823fb1c56b90c1ba77f177d23d6 dbf36444d371421a2b8768a188660dd45ed3b823fb1c56b90c1ba77f177d23d6

View File

@@ -58,13 +58,13 @@
/LiteralExpr/gen_literal_expr.rs linguist-generated
/LiteralPat/gen_literal_pat.rs linguist-generated
/LoopExpr/gen_loop_expr.rs linguist-generated
/MacroBlockExpr/gen_macro_block_expr.rs linguist-generated
/MacroCall/gen_macro_call.rs linguist-generated
/MacroDef/gen_macro_def.rs linguist-generated
/MacroExpr/gen_macro_expr.rs linguist-generated
/MacroItems/gen_macro_items.rs linguist-generated
/MacroPat/gen_macro_pat.rs linguist-generated
/MacroRules/gen_macro_rules.rs linguist-generated
/MacroStmts/gen_macro_stmts.rs linguist-generated
/MacroTypeRepr/gen_macro_type_repr.rs linguist-generated
/MatchArm/gen_match_arm.rs linguist-generated
/MatchArmList/gen_match_arm_list.rs linguist-generated

View File

@@ -0,0 +1 @@
| gen_macro_block_expr.rs:5:14:5:28 | MacroBlockExpr | hasTailExpr: | yes | getNumberOfStatements: | 0 |

View File

@@ -0,0 +1,11 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from MacroBlockExpr x, string hasTailExpr, int getNumberOfStatements
where
toBeTested(x) and
not x.isUnknown() and
(if x.hasTailExpr() then hasTailExpr = "yes" else hasTailExpr = "no") and
getNumberOfStatements = x.getNumberOfStatements()
select x, "hasTailExpr:", hasTailExpr, "getNumberOfStatements:", getNumberOfStatements

View File

@@ -2,6 +2,6 @@
import codeql.rust.elements
import TestUtils
from MacroStmts x, int index
from MacroBlockExpr x, int index
where toBeTested(x) and not x.isUnknown()
select x, index, x.getStatement(index)

View File

@@ -0,0 +1 @@
| gen_macro_block_expr.rs:5:14:5:28 | MacroBlockExpr | gen_macro_block_expr.rs:5:14:5:28 | { ... } |

View File

@@ -2,6 +2,6 @@
import codeql.rust.elements
import TestUtils
from MacroStmts x
from MacroBlockExpr x
where toBeTested(x) and not x.isUnknown()
select x, x.getExpr()
select x, x.getTailExpr()

View File

@@ -1 +1 @@
| gen_macro_call.rs:5:5:5:11 | todo!... | gen_macro_call.rs:5:5:5:11 | MacroStmts |
| gen_macro_call.rs:5:5:5:11 | todo!... | gen_macro_call.rs:5:5:5:11 | MacroBlockExpr |

View File

@@ -1 +0,0 @@
| gen_macro_stmts.rs:5:14:5:28 | MacroStmts | hasExpr: | yes | getNumberOfStatements: | 0 |

View File

@@ -1,11 +0,0 @@
// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
from MacroStmts x, string hasExpr, int getNumberOfStatements
where
toBeTested(x) and
not x.isUnknown() and
(if x.hasExpr() then hasExpr = "yes" else hasExpr = "no") and
getNumberOfStatements = x.getNumberOfStatements()
select x, "hasExpr:", hasExpr, "getNumberOfStatements:", getNumberOfStatements

View File

@@ -1 +0,0 @@
| gen_macro_stmts.rs:5:14:5:28 | MacroStmts | gen_macro_stmts.rs:5:14:5:28 | { ... } |

View File

@@ -560,9 +560,9 @@ dominates
| test.rs:355:13:355:22 | Err(...) | test.rs:355:13:355:22 | Err(...) |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:363:18:363:18 | n |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:363:39:363:53 | MacroStmts |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:363:39:363:53 | ExprStmt |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | MacroStmts |
| test.rs:363:39:363:53 | ExprStmt | test.rs:363:39:363:53 | ExprStmt |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:369:18:369:20 | ret |
@@ -1258,7 +1258,7 @@ postDominance
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:18:363:18 | n | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | MacroStmts |
| test.rs:363:39:363:53 | ExprStmt | test.rs:363:39:363:53 | ExprStmt |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) |
@@ -1629,7 +1629,7 @@ immediateDominator
| test.rs:354:16:354:20 | value | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:355:13:355:22 | Err(...) | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:363:18:363:18 | n | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:39:363:53 | MacroStmts | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:39:363:53 | ExprStmt | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:369:18:369:20 | ret | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:370:13:370:16 | None | test.rs:367:5:373:5 | enter fn test_let_with_return |

View File

@@ -391,40 +391,40 @@ edges
| test.rs:171:17:171:29 | ...::_print | test.rs:171:26:171:28 | "1\\n" | |
| test.rs:171:17:171:29 | MacroExpr | test.rs:170:22:172:13 | { ... } | |
| test.rs:171:17:171:29 | println!... | test.rs:171:17:171:29 | MacroExpr | |
| test.rs:171:17:171:30 | ExprStmt | test.rs:171:26:171:28 | MacroStmts | |
| test.rs:171:17:171:30 | ExprStmt | test.rs:171:26:171:28 | ExprStmt | |
| test.rs:171:26:171:28 | "1\\n" | test.rs:171:26:171:28 | FormatArgsExpr | |
| test.rs:171:26:171:28 | ...::_print(...) | test.rs:171:26:171:28 | { ... } | |
| test.rs:171:26:171:28 | ...::format_args_nl!... | test.rs:171:26:171:28 | MacroExpr | |
| test.rs:171:26:171:28 | ExprStmt | test.rs:171:17:171:29 | ...::_print | |
| test.rs:171:26:171:28 | FormatArgsExpr | test.rs:171:26:171:28 | ...::format_args_nl!... | |
| test.rs:171:26:171:28 | MacroBlockExpr | test.rs:171:17:171:29 | println!... | |
| test.rs:171:26:171:28 | MacroExpr | test.rs:171:26:171:28 | ...::_print(...) | |
| test.rs:171:26:171:28 | MacroStmts | test.rs:171:26:171:28 | ExprStmt | |
| test.rs:171:26:171:28 | { ... } | test.rs:171:17:171:29 | println!... | |
| test.rs:171:26:171:28 | { ... } | test.rs:171:26:171:28 | MacroBlockExpr | |
| test.rs:172:20:174:13 | { ... } | test.rs:170:13:174:13 | if cond2 {...} else {...} | |
| test.rs:173:17:173:29 | ...::_print | test.rs:173:26:173:28 | "2\\n" | |
| test.rs:173:17:173:29 | MacroExpr | test.rs:172:20:174:13 | { ... } | |
| test.rs:173:17:173:29 | println!... | test.rs:173:17:173:29 | MacroExpr | |
| test.rs:173:17:173:30 | ExprStmt | test.rs:173:26:173:28 | MacroStmts | |
| test.rs:173:17:173:30 | ExprStmt | test.rs:173:26:173:28 | ExprStmt | |
| test.rs:173:26:173:28 | "2\\n" | test.rs:173:26:173:28 | FormatArgsExpr | |
| test.rs:173:26:173:28 | ...::_print(...) | test.rs:173:26:173:28 | { ... } | |
| test.rs:173:26:173:28 | ...::format_args_nl!... | test.rs:173:26:173:28 | MacroExpr | |
| test.rs:173:26:173:28 | ExprStmt | test.rs:173:17:173:29 | ...::_print | |
| test.rs:173:26:173:28 | FormatArgsExpr | test.rs:173:26:173:28 | ...::format_args_nl!... | |
| test.rs:173:26:173:28 | MacroBlockExpr | test.rs:173:17:173:29 | println!... | |
| test.rs:173:26:173:28 | MacroExpr | test.rs:173:26:173:28 | ...::_print(...) | |
| test.rs:173:26:173:28 | MacroStmts | test.rs:173:26:173:28 | ExprStmt | |
| test.rs:173:26:173:28 | { ... } | test.rs:173:17:173:29 | println!... | |
| test.rs:173:26:173:28 | { ... } | test.rs:173:26:173:28 | MacroBlockExpr | |
| test.rs:175:13:175:25 | ...::_print | test.rs:175:22:175:24 | "3\\n" | |
| test.rs:175:13:175:25 | MacroExpr | test.rs:169:18:176:9 | { ... } | |
| test.rs:175:13:175:25 | println!... | test.rs:175:13:175:25 | MacroExpr | |
| test.rs:175:13:175:26 | ExprStmt | test.rs:175:22:175:24 | MacroStmts | |
| test.rs:175:13:175:26 | ExprStmt | test.rs:175:22:175:24 | ExprStmt | |
| test.rs:175:22:175:24 | "3\\n" | test.rs:175:22:175:24 | FormatArgsExpr | |
| test.rs:175:22:175:24 | ...::_print(...) | test.rs:175:22:175:24 | { ... } | |
| test.rs:175:22:175:24 | ...::format_args_nl!... | test.rs:175:22:175:24 | MacroExpr | |
| test.rs:175:22:175:24 | ExprStmt | test.rs:175:13:175:25 | ...::_print | |
| test.rs:175:22:175:24 | FormatArgsExpr | test.rs:175:22:175:24 | ...::format_args_nl!... | |
| test.rs:175:22:175:24 | MacroBlockExpr | test.rs:175:13:175:25 | println!... | |
| test.rs:175:22:175:24 | MacroExpr | test.rs:175:22:175:24 | ...::_print(...) | |
| test.rs:175:22:175:24 | MacroStmts | test.rs:175:22:175:24 | ExprStmt | |
| test.rs:175:22:175:24 | { ... } | test.rs:175:13:175:25 | println!... | |
| test.rs:175:22:175:24 | { ... } | test.rs:175:22:175:24 | MacroBlockExpr | |
| test.rs:179:5:188:5 | enter fn test_nested_if_match | test.rs:179:29:179:29 | a | |
| test.rs:179:5:188:5 | exit fn test_nested_if_match (normal) | test.rs:179:5:188:5 | exit fn test_nested_if_match | |
| test.rs:179:29:179:29 | a | test.rs:179:29:179:29 | a | |
@@ -889,7 +889,7 @@ edges
| test.rs:362:46:365:5 | { ... } | test.rs:362:5:365:5 | exit fn test_let_match (normal) | |
| test.rs:363:9:363:57 | let ... = a else {...} | test.rs:363:23:363:23 | a | |
| test.rs:363:13:363:19 | Some(...) | test.rs:363:18:363:18 | n | match |
| test.rs:363:13:363:19 | Some(...) | test.rs:363:39:363:53 | MacroStmts | no-match |
| test.rs:363:13:363:19 | Some(...) | test.rs:363:39:363:53 | ExprStmt | no-match |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n | |
| test.rs:363:18:363:18 | n | test.rs:364:9:364:9 | n | match |
| test.rs:363:23:363:23 | a | test.rs:363:13:363:19 | Some(...) | |
@@ -902,11 +902,11 @@ edges
| test.rs:363:39:363:53 | ...::panic_fmt(...) | test.rs:363:39:363:53 | { ... } | |
| test.rs:363:39:363:53 | ExprStmt | test.rs:363:32:363:54 | ...::panic_fmt | |
| test.rs:363:39:363:53 | FormatArgsExpr | test.rs:363:39:363:53 | ...::const_format_args!... | |
| test.rs:363:39:363:53 | MacroExpr | test.rs:363:32:363:54 | panic!... | |
| test.rs:363:39:363:53 | MacroBlockExpr | test.rs:363:32:363:54 | panic!... | |
| test.rs:363:39:363:53 | MacroBlockExpr | test.rs:363:39:363:53 | ...::panic_2021!... | |
| test.rs:363:39:363:53 | MacroExpr | test.rs:363:39:363:53 | ...::panic_fmt(...) | |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | ExprStmt | |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | MacroStmts | |
| test.rs:363:39:363:53 | { ... } | test.rs:363:39:363:53 | ...::panic_2021!... | |
| test.rs:363:39:363:53 | MacroExpr | test.rs:363:39:363:53 | MacroBlockExpr | |
| test.rs:363:39:363:53 | { ... } | test.rs:363:39:363:53 | MacroBlockExpr | |
| test.rs:364:9:364:9 | n | test.rs:362:46:365:5 | { ... } | |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:29:367:29 | m | |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return | |
@@ -1183,15 +1183,15 @@ edges
| test.rs:495:9:495:33 | ...::_print | test.rs:495:18:495:32 | "hello, world!\\n" | |
| test.rs:495:9:495:33 | MacroExpr | test.rs:494:26:496:5 | { ... } | |
| test.rs:495:9:495:33 | println!... | test.rs:495:9:495:33 | MacroExpr | |
| test.rs:495:9:495:34 | ExprStmt | test.rs:495:18:495:32 | MacroStmts | |
| test.rs:495:9:495:34 | ExprStmt | test.rs:495:18:495:32 | ExprStmt | |
| test.rs:495:18:495:32 | "hello, world!\\n" | test.rs:495:18:495:32 | FormatArgsExpr | |
| test.rs:495:18:495:32 | ...::_print(...) | test.rs:495:18:495:32 | { ... } | |
| test.rs:495:18:495:32 | ...::format_args_nl!... | test.rs:495:18:495:32 | MacroExpr | |
| test.rs:495:18:495:32 | ExprStmt | test.rs:495:9:495:33 | ...::_print | |
| test.rs:495:18:495:32 | FormatArgsExpr | test.rs:495:18:495:32 | ...::format_args_nl!... | |
| test.rs:495:18:495:32 | MacroBlockExpr | test.rs:495:9:495:33 | println!... | |
| test.rs:495:18:495:32 | MacroExpr | test.rs:495:18:495:32 | ...::_print(...) | |
| test.rs:495:18:495:32 | MacroStmts | test.rs:495:18:495:32 | ExprStmt | |
| test.rs:495:18:495:32 | { ... } | test.rs:495:9:495:33 | println!... | |
| test.rs:495:18:495:32 | { ... } | test.rs:495:18:495:32 | MacroBlockExpr | |
| test.rs:498:5:517:5 | enter fn async_block | test.rs:498:26:498:26 | b | |
| test.rs:498:5:517:5 | exit fn async_block (normal) | test.rs:498:5:517:5 | exit fn async_block | |
| test.rs:498:26:498:26 | b | test.rs:498:26:498:26 | b | |
@@ -1207,15 +1207,15 @@ edges
| test.rs:500:13:500:41 | ...::_print | test.rs:500:22:500:40 | "godbye, everyone!\\n" | |
| test.rs:500:13:500:41 | MacroExpr | test.rs:499:26:501:9 | exit { ... } (normal) | |
| test.rs:500:13:500:41 | println!... | test.rs:500:13:500:41 | MacroExpr | |
| test.rs:500:13:500:42 | ExprStmt | test.rs:500:22:500:40 | MacroStmts | |
| test.rs:500:13:500:42 | ExprStmt | test.rs:500:22:500:40 | ExprStmt | |
| test.rs:500:22:500:40 | "godbye, everyone!\\n" | test.rs:500:22:500:40 | FormatArgsExpr | |
| test.rs:500:22:500:40 | ...::_print(...) | test.rs:500:22:500:40 | { ... } | |
| test.rs:500:22:500:40 | ...::format_args_nl!... | test.rs:500:22:500:40 | MacroExpr | |
| test.rs:500:22:500:40 | ExprStmt | test.rs:500:13:500:41 | ...::_print | |
| test.rs:500:22:500:40 | FormatArgsExpr | test.rs:500:22:500:40 | ...::format_args_nl!... | |
| test.rs:500:22:500:40 | MacroBlockExpr | test.rs:500:13:500:41 | println!... | |
| test.rs:500:22:500:40 | MacroExpr | test.rs:500:22:500:40 | ...::_print(...) | |
| test.rs:500:22:500:40 | MacroStmts | test.rs:500:22:500:40 | ExprStmt | |
| test.rs:500:22:500:40 | { ... } | test.rs:500:13:500:41 | println!... | |
| test.rs:500:22:500:40 | { ... } | test.rs:500:22:500:40 | MacroBlockExpr | |
| test.rs:502:9:504:10 | let ... = ... | test.rs:502:31:504:9 | { ... } | |
| test.rs:502:13:502:27 | say_how_are_you | test.rs:502:13:502:27 | say_how_are_you | |
| test.rs:502:13:502:27 | say_how_are_you | test.rs:505:9:505:28 | let ... = ... | match |
@@ -1225,15 +1225,15 @@ edges
| test.rs:503:13:503:36 | ...::_print | test.rs:503:22:503:35 | "how are you?\\n" | |
| test.rs:503:13:503:36 | MacroExpr | test.rs:502:31:504:9 | exit { ... } (normal) | |
| test.rs:503:13:503:36 | println!... | test.rs:503:13:503:36 | MacroExpr | |
| test.rs:503:13:503:37 | ExprStmt | test.rs:503:22:503:35 | MacroStmts | |
| test.rs:503:13:503:37 | ExprStmt | test.rs:503:22:503:35 | ExprStmt | |
| test.rs:503:22:503:35 | "how are you?\\n" | test.rs:503:22:503:35 | FormatArgsExpr | |
| test.rs:503:22:503:35 | ...::_print(...) | test.rs:503:22:503:35 | { ... } | |
| test.rs:503:22:503:35 | ...::format_args_nl!... | test.rs:503:22:503:35 | MacroExpr | |
| test.rs:503:22:503:35 | ExprStmt | test.rs:503:13:503:36 | ...::_print | |
| test.rs:503:22:503:35 | FormatArgsExpr | test.rs:503:22:503:35 | ...::format_args_nl!... | |
| test.rs:503:22:503:35 | MacroBlockExpr | test.rs:503:13:503:36 | println!... | |
| test.rs:503:22:503:35 | MacroExpr | test.rs:503:22:503:35 | ...::_print(...) | |
| test.rs:503:22:503:35 | MacroStmts | test.rs:503:22:503:35 | ExprStmt | |
| test.rs:503:22:503:35 | { ... } | test.rs:503:13:503:36 | println!... | |
| test.rs:503:22:503:35 | { ... } | test.rs:503:22:503:35 | MacroBlockExpr | |
| test.rs:505:9:505:28 | let ... = ... | test.rs:505:20:505:27 | { ... } | |
| test.rs:505:13:505:16 | noop | test.rs:505:13:505:16 | noop | |
| test.rs:505:13:505:16 | noop | test.rs:506:9:506:26 | ExprStmt | match |
@@ -1290,30 +1290,30 @@ edges
| test.rs:533:13:533:49 | ...::panic_2021!... | test.rs:533:13:533:49 | MacroExpr | |
| test.rs:533:13:533:49 | ...::panic_explicit | test.rs:533:13:533:49 | ...::panic_explicit(...) | |
| test.rs:533:13:533:49 | ...::panic_explicit(...) | test.rs:533:13:533:49 | { ... } | |
| test.rs:533:13:533:49 | ExprStmt | test.rs:533:13:533:49 | MacroStmts | |
| test.rs:533:13:533:49 | ExprStmt | test.rs:533:13:533:49 | fn panic_cold_explicit | |
| test.rs:533:13:533:49 | ExprStmt | test.rs:533:13:533:49 | panic_cold_explicit | |
| test.rs:533:13:533:49 | MacroBlockExpr | test.rs:533:13:533:49 | ...::panic_2021!... | |
| test.rs:533:13:533:49 | MacroExpr | test.rs:532:9:534:9 | { ... } | |
| test.rs:533:13:533:49 | MacroExpr | test.rs:533:13:533:49 | { ... } | |
| test.rs:533:13:533:49 | MacroStmts | test.rs:533:13:533:49 | fn panic_cold_explicit | |
| test.rs:533:13:533:49 | assert!... | test.rs:533:13:533:49 | MacroExpr | |
| test.rs:533:13:533:49 | enter fn panic_cold_explicit | test.rs:533:13:533:49 | ...::panic_explicit | |
| test.rs:533:13:533:49 | exit fn panic_cold_explicit (normal) | test.rs:533:13:533:49 | exit fn panic_cold_explicit | |
| test.rs:533:13:533:49 | fn panic_cold_explicit | test.rs:533:13:533:49 | ExprStmt | |
| test.rs:533:13:533:49 | panic_cold_explicit | test.rs:533:13:533:49 | panic_cold_explicit(...) | |
| test.rs:533:13:533:49 | panic_cold_explicit(...) | test.rs:533:13:533:49 | { ... } | |
| test.rs:533:13:533:49 | { ... } | test.rs:533:13:533:49 | ...::panic_2021!... | |
| test.rs:533:13:533:49 | { ... } | test.rs:533:13:533:49 | MacroBlockExpr | |
| test.rs:533:13:533:49 | { ... } | test.rs:533:13:533:49 | exit fn panic_cold_explicit (normal) | |
| test.rs:533:13:533:49 | { ... } | test.rs:533:21:533:48 | if ... {...} | |
| test.rs:533:13:533:50 | ExprStmt | test.rs:533:21:533:48 | MacroStmts | |
| test.rs:533:13:533:50 | ExprStmt | test.rs:533:21:533:42 | ...::size_of::<...> | |
| test.rs:533:21:533:42 | ...::size_of::<...> | test.rs:533:21:533:44 | ...::size_of::<...>(...) | |
| test.rs:533:21:533:44 | ...::size_of::<...>(...) | test.rs:533:48:533:48 | 0 | |
| test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(false)] ! ... | true |
| test.rs:533:21:533:48 | ... > ... | test.rs:533:21:533:48 | [boolean(true)] ! ... | false |
| test.rs:533:21:533:48 | MacroStmts | test.rs:533:21:533:42 | ...::size_of::<...> | |
| test.rs:533:21:533:48 | MacroBlockExpr | test.rs:533:13:533:49 | assert!... | |
| test.rs:533:21:533:48 | [boolean(false)] ! ... | test.rs:533:21:533:48 | if ... {...} | false |
| test.rs:533:21:533:48 | [boolean(true)] ! ... | test.rs:533:13:533:49 | ExprStmt | true |
| test.rs:533:21:533:48 | if ... {...} | test.rs:533:21:533:48 | { ... } | |
| test.rs:533:21:533:48 | { ... } | test.rs:533:13:533:49 | assert!... | |
| test.rs:533:21:533:48 | { ... } | test.rs:533:21:533:48 | MacroBlockExpr | |
| test.rs:533:48:533:48 | 0 | test.rs:533:21:533:48 | ... > ... | |
| test.rs:536:9:536:10 | 42 | test.rs:529:41:537:5 | { ... } | |
| test.rs:539:5:548:5 | enter fn const_block_panic | test.rs:540:9:540:30 | Const | |

View File

@@ -10,13 +10,17 @@ localStep
| main.rs:6:9:6:9 | s | main.rs:6:9:6:9 | s |
| main.rs:6:9:6:14 | ...: i64 | main.rs:6:9:6:9 | s |
| main.rs:7:14:7:20 | FormatArgsExpr | main.rs:7:14:7:20 | MacroExpr |
| main.rs:7:14:7:20 | MacroBlockExpr | main.rs:7:5:7:21 | MacroExpr |
| main.rs:7:14:7:20 | [post] MacroExpr | main.rs:7:14:7:20 | [post] FormatArgsExpr |
| main.rs:7:14:7:20 | { ... } | main.rs:7:14:7:20 | MacroBlockExpr |
| main.rs:10:13:10:14 | [SSA] sr | main.rs:11:20:11:21 | sr |
| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | [SSA] sr |
| main.rs:10:13:10:14 | sr | main.rs:10:13:10:14 | sr |
| main.rs:10:13:10:20 | ...: ... | main.rs:10:13:10:14 | sr |
| main.rs:11:14:11:21 | FormatArgsExpr | main.rs:11:14:11:21 | MacroExpr |
| main.rs:11:14:11:21 | MacroBlockExpr | main.rs:11:5:11:22 | MacroExpr |
| main.rs:11:14:11:21 | [post] MacroExpr | main.rs:11:14:11:21 | [post] FormatArgsExpr |
| main.rs:11:14:11:21 | { ... } | main.rs:11:14:11:21 | MacroBlockExpr |
| main.rs:22:9:22:9 | [SSA] s | main.rs:23:10:23:10 | s |
| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | [SSA] s |
| main.rs:22:9:22:9 | s | main.rs:22:9:22:9 | s |
@@ -680,7 +684,9 @@ localStep
| main.rs:462:16:462:16 | s | main.rs:462:16:462:16 | s |
| main.rs:462:16:462:24 | ...: String | main.rs:462:16:462:16 | s |
| main.rs:463:14:463:20 | FormatArgsExpr | main.rs:463:14:463:20 | MacroExpr |
| main.rs:463:14:463:20 | MacroBlockExpr | main.rs:463:5:463:21 | MacroExpr |
| main.rs:463:14:463:20 | [post] MacroExpr | main.rs:463:14:463:20 | [post] FormatArgsExpr |
| main.rs:463:14:463:20 | { ... } | main.rs:463:14:463:20 | MacroBlockExpr |
| main.rs:467:9:467:9 | [SSA] a | main.rs:468:13:468:13 | a |
| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | [SSA] a |
| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | a |

View File

@@ -8,15 +8,15 @@ edges
| main.rs:4:5:4:21 | ...::_print | main.rs:4:14:4:17 | "{}\\n" | |
| main.rs:4:5:4:21 | MacroExpr | main.rs:3:23:5:1 | { ... } | |
| main.rs:4:5:4:21 | println!... | main.rs:4:5:4:21 | MacroExpr | |
| main.rs:4:5:4:22 | ExprStmt | main.rs:4:14:4:20 | MacroStmts | |
| main.rs:4:5:4:22 | ExprStmt | main.rs:4:14:4:20 | ExprStmt | |
| main.rs:4:14:4:17 | "{}\\n" | main.rs:4:20:4:20 | s | |
| main.rs:4:14:4:20 | ...::_print(...) | main.rs:4:14:4:20 | { ... } | |
| main.rs:4:14:4:20 | ...::format_args_nl!... | main.rs:4:14:4:20 | MacroExpr | |
| main.rs:4:14:4:20 | ExprStmt | main.rs:4:5:4:21 | ...::_print | |
| main.rs:4:14:4:20 | FormatArgsExpr | main.rs:4:14:4:20 | ...::format_args_nl!... | |
| main.rs:4:14:4:20 | MacroBlockExpr | main.rs:4:5:4:21 | println!... | |
| main.rs:4:14:4:20 | MacroExpr | main.rs:4:14:4:20 | ...::_print(...) | |
| main.rs:4:14:4:20 | MacroStmts | main.rs:4:14:4:20 | ExprStmt | |
| main.rs:4:14:4:20 | { ... } | main.rs:4:5:4:21 | println!... | |
| main.rs:4:14:4:20 | { ... } | main.rs:4:14:4:20 | MacroBlockExpr | |
| main.rs:4:20:4:20 | s | main.rs:4:14:4:20 | FormatArgsExpr | |
| main.rs:7:1:9:1 | enter fn print_i64 | main.rs:7:14:7:14 | i | |
| main.rs:7:1:9:1 | exit fn print_i64 (normal) | main.rs:7:1:9:1 | exit fn print_i64 | |
@@ -27,15 +27,15 @@ edges
| main.rs:8:5:8:21 | ...::_print | main.rs:8:14:8:17 | "{}\\n" | |
| main.rs:8:5:8:21 | MacroExpr | main.rs:7:22:9:1 | { ... } | |
| main.rs:8:5:8:21 | println!... | main.rs:8:5:8:21 | MacroExpr | |
| main.rs:8:5:8:22 | ExprStmt | main.rs:8:14:8:20 | MacroStmts | |
| main.rs:8:5:8:22 | ExprStmt | main.rs:8:14:8:20 | ExprStmt | |
| main.rs:8:14:8:17 | "{}\\n" | main.rs:8:20:8:20 | i | |
| main.rs:8:14:8:20 | ...::_print(...) | main.rs:8:14:8:20 | { ... } | |
| main.rs:8:14:8:20 | ...::format_args_nl!... | main.rs:8:14:8:20 | MacroExpr | |
| main.rs:8:14:8:20 | ExprStmt | main.rs:8:5:8:21 | ...::_print | |
| main.rs:8:14:8:20 | FormatArgsExpr | main.rs:8:14:8:20 | ...::format_args_nl!... | |
| main.rs:8:14:8:20 | MacroBlockExpr | main.rs:8:5:8:21 | println!... | |
| main.rs:8:14:8:20 | MacroExpr | main.rs:8:14:8:20 | ...::_print(...) | |
| main.rs:8:14:8:20 | MacroStmts | main.rs:8:14:8:20 | ExprStmt | |
| main.rs:8:14:8:20 | { ... } | main.rs:8:5:8:21 | println!... | |
| main.rs:8:14:8:20 | { ... } | main.rs:8:14:8:20 | MacroBlockExpr | |
| main.rs:8:20:8:20 | i | main.rs:8:14:8:20 | FormatArgsExpr | |
| main.rs:11:1:13:1 | enter fn print_i64_ref | main.rs:11:18:11:18 | i | |
| main.rs:11:1:13:1 | exit fn print_i64_ref (normal) | main.rs:11:1:13:1 | exit fn print_i64_ref | |
@@ -234,7 +234,7 @@ edges
| main.rs:93:19:99:1 | { ... } | main.rs:93:1:99:1 | exit fn let_pattern4 (normal) | |
| main.rs:94:5:97:10 | let ... = ... else {...} | main.rs:94:34:94:37 | Some | |
| main.rs:94:9:94:16 | Some(...) | main.rs:94:14:94:15 | x5 | match |
| main.rs:94:9:94:16 | Some(...) | main.rs:96:13:96:19 | MacroStmts | no-match |
| main.rs:94:9:94:16 | Some(...) | main.rs:96:13:96:19 | ...::panic | no-match |
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 | |
| main.rs:94:14:94:15 | x5 | main.rs:98:5:98:18 | ExprStmt | match |
| main.rs:94:34:94:37 | Some | main.rs:94:39:94:42 | "x5" | |
@@ -242,9 +242,9 @@ edges
| main.rs:94:39:94:42 | "x5" | main.rs:94:34:94:43 | Some(...) | |
| main.rs:96:13:96:19 | "not yet implemented" | main.rs:96:13:96:19 | ...::panic(...) | |
| main.rs:96:13:96:19 | ...::panic | main.rs:96:13:96:19 | "not yet implemented" | |
| main.rs:96:13:96:19 | ...::panic(...) | main.rs:96:13:96:19 | todo!... | |
| main.rs:96:13:96:19 | ...::panic(...) | main.rs:96:13:96:19 | MacroBlockExpr | |
| main.rs:96:13:96:19 | MacroBlockExpr | main.rs:96:13:96:19 | todo!... | |
| main.rs:96:13:96:19 | MacroExpr | main.rs:95:14:97:9 | { ... } | |
| main.rs:96:13:96:19 | MacroStmts | main.rs:96:13:96:19 | ...::panic | |
| main.rs:96:13:96:19 | todo!... | main.rs:96:13:96:19 | MacroExpr | |
| main.rs:98:5:98:13 | print_str | main.rs:98:15:98:16 | x5 | |
| main.rs:98:5:98:17 | print_str(...) | main.rs:93:19:99:1 | { ... } | |
@@ -417,7 +417,7 @@ edges
| main.rs:175:30:175:31 | 10 | main.rs:178:9:178:29 | ...::Hello {...} | no-match |
| main.rs:175:30:175:36 | RangePat | main.rs:175:30:175:31 | 10 | match |
| main.rs:175:35:175:36 | 12 | main.rs:175:35:175:36 | 12 | |
| main.rs:175:35:175:36 | 12 | main.rs:176:22:176:51 | MacroStmts | match |
| main.rs:175:35:175:36 | 12 | main.rs:176:22:176:51 | ExprStmt | match |
| main.rs:175:35:175:36 | 12 | main.rs:178:9:178:29 | ...::Hello {...} | no-match |
| main.rs:175:43:177:9 | { ... } | main.rs:171:5:180:5 | match msg { ... } | |
| main.rs:176:13:176:52 | ...::_print | main.rs:176:22:176:51 | "Found an id in another range\\... | |
@@ -428,9 +428,9 @@ edges
| main.rs:176:22:176:51 | ...::format_args_nl!... | main.rs:176:22:176:51 | MacroExpr | |
| main.rs:176:22:176:51 | ExprStmt | main.rs:176:13:176:52 | ...::_print | |
| main.rs:176:22:176:51 | FormatArgsExpr | main.rs:176:22:176:51 | ...::format_args_nl!... | |
| main.rs:176:22:176:51 | MacroBlockExpr | main.rs:176:13:176:52 | println!... | |
| main.rs:176:22:176:51 | MacroExpr | main.rs:176:22:176:51 | ...::_print(...) | |
| main.rs:176:22:176:51 | MacroStmts | main.rs:176:22:176:51 | ExprStmt | |
| main.rs:176:22:176:51 | { ... } | main.rs:176:13:176:52 | println!... | |
| main.rs:176:22:176:51 | { ... } | main.rs:176:22:176:51 | MacroBlockExpr | |
| main.rs:178:9:178:29 | ...::Hello {...} | main.rs:178:26:178:27 | id | match |
| main.rs:178:26:178:27 | id | main.rs:178:26:178:27 | id | |
| main.rs:178:26:178:27 | id | main.rs:179:13:179:21 | print_i64 | match |

View File

@@ -1,13 +1,13 @@
multipleMethodCallTargets
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str |

View File

@@ -1,12 +1,12 @@
#select
| sqlx.rs:62:26:62:46 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:62:26:62:46 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:73:25:73:45 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:73:25:73:45 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:66:26:66:46 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:66:26:66:46 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:71:30:71:52 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:71:30:71:52 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:77:25:77:45 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:77:25:77:45 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
| sqlx.rs:82:29:82:51 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:82:29:82:51 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value |
edges
| sqlx.rs:47:9:47:18 | arg_string | sqlx.rs:53:27:53:36 | arg_string | provenance | |
| sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:47:22:47:37 | ...::args(...) [element] | provenance | Src:MaD:1 |
@@ -15,7 +15,7 @@ edges
| sqlx.rs:47:22:47:77 | ... .unwrap_or(...) | sqlx.rs:47:9:47:18 | arg_string | provenance | |
| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:49:25:49:52 | remote_string.parse() [Ok] | provenance | MaD:8 |
| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:54:27:54:39 | remote_string | provenance | |
| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:56:34:56:89 | MacroExpr | provenance | |
| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:59:17:59:72 | MacroExpr | provenance | |
| sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:48:25:48:69 | ...::get(...) [Ok] | provenance | Src:MaD:2 |
| sqlx.rs:48:25:48:69 | ...::get(...) [Ok] | sqlx.rs:48:25:48:78 | ... .unwrap() | provenance | MaD:6 |
| sqlx.rs:48:25:48:78 | ... .unwrap() | sqlx.rs:48:25:48:85 | ... .text() [Ok] | provenance | MaD:11 |
@@ -24,28 +24,28 @@ edges
| sqlx.rs:49:9:49:21 | remote_number | sqlx.rs:52:32:52:87 | MacroExpr | provenance | |
| sqlx.rs:49:25:49:52 | remote_string.parse() [Ok] | sqlx.rs:49:25:49:65 | ... .unwrap_or(...) | provenance | MaD:7 |
| sqlx.rs:49:25:49:65 | ... .unwrap_or(...) | sqlx.rs:49:9:49:21 | remote_number | provenance | |
| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:62:26:62:46 | safe_query_3.as_str() | provenance | MaD:3 |
| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:73:25:73:45 | safe_query_3.as_str() | provenance | MaD:3 |
| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:66:26:66:46 | safe_query_3.as_str() | provenance | MaD:3 |
| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:77:25:77:45 | safe_query_3.as_str() | provenance | MaD:3 |
| sqlx.rs:52:24:52:88 | res | sqlx.rs:52:32:52:87 | { ... } | provenance | |
| sqlx.rs:52:32:52:87 | ...::format(...) | sqlx.rs:52:24:52:88 | res | provenance | |
| sqlx.rs:52:32:52:87 | ...::must_use(...) | sqlx.rs:52:9:52:20 | safe_query_3 | provenance | |
| sqlx.rs:52:32:52:87 | MacroExpr | sqlx.rs:52:32:52:87 | ...::format(...) | provenance | MaD:4 |
| sqlx.rs:52:32:52:87 | { ... } | sqlx.rs:52:32:52:87 | ...::must_use(...) | provenance | MaD:9 |
| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | provenance | MaD:3 |
| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | provenance | MaD:3 |
| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | provenance | MaD:3 |
| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | provenance | MaD:3 |
| sqlx.rs:53:26:53:36 | &arg_string [&ref] | sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | provenance | |
| sqlx.rs:53:27:53:36 | arg_string | sqlx.rs:53:26:53:36 | &arg_string [&ref] | provenance | |
| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | provenance | MaD:3 |
| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | provenance | MaD:3 |
| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | provenance | MaD:3 |
| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | provenance | MaD:3 |
| sqlx.rs:54:26:54:39 | &remote_string [&ref] | sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | provenance | |
| sqlx.rs:54:27:54:39 | remote_string | sqlx.rs:54:26:54:39 | &remote_string [&ref] | provenance | |
| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | provenance | MaD:3 |
| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | provenance | MaD:3 |
| sqlx.rs:56:26:56:90 | res | sqlx.rs:56:34:56:89 | { ... } | provenance | |
| sqlx.rs:56:34:56:89 | ...::format(...) | sqlx.rs:56:26:56:90 | res | provenance | |
| sqlx.rs:56:34:56:89 | ...::must_use(...) | sqlx.rs:56:9:56:22 | unsafe_query_4 | provenance | |
| sqlx.rs:56:34:56:89 | MacroExpr | sqlx.rs:56:34:56:89 | ...::format(...) | provenance | MaD:4 |
| sqlx.rs:56:34:56:89 | { ... } | sqlx.rs:56:34:56:89 | ...::must_use(...) | provenance | MaD:9 |
| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:71:30:71:52 | unsafe_query_4.as_str() | provenance | MaD:3 |
| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:82:29:82:51 | unsafe_query_4.as_str() | provenance | MaD:3 |
| sqlx.rs:59:9:59:73 | res | sqlx.rs:59:17:59:72 | { ... } | provenance | |
| sqlx.rs:59:17:59:72 | ...::format(...) | sqlx.rs:59:9:59:73 | res | provenance | |
| sqlx.rs:59:17:59:72 | ...::must_use(...) | sqlx.rs:56:9:56:22 | unsafe_query_4 | provenance | |
| sqlx.rs:59:17:59:72 | MacroExpr | sqlx.rs:59:17:59:72 | ...::format(...) | provenance | MaD:4 |
| sqlx.rs:59:17:59:72 | { ... } | sqlx.rs:59:17:59:72 | ...::must_use(...) | provenance | MaD:9 |
models
| 1 | Source: lang:std; crate::env::args; commandargs; ReturnValue.Element |
| 2 | Source: repo:https://github.com/seanmonstar/reqwest:reqwest; crate::blocking::get; remote; ReturnValue.Field[crate::result::Result::Ok(0)] |
@@ -86,17 +86,17 @@ nodes
| sqlx.rs:54:26:54:39 | &remote_string [&ref] | semmle.label | &remote_string [&ref] |
| sqlx.rs:54:27:54:39 | remote_string | semmle.label | remote_string |
| sqlx.rs:56:9:56:22 | unsafe_query_4 | semmle.label | unsafe_query_4 |
| sqlx.rs:56:26:56:90 | res | semmle.label | res |
| sqlx.rs:56:34:56:89 | ...::format(...) | semmle.label | ...::format(...) |
| sqlx.rs:56:34:56:89 | ...::must_use(...) | semmle.label | ...::must_use(...) |
| sqlx.rs:56:34:56:89 | MacroExpr | semmle.label | MacroExpr |
| sqlx.rs:56:34:56:89 | { ... } | semmle.label | { ... } |
| sqlx.rs:62:26:62:46 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() |
| sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() |
| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() |
| sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() |
| sqlx.rs:73:25:73:45 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() |
| sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() |
| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() |
| sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() |
| sqlx.rs:59:9:59:73 | res | semmle.label | res |
| sqlx.rs:59:17:59:72 | ...::format(...) | semmle.label | ...::format(...) |
| sqlx.rs:59:17:59:72 | ...::must_use(...) | semmle.label | ...::must_use(...) |
| sqlx.rs:59:17:59:72 | MacroExpr | semmle.label | MacroExpr |
| sqlx.rs:59:17:59:72 | { ... } | semmle.label | { ... } |
| sqlx.rs:66:26:66:46 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() |
| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() |
| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() |
| sqlx.rs:71:30:71:52 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() |
| sqlx.rs:77:25:77:45 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() |
| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() |
| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() |
| sqlx.rs:82:29:82:51 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() |
subpaths

View File

@@ -53,7 +53,11 @@ async fn test_sqlx_mysql(url: &str, enable_remote: bool) -> Result<(), sqlx::Err
let unsafe_query_1 = &arg_string;
let unsafe_query_2 = &remote_string;
let unsafe_query_3 = String::from("SELECT * FROM people WHERE firstname='") + &remote_string + "'";
let unsafe_query_4 = format!("SELECT * FROM people WHERE firstname='{remote_string}'");
let unsafe_query_4 = if remote_string == "*" {
"SELECT * FROM people".to_string()
} else {
format!("SELECT * FROM people WHERE firstname='{remote_string}'")
};
let prepared_query_1 = String::from("SELECT * FROM people WHERE firstname=?"); // (prepared arguments are safe)
// direct execution

View File

@@ -87,7 +87,8 @@ class _:
foo::bar;
```
"""
segment: _ | ql.db_table_name("path_segments_") | doc("last segment of this path")
segment: _ | ql.db_table_name("path_segments_") | doc(
"last segment of this path")
@annotate(GenericArgList)
@@ -1288,7 +1289,7 @@ class _:
"""
@annotate(MacroStmts)
@annotate(MacroBlockExpr, replace_bases={AstNode: Expr}, cfg=True)
@rust.doc_test_signature(None)
class _:
"""
@@ -1447,6 +1448,7 @@ class _:
type_repr: optional["TypeRepr"] | child | rust.detach
trait_type_repr: optional["PathTypeRepr"] | child | rust.detach
@annotate(PathTypeRepr)
@qltest.test_with(Path)
class _:

4
rust/schema/ast.py generated
View File

@@ -397,8 +397,8 @@ class MacroRules(Item, ):
token_tree: optional["TokenTree"] | child
visibility: optional["Visibility"] | child
class MacroStmts(AstNode, ):
expr: optional["Expr"] | child
class MacroBlockExpr(AstNode, ):
tail_expr: optional["Expr"] | child
statements: list["Stmt"] | child
class MacroTypeRepr(TypeRepr, ):

View File

@@ -0,0 +1,50 @@
class Element extends @element {
string toString() { none() }
}
predicate removedClass(Element e, string name, Element child) {
type_value_exprs(e, child) and
name = "TypeValueExpr"
or
unsafe_cast_exprs(e) and
name = "UnsafeCastExpr" and
implicit_conversion_exprs(e, child)
}
predicate removedClass(Element e, string name) {
integer_types(e, _) and
name = "IntegerType"
or
builtin_fixed_array_types(e) and
name = "BuiltinFixedArrayType"
or
removedClass(e, name, _)
}
query predicate new_unspecified_elements(Element e, string property, string error) {
unspecified_elements(e, property, error)
or
exists(string name |
removedClass(e, name) and
property = "" and
error = name + " nodes removed during database downgrade. Please update your CodeQL code."
)
}
query predicate new_unspecified_element_children(Element e, int index, Element child) {
unspecified_element_children(e, index, child)
or
removedClass(e, _, child) and index = 0
}
query predicate new_implicit_conversion_exprs(Element e, Element child) {
implicit_conversion_exprs(e, child) and not removedClass(e, _)
}
query predicate new_expr_types(Element e, Element type) {
expr_types(e, type) and not removedClass(e, _)
}
query predicate new_types(Element e, string name, Element canonicalType) {
types(e, name, canonicalType) and not removedClass(e, _)
}

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,13 @@
description: Add `UnsafeCastExpr`, `TypeValueExpr`, `IntegerType`, and `BuiltinFixedArrayType`.
compatibility: backwards
builtin_fixed_array_types.rel: delete
integer_types.rel: delete
type_value_exprs.rel: delete
unsafe_cast_exprs.rel: delete
unspecified_elements.rel: run downgrade.ql new_unspecified_elements
unspecified_element_children.rel: run downgrade.ql new_unspecified_element_children
implicit_conversion_exprs.rel: run downgrade.ql new_implicit_conversion_exprs
expr_types.rel: run downgrade.ql new_expr_types
types.rel: run downgrade.ql new_types

View File

@@ -177,7 +177,7 @@ MAP(swift::Expr, ExprTag)
MAP(swift::ABISafeConversionExpr, AbiSafeConversionExprTag) // different acronym convention
MAP(swift::ActorIsolationErasureExpr, ActorIsolationErasureExprTag)
MAP(swift::UnreachableExpr, UnreachableExprTag)
MAP(swift::UnsafeCastExpr, void) // TODO swift 6.1
MAP(swift::UnsafeCastExpr, UnsafeCastExprTag)
MAP(swift::ExplicitCastExpr, ExplicitCastExprTag)
MAP(swift::CheckedCastExpr, CheckedCastExprTag)
MAP(swift::ForcedCheckedCastExpr, ForcedCheckedCastExprTag)
@@ -205,7 +205,7 @@ MAP(swift::Expr, ExprTag)
MAP(swift::SingleValueStmtExpr, SingleValueStmtExprTag)
MAP(swift::ExtractFunctionIsolationExpr, ExtractFunctionIsolationExprTag)
MAP(swift::CurrentContextIsolationExpr, CurrentContextIsolationExprTag)
MAP(swift::TypeValueExpr, void) // TODO swift 6.1
MAP(swift::TypeValueExpr, TypeValueExprTag)
MAP(swift::Decl, DeclTag)
MAP(swift::ValueDecl, ValueDeclTag)
MAP(swift::TypeDecl, TypeDeclTag)
@@ -285,8 +285,8 @@ MAP(swift::TypeBase, TypeTag)
MAP(swift::BuiltinVectorType, BuiltinVectorTypeTag)
MAP(swift::BuiltinPackIndexType, void) // SIL type, cannot really appear in the frontend run
MAP(swift::BuiltinNonDefaultDistributedActorStorageType, void) // Does not appear in AST/SIL, only used during IRGen
MAP(swift::BuiltinFixedArrayType, void) // TODO swift 6.1
MAP(swift::BuiltinUnboundGenericType, void) // TODO swift 6.1
MAP(swift::BuiltinFixedArrayType, BuiltinFixedArrayTypeTag)
MAP(swift::BuiltinUnboundGenericType, void) // Only used during type resolution
MAP(swift::TupleType, TupleTypeTag)
MAP(swift::ReferenceStorageType, ReferenceStorageTypeTag)
MAP(swift::WeakStorageType, WeakStorageTypeTag)
@@ -339,7 +339,7 @@ MAP(swift::TypeBase, TypeTag)
MAP(swift::PackElementType, PackElementTypeTag)
MAP(swift::TypeVariableType, void) // created during type checking and only used for constraint checking
MAP(swift::ErrorUnionType, void) // created during type checking and only used for constraint checking
MAP(swift::IntegerType, void) // TODO swift 6.1
MAP(swift::IntegerType, IntegerTypeTag)
MAP(swift::SugarType, SugarTypeTag)
MAP(swift::TypeAliasType, TypeAliasTypeTag)
MAP(swift::SyntaxSugarType, SyntaxSugarTypeTag)

View File

@@ -285,6 +285,9 @@ SwiftMangledName SwiftMangler::visitGenericTypeParamType(const swift::GenericTyp
if (type->isParameterPack()) {
ret << "each_";
}
if (type->isValue()) {
ret << "val_";
}
if (auto decl = type->getDecl()) {
ret << fetch(decl);
} else {

View File

@@ -689,4 +689,10 @@ codeql::CurrentContextIsolationExpr ExprTranslator::translateCurrentContextIsola
return entry;
}
codeql::TypeValueExpr ExprTranslator::translateTypeValueExpr(const swift::TypeValueExpr& expr) {
auto entry = createExprEntry(expr);
entry.type_repr = dispatcher.fetchLabel(expr.getParamTypeRepr());
return entry;
}
} // namespace codeql

View File

@@ -129,6 +129,7 @@ class ExprTranslator : public AstTranslatorBase<ExprTranslator> {
const swift::ExtractFunctionIsolationExpr& expr);
codeql::CurrentContextIsolationExpr translateCurrentContextIsolationExpr(
const swift::CurrentContextIsolationExpr& expr);
codeql::TypeValueExpr translateTypeValueExpr(const swift::TypeValueExpr& expr);
private:
void fillClosureExpr(const swift::AbstractClosureExpr& expr, codeql::ClosureExpr& entry);

View File

@@ -297,4 +297,10 @@ codeql::PackExpansionType TypeTranslator::translatePackExpansionType(
return entry;
}
codeql::IntegerType TypeTranslator::translateIntegerType(const swift::IntegerType& type) {
auto entry = createTypeEntry(type);
entry.value = type.getDigitsText();
return entry;
}
} // namespace codeql

View File

@@ -82,6 +82,7 @@ class TypeTranslator : public TypeTranslatorBase<TypeTranslator> {
codeql::PackType translatePackType(const swift::PackType& type);
codeql::PackElementType translatePackElementType(const swift::PackElementType& type);
codeql::PackExpansionType translatePackExpansionType(const swift::PackExpansionType& type);
codeql::IntegerType translateIntegerType(const swift::IntegerType& type);
private:
void fillType(const swift::TypeBase& type, codeql::Type& entry);

View File

@@ -230,6 +230,7 @@ lib/codeql/swift/elements/expr/TryExpr.qll 524d52e85f893ed735463f2ac8ebff1c37ce1
lib/codeql/swift/elements/expr/TupleElementExpr.qll 32bd4e870958e0fe8a06626618379d5d081e6b6d1d2da35954ff8c6e1cac5891 1036d0a774f16dfdfe223181bf86a7fb3e5a65495f13a584af4419c769b5ca93
lib/codeql/swift/elements/expr/TupleExpr.qll 11efe0f2737b561a392bbd684c7c1cc2e29bed3273597e64933608d8a4e3a736 f02537adb1271e4b84c44eb001ccb7b7c70f13fc13908354fd4361ed3720d06b
lib/codeql/swift/elements/expr/TypeExpr.qll c3f7272b77aadd8a4a0e5c7e3876bba6bba45343415c8ce96de26e1e898d11c0 91cd440b768e4d9aa60a165ddb62ecdcad85eb4a676ab0d60ca8777e753bffc7
lib/codeql/swift/elements/expr/TypeValueExpr.qll 8a8d061b091594b758fb7d0b708337b639b7d76b1f63bd860e3e4466f268ba3f 7722a6668b3e382e32ef0cc5bbb8c79c7de9a618c8822957e5f48b45770d0af3
lib/codeql/swift/elements/expr/UnderlyingToOpaqueExpr.qll f319daff97d13a5cacf2efcd1f2b77e58ec9b9a30413ddb30cc0333197cbef9f 9c6a97a66a452a6167b26f48b0f31a42e2c528fcd30e76c9f4dd146f6609b5d3
lib/codeql/swift/elements/expr/UnevaluatedInstanceExpr.qll 7eca15f753e81d99a275ca1d29986d5209d8ffea4034746945227fedc1b74c38 714c9a7a09f525187f53a4c9599a141a32ec6071c405c2a425dc2cfb6f2457e6
lib/codeql/swift/elements/expr/UnreachableExpr.qll 930822d66d99422603725161f55fec7b861ef33aa8fe57afbdbea2a68a764fcb e8005f5ac66a97e614f3792e8053b0fb6d6bb1f99bc1d0f7d0d0b41e703efe9c
@@ -240,6 +241,7 @@ lib/codeql/swift/elements/expr/UnresolvedMemberExpr.qll 14bc154493999d866a3265d6
lib/codeql/swift/elements/expr/UnresolvedPatternExpr.qll f27ef68f5bbb2d957513efdd43fb9c77987d4f7850b050d40faf5e0ab23cf9cd d9bad310caf43eb82ca294fcb43f1aaa4046ddc8ff9d6c46f65c9a6f798d30af
lib/codeql/swift/elements/expr/UnresolvedSpecializeExpr.qll 9e1b27d90419e757480d0ae369bec1f159de3c28ddf760cdf24dd30b0ec6fcf9 1aeab5e10b1c3f081c5c3ca5bd807bfc38726a7b21b7201e0a9f997572935c73
lib/codeql/swift/elements/expr/UnresolvedTypeConversionExpr.qll e259a187d70ea6b6007ebdd3659aa7e1947b2dc606642ccda27309ff74ffc3db c6a85856f82e74ed5597e381a5e4c27927eb4f01c7b588b1f4277dfb0e977521
lib/codeql/swift/elements/expr/UnsafeCastExpr.qll 09c18a43f66432340b3212cb1933e096faf3825fa0a9abb30f7be11f170b6f97 93f35d500d67b71ed52d508ca9f7236c671f5b68a0ce6a0ee6a1a03d2b5db290
lib/codeql/swift/elements/expr/VarargExpansionExpr.qll c7d7574caaac88fd73e69e82a84ca924e078eece0fd85a476b4a831e23b425f9 27213c88f864b7f8fd73edf8951e04a5ae7a57140a387df7c03dc1544ced723b
lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprConstructor.qll de9d2daf68b754e783374d017116606c8cd0710dbf8989d3606939e977dc672c 63c5ddb9da56da2c9637d7a0a6d9d069f745b4c095b07c9494a0b3a7e11be95b
lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprImpl.qll 6b2c51a5a5dd17044c6f5510048a9a2187aac9d35a70541faa9400406e35bc1e 448c23eec2ef44bd90e6c1636e3e881ca3447198eb68b8261412f42c4995b766
@@ -407,6 +409,8 @@ lib/codeql/swift/elements/expr/internal/TryExprConstructor.qll 594b8505862487212
lib/codeql/swift/elements/expr/internal/TupleElementExprConstructor.qll e9d0f5b77adcdfad3e4f3aad8674dd86b86d81bc4aca534a6a30172364d5ce81 ccac3b0ae4ebc028a9cb58f6f71a07330fb235180109c1f72ddbb10992af976c
lib/codeql/swift/elements/expr/internal/TupleExprConstructor.qll 14c402dd2c9dc350270d406c8d71b4a46080fd321a60b49e7eb73f46dc371d07 165527b92b2302e098002cf888254a8f4af208cd3aa8f441c740b59ac50ddc15
lib/codeql/swift/elements/expr/internal/TypeExprConstructor.qll 8e23bd56763001fa82b9642c36c54785fd0a544c8eb9175fd12fd5b8053a039c 3388ed62f69e5d45a5d6753400cae3532b1da915186b9bf5d0d29c9cb0e71e8c
lib/codeql/swift/elements/expr/internal/TypeValueExprConstructor.qll dd3b0f5a05a758fce4cdbd4665077b18afd1a76079b5c99ca8be18b1dc2fcced b8b3a648919cbc98b6ad8d973a4e5745cc03026dafeeba2614e6995630e18d6a
lib/codeql/swift/elements/expr/internal/TypeValueExprImpl.qll fe6ba98379db2f664ea34457f8b808881eaf2639b659f1accf52ca2642e5ec02 86df96c256cc924e108241fffe4bd152c61171bc012b13f10d6bbd308df12446
lib/codeql/swift/elements/expr/internal/UnderlyingToOpaqueExprConstructor.qll 8b763964bdda1af1971fa737980780d7a1b57afe37cafc6edc594bedd767725f 0485956adfc2e9a31aeeef1c8ed1d53781967445e3ea0f76c843fd48e33f021a
lib/codeql/swift/elements/expr/internal/UnderlyingToOpaqueExprImpl.qll cf2637b44a96fce2d8e618469692305181490a28f3b2698b6f9db2d58e7c474d 9b062defb7c19e217bea6e5bd65ccf28e1ff25fb1e784405eb92406806a3349c
lib/codeql/swift/elements/expr/internal/UnevaluatedInstanceExprConstructor.qll 4560f4737cb47512b8348fd2a37599227df4a05bfad84873f6666d121a524e0a b49bfdfa550330bab087c5a6b7a3885fd22360e557adf984ce7a35534d882510
@@ -425,6 +429,8 @@ lib/codeql/swift/elements/expr/internal/UnresolvedSpecializeExprConstructor.qll
lib/codeql/swift/elements/expr/internal/UnresolvedSpecializeExprImpl.qll b1dc437410aa4a509ffc92cc0f63509e7bf698a52d79fc44a06230f185f22a97 a994738135b4118fadeb1a00c976772f777e7eeb4ecc0ab55e00676e0e1d507d
lib/codeql/swift/elements/expr/internal/UnresolvedTypeConversionExprConstructor.qll 2d5a737ac25f4657d7fbc3be8ae927a44c01262e56fe49c161e73a7c015072b2 db3f463afb834181d618e8cc3773f0b174f17a0b29674cc8b1c3f5845c1317f9
lib/codeql/swift/elements/expr/internal/UnresolvedTypeConversionExprImpl.qll 3511bf1bea3e3cee95c0793e40000493537076d76f235bfe91866e1e0caf97ab b97de4c795e873acee89d9b87d8c58b14e05f0c09e3a0385a479638adcf32966
lib/codeql/swift/elements/expr/internal/UnsafeCastExprConstructor.qll f8771eb8f677003fc62a2f78dcdffc46ee5510001428dde58a7e9d82746b6f97 f20eb160de27d9413a3b5d7ace406fe5f6912ad5720db85d8a12c48c71e42b35
lib/codeql/swift/elements/expr/internal/UnsafeCastExprImpl.qll 787104ce97d702c0c3efa81a0f8416584f35c454d3b2ffe7bd0917861589612b 50496a0f3f3a9e3d5a2e6cbcd5eb16b634cf3fd5e0878bdf017678243dbfd8a0
lib/codeql/swift/elements/expr/internal/VarargExpansionExprConstructor.qll 917701083da11fce895c53d5f3e0a52b8e3142e9aacdf1d8536a4216ef377b16 b72ca103ced9cbb45f2ef9387387b8aaf3134e358ae5a03fa3ea242896954c81
lib/codeql/swift/elements/internal/AvailabilityInfoConstructor.qll 89c731f266122a3434b88dfd573d68c50b5c4fa5e13c2443c54f78e682190d1e 86beb6f684e08b6f557b7d67bc164113e9f5270c09bbe95fbd81c558d77f7f84
lib/codeql/swift/elements/internal/AvailabilitySpecImpl.qll 9ac9285e731938747c574c3f270aaead323656162bd34a6630c1babfaaf25a6a 900b2e638639f427506b2d0eb2806b6ee119ea63ea4ce44758e0c36f2ce915ac
@@ -531,6 +537,7 @@ lib/codeql/swift/elements/type/BoundGenericType.qll 089e5e8d09c62a23d575dcab68cd
lib/codeql/swift/elements/type/BuiltinBridgeObjectType.qll b0064e09b53efe801b0bf950ff00698a84e2f714e853e4859ed5f3246025a1bd aa14b6ae2ec510c4ddd2cc073bf971809536ab8fd8763fd05bd171b0bbe83860
lib/codeql/swift/elements/type/BuiltinDefaultActorStorageType.qll e867a9d0b2c61b7eb61f5143c78e31f8d98d3245d79e0e3281d4c172175f496b 265e87f2e37ca968af572cc619294d1ee91dd66ebb0d1bb1ba9ab7159de52f0b
lib/codeql/swift/elements/type/BuiltinExecutorType.qll 2b141553bbc02a00d97579ba9d0e38fa0978d40ce954b0caf64826aa259dbc08 a81465fd0e87ad5b8e418d8f21c337b3e96388a3b92b3332f0d6b0ff7663e5c7
lib/codeql/swift/elements/type/BuiltinFixedArrayType.qll 24a57f15a53070e6308841cd5dac4d55059e84d9fb18a77eec1130647dcdc97c 9f4167ef5190cbeee71abd068bdb0a280b690a16349cd408244d4cf9edfb357a
lib/codeql/swift/elements/type/BuiltinFloatType.qll 81f49325077b75cea682904ddab24d1b2fdc5c93b0b28830c08e866d5c9307a7 e26a348d66e3824ccd92729624ce2b2ebc82a844aa47035e0a963a62b08b772d
lib/codeql/swift/elements/type/BuiltinIntegerLiteralType.qll 34ee35733cf26f90d799a79f8a2362b199ea2ecb6ba83eb5678dda9eb3ed255f e33fdb27d3c22d441277b66ba74136cb88e1da25a2146391b258c68f7fbf5dd3
lib/codeql/swift/elements/type/BuiltinIntegerType.qll b931e79a40fb379a8de377ae4ea1c85befb7b07dbfe913f0ea7f5adf5514b217 5d7e6f21284b8c5ff70773bb64f896a40541c9064bfdd336798ccfda4cb4fb9e
@@ -554,6 +561,7 @@ lib/codeql/swift/elements/type/FunctionType.qll 1a64eb24e8baa74ef2a8e4451f97442a
lib/codeql/swift/elements/type/GenericFunctionType.qll 8df1db2785c4e6b88f9af13eb7ba473f91459f57d19c4d706847ac6e3a02d64a 186efec4c23c372f9d9f7038d4b5a36f9c3184564e5b6899d2e467864977dd89
lib/codeql/swift/elements/type/GenericTypeParamType.qll d75c865295501f7efe27399ce93b30f6a4a217ed207e7227a5d9870cf536ad5f 1a764963700b872c8ea7afd586abbc0dadda68366555baefa6737d87b701a73f
lib/codeql/swift/elements/type/InOutType.qll 3ff69b884d2604f66290b188892f1d9d4321bf77a20bcda2ce5cb69e565b0cfb 3cd2b06bc606d84b1d73b8fcd2aea4d49aed0c8b98902b44dd6f19d298db7f9d
lib/codeql/swift/elements/type/IntegerType.qll 118acea4a849506aeddd5df92e9f134bf611f8c08cb44e18dc56259df1c98e5f 6801c067c63e310f28fed70a7c1ed87d08be6b7070a7ec677517a93b6eab0c3f
lib/codeql/swift/elements/type/LValueType.qll e1e53b1467f7b4ff77a812ae9cd8ce151cfc21443a4da14319aee390c081775c 42f5a39fb2c1e5dad3fef6db56430c6063cb04b1ba9c1f2b9c68356aef6aef1c
lib/codeql/swift/elements/type/LocalArchetypeType.qll 449ff6d721a70a0f8f7a8e1604471513af1523bad6efcc49820154e4d42a426b 1121b807f15d442b708bb614b684ad3d0581c787bae4a16999b8dd7da5103ab6
lib/codeql/swift/elements/type/MetatypeType.qll 9a0b15d97d67edfd68221903c65d1537ffd9270630b751528e3c97c504ab9472 aeb2263f4d49f71f529b467f4505605f42be5f48ae52c44b9041eea69fb4e3eb
@@ -608,6 +616,8 @@ lib/codeql/swift/elements/type/internal/BuiltinDefaultActorStorageTypeConstructo
lib/codeql/swift/elements/type/internal/BuiltinDefaultActorStorageTypeImpl.qll 1bf51a54fa58bbf89aaecbf631e44f7be014594c2a595e51c8ac54e790b3c05d a715240732615d22623a70b09c6c4d48d7b1d93dd0dc5a30d207136b3b4c4efc
lib/codeql/swift/elements/type/internal/BuiltinExecutorTypeConstructor.qll 2f9aea7e019b4c696294660a89b94d254b6d7bbd5b6d54991a1fc2e3306fed50 28c28b2d2a05a0e415e1b56f743d66b7f5e6a1aa2e6087d8a2743b7e34a602c4
lib/codeql/swift/elements/type/internal/BuiltinExecutorTypeImpl.qll 0a5f8edd92f68cf8a8f0036f52f454f0279771d3bef5e748e61f1f3eaeb51758 92624449d217fe69c6c9e40488039c59306db5f22066ff245ba7d4957a705043
lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeConstructor.qll 0d5af4926703f1c8989c2f8960885e769efe86e0b623e843b788242499771565 2449589a1c1d5748d7ead874cc1dc98ffb49a065a0dc8963f741f66845785a74
lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeImpl.qll 6b69ba8b271646bcd699e338f41c186f3e4e7d401830918407e392312b2f0ad1 ecaca3d762264423094f7c2cb63e33b5d72d970946766eec33d984fa977950b4
lib/codeql/swift/elements/type/internal/BuiltinFloatTypeConstructor.qll f1dab7b9d36213e57083a6effec1b2d859553831394c0e746c592c96a20db6de cceeaa864cfc84511b3cdad6a88d44fc14ea1c8e38db72b0854c3f217a3f9c44
lib/codeql/swift/elements/type/internal/BuiltinFloatTypeImpl.qll 1dc7f7817c4a238751875b0cee98d060a1ea975a22fd90ceef0f9874b85824d6 d98f743c28174fb3294f0ff60232600a4fc80aeefe72e5cc15bb56e09880ec1e
lib/codeql/swift/elements/type/internal/BuiltinIntegerLiteralTypeConstructor.qll 3885775f78e18286aa8dc99ab5b6f386a278b34b47f93da28d67faac918e6087 93be2ad0b7235bab613b74582bc1de0ca8b2a4da7a387d09a9b8ef9b38095534
@@ -652,6 +662,8 @@ lib/codeql/swift/elements/type/internal/GenericTypeParamTypeConstructor.qll b126
lib/codeql/swift/elements/type/internal/GenericTypeParamTypeImpl.qll efca259897a044fc967341a9fdb39497fc5e9bcb0b4ba33fa76cb926b98b3eb7 aaa621c691813a2f70f4071e3592d7760cef319904209770442ca0d0583f65a1
lib/codeql/swift/elements/type/internal/InOutTypeConstructor.qll 40550fd07551bc7c1692e08f1cb0692defca613c3c6403719efc5998eb1f1bfd 775f16224a455e336da239a179f84581b345803b9576aca119aeb3eef583d739
lib/codeql/swift/elements/type/internal/InOutTypeImpl.qll 28fc2931a424f551107b0ee49663d5d5307146c725353c5e484f0dd289f93dc0 ff12e91e30ee53bb8acdcf9e31261b6b1b0ae966babb4eacacb344c22aa1cb6e
lib/codeql/swift/elements/type/internal/IntegerTypeConstructor.qll 39e33225066f7162309f888723f81893703ee0daba68f192e3277f922060160b 08903e4d0bc8889761d016d6b6c4b7f1bd061a08c97e2a151b59cc0400ea2199
lib/codeql/swift/elements/type/internal/IntegerTypeImpl.qll ba8e6e972dcea4dbe937083c819c5fd9eb49ba4b6176e040ce65d36a95fe31bd 88064b52d9430b67edd62ed37426f5adc8f6d80722370340d147b0a4ca90f70c
lib/codeql/swift/elements/type/internal/LValueTypeConstructor.qll e3ab6ebb6191a2553bd4a483067acf7131862bc7235af2da74c35e2250300da8 cfa65d0f22416408ee1e5e5af440166fe5f5b39ae9bf1b9ae92bd9f9f2954b76
lib/codeql/swift/elements/type/internal/LocalArchetypeTypeImpl.qll 8170baafe8e2845a3f7f11894244c6b1cfbeadf7d3c86de676fe17deec68494c e72508db440afe58c2da26529c362f1f7eeb6f360424f62c7f6cd841c4a6f3bd
lib/codeql/swift/elements/type/internal/MetatypeTypeConstructor.qll 7011a1307524477b7e3b43e2efb2ebcbdc7fec258455c95d3c2525cb8857bf3c b56938e2d9cd814b2fa3de569f091f42e716b399e73e024e405eb211f65a944c
@@ -704,7 +716,7 @@ lib/codeql/swift/elements/type/internal/UnresolvedTypeImpl.qll ee1499dd568753898
lib/codeql/swift/elements/type/internal/VariadicSequenceTypeConstructor.qll fc74a5a2a2effa28ef24509b20ee4373d97cf6e8c71840121bb031c6adedf584 c9b2effc1d01c13c5e6a74a111122fa79a2f6554dda3cb016d68ba397e566ec4
lib/codeql/swift/elements/type/internal/WeakStorageTypeConstructor.qll 5fdce3716aba6318522174a2c455a63480970222ae81c732fb19c6dd3ae2d271 60ea79d6943e129deba0deccb566cf9d73f78398b0f7f0212674d91287d6b2ae
lib/codeql/swift/elements/type/internal/WeakStorageTypeImpl.qll 74f79b458f3204ec2519bd654de21bc4fb6b76816bd8ca01990fe897563a1383 34e1810f74cecda5b580ed050438ae1d914b97a36b8f4e2de1c25254c0cac633
lib/codeql/swift/elements.qll 9648ab501b413dc327513d9ed1d6e620a9eab6096e1130dc7e78cd6a2b6b549b 9648ab501b413dc327513d9ed1d6e620a9eab6096e1130dc7e78cd6a2b6b549b
lib/codeql/swift/elements.qll 2c093130866888903f5a97cc41072ad94c795d296fca6492d6db481b1ca39d94 2c093130866888903f5a97cc41072ad94c795d296fca6492d6db481b1ca39d94
lib/codeql/swift/generated/AstNode.qll 6fb80e9b230a1e3ae8193af40744f253d5cc81dc4239156924e5ab606c491efc e5c28418e9a38bde08f323a3986a199620189fc4a8a4dc8f670610a5d3d65b99
lib/codeql/swift/generated/AvailabilityInfo.qll e3a5274c43e72ff124b6988fd8be0c83a41b89337e11104150dd0ca7f51d8a11 889563791ca8d9758dbbccf64a0731c4bdbf721cad32bc6cd723f1072b6aa1de
lib/codeql/swift/generated/AvailabilitySpec.qll bc64d5c690c4d18800f0a48cc76a6a9ee4f832041343666da2d8df2aae04ed7e d03bf874293ac0ab09c025f75c0f392473d47bebe3223143adcc13882a366119
@@ -721,12 +733,12 @@ lib/codeql/swift/generated/Locatable.qll 1d37fa20de71c0b9986bfd7a7c0cb82ab7bf3fd
lib/codeql/swift/generated/Location.qll 5e20316c3e480ddfe632b7e88e016c19f10a67df1f6ae9c8f128755a6907d6f5 5a0af2d070bcb2ed53d6d0282bf9c60dc64c2dce89c21fdd485e9c7893c1c8fa
lib/codeql/swift/generated/MacroRole.qll facf907e75490d69cd401c491215e4719324d751f40ea46c86ccf24cf3663c1f 969d8d4b44e3f1a9c193a152a4d83a303e56d2dbb871fc920c47a33f699cf018
lib/codeql/swift/generated/OtherAvailabilitySpec.qll d9feaa2a71acff3184ca389045b0a49d09156210df0e034923d715b432ad594b 046737621a8bcf69bf805afb0cff476bd15259f12f0d77fce3206dd01b31518f
lib/codeql/swift/generated/ParentChild.qll 7c9537f74a4c5a02622ce28c3de4b0ce02a7027d2e9aea9a860ece6a1e2ec340 49c1993b2a96df66903bffde78d63d8f4c68b2d604c419b20d88b63406366156
lib/codeql/swift/generated/ParentChild.qll d66e5c28e93a3085fbae0ada238a96577ad21fd64a37ce967032bf5df8bdfb1d 2d440ad9c0304f658d54c6c53a8b1db1d3e032ee5522b51c46116413d0cf5dbb
lib/codeql/swift/generated/PlatformVersionAvailabilitySpec.qll dc17b49a90a18a8f7607adf2433bc8f0c194fa3e803aa3822f809d4d4fbd6793 be48ea9f8ae17354c8508aaed24337a9e57ce01f288fece3dcecd99776cabcec
lib/codeql/swift/generated/PureSynthConstructors.qll bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4
lib/codeql/swift/generated/Raw.qll 6012194c54f8992401dffc0916b5790cdf581f18ac7b884379362dc807a52706 f9538fdfb326b715fdbc47e9e8b310df684d5a34519f751a65b3a4a75e430ce9
lib/codeql/swift/generated/Synth.qll a14dddab40979df82d30b2d73407fe0058a803ed6e1a882cd9a6ae5ffd240526 0879d2476a42123b46eee216d4ea03523e0c04fe0b68d9a68e0046253edb1bc9
lib/codeql/swift/generated/SynthConstructors.qll f64121911e082aa15478eb8779025cee96e97503724c02aff31741e65a894a4b f64121911e082aa15478eb8779025cee96e97503724c02aff31741e65a894a4b
lib/codeql/swift/generated/Raw.qll 96d5f8778f25cd396b5cc56c38dce597c5a9a5c2b1e9ed8b9a4d2eca89e49323 d65072b5c508dad1dd813e19f7431087d8bfc0e5d85aa3d19beffbcbbec585ec
lib/codeql/swift/generated/Synth.qll 2b0f1a8911c1981ff50b78331bdd1f3f6023ad87a4ae3a92088901f493bb62c0 bc94ca1d86033e04b0999da84b61955ea1d8f4ac2379be527802512a42a16964
lib/codeql/swift/generated/SynthConstructors.qll d30b83f9d8d310414bb1261af386b70502df48159d06579bb2610e18ef546c3d d30b83f9d8d310414bb1261af386b70502df48159d06579bb2610e18ef546c3d
lib/codeql/swift/generated/UnknownFile.qll 247ddf2ebb49ce5ed4bf7bf91a969ddff37de6c78d43d8affccaf7eb586e06f2 452b29f0465ef45e978ef8b647b75e5a2a1e53f2a568fc003bc8f52f73b3fa4d
lib/codeql/swift/generated/UnknownLocation.qll d871000b4f53ffca4f67ea23ca5626e5dcce125d62a4d4b9969e08cc974af6fc b05971d7774e60790362fb810fb7086314f40a2de747b8cb1bc823ec6494a4dd
lib/codeql/swift/generated/UnspecifiedElement.qll d9ad4ba1ffff90cc465e8ba0dea8c4e8ba67dce5529b53b63ab6dc8e13c85e67 025218e1fee8ee382b63ad38009dfec73dc604d2ba80b9ad956c7c96eeed7022
@@ -896,6 +908,7 @@ lib/codeql/swift/generated/expr/TryExpr.qll 92b670b206df8b75d703c35dec2594802334
lib/codeql/swift/generated/expr/TupleElementExpr.qll 1528226a5615b821fa40127b425a7ffe2004d58b7511ba4e7313449c37e3d552 dcb5bef0a132257c6ca67d2d459ee1e420e0fa36fd8da56aac07af7c27b95a6e
lib/codeql/swift/generated/expr/TupleExpr.qll 860dde65c440ffa74648c663126194182c430c1520d5ce1a6766b81edf16dfd8 669091d441977fb730d3dcbfc6018e5fc013b6c2d27a0877c244431a6ffbb7a8
lib/codeql/swift/generated/expr/TypeExpr.qll 1f38f463b11b9f10878dab7266f05f455a0802e6d7464d81d4c05855d41adc64 b3c3f6b61b466be86a8cc0cea18d85b7a23b1f8dcf876ef2a050ef69778df32b
lib/codeql/swift/generated/expr/TypeValueExpr.qll 7c3ed4ddda248999ebe88c436a1967978efdbde7a4f0b73c1b74d350d59b4d26 e631045cc6943f59ba8732a77fa1ff23f2eddc767722be83160f31a9a65e26bd
lib/codeql/swift/generated/expr/UnderlyingToOpaqueExpr.qll 3d68175d73056e6f5afea5040ad2f9a8447adf078c490bb06769008857ee2ca7 f0ec8f0bf7271289b8be32038e60c2b1053d6563354c8bced53a42fef6292152
lib/codeql/swift/generated/expr/UnevaluatedInstanceExpr.qll bac438970bc12eef2ace318b97d37ef58ab7a9c2c43c3f4515780f65cdc5de70 11810cdd753c744f3ee274fce889d272c3c94b6087c124cdd09e99188eb3f926
lib/codeql/swift/generated/expr/UnreachableExpr.qll ab17ea1f01eb1b22b1012b57582b170936244c98f42374e0e21b9d468db9249c 93a2a3685a9f8d4eab06cf700bc6465915e29b49249a14fe6aa68d1af96c86ca
@@ -906,6 +919,7 @@ lib/codeql/swift/generated/expr/UnresolvedMemberExpr.qll 64a64c105b9b8b7bc0e1619
lib/codeql/swift/generated/expr/UnresolvedPatternExpr.qll f197e1f19aa3b7641df8e9a7fcfe9f474282aadcb31172db8d76d2eb2449f7e1 5490ad6989b86f4f62657553e67d468bcbf60c1091bdac7fe0948bf6a22731fb
lib/codeql/swift/generated/expr/UnresolvedSpecializeExpr.qll 5b6d9a88439442624051af347514b0a9fd5e932a440979778cf4072f71317770 a8f10642376f9ffa7f7cc73ca81e1a1f5905778a2752f20360f8a84f333dbfdd
lib/codeql/swift/generated/expr/UnresolvedTypeConversionExpr.qll f30db08dbb5fce2bf6149238f608c62b51079c3694ed80d15ddcbecb2af75346 71b60e93c67f7b66468400ce9cc8714c9ead1bacaa7ce27e9df94542b41318f9
lib/codeql/swift/generated/expr/UnsafeCastExpr.qll ec430464e1b6253dfcf0d17c08a01efae318b3f0c8beb7c977209504ccc2cc4f 48d5a80c96dfa71e091be2ce13ab7123997a37f8bcbaa6bde070493286f6b7f0
lib/codeql/swift/generated/expr/VarargExpansionExpr.qll 3f382a545ef79ef5cd7eadf397f01524769d5fa0ee6410f1d92ff6b9985a99ff ffe8d0caec0226a13599de646f9e0c5f0e1af3c2b7ed480b327f2d51850e9e32
lib/codeql/swift/generated/pattern/AnyPattern.qll af808c11b81a388f7d35bd98b6abf0fef45a1e1ec850cad16abb754c97c4da82 5c6cb800d4f026792a49fb84a3404f0797e599425bc54f474e3df6a948c18cfe
lib/codeql/swift/generated/pattern/BindingPattern.qll ec7a78c6f2c2e56494d87c8865da2028cc65875edc516fdbdbde8f2fc80a28e7 df9988a745548d8920a78c0aca6692b24e6dad19251420208d050ee4eb39eee3
@@ -959,6 +973,7 @@ lib/codeql/swift/generated/type/BoundGenericType.qll 5e7a2210b766437ca301f9675f7
lib/codeql/swift/generated/type/BuiltinBridgeObjectType.qll 97f30768a8788ec4547ce8a8f06fdd165286177e3819bf2e6590b9479f5bada4 ea3161c34d1d18783b38deac43c73048e4510015307d93f77cd95c149e988846
lib/codeql/swift/generated/type/BuiltinDefaultActorStorageType.qll 10e49de9a8bc3e67285c111f7869c8baceb70e478661d5557ebc8c86f41b4aec 1a0ce85eb325f666fbc2ac49c6f994efd552de6f2105e0a7ba9a10e39f3d1591
lib/codeql/swift/generated/type/BuiltinExecutorType.qll 8f58d4d413910aded894bfa9b54748adfc2b78f4ee271ac6db5f5b0214f36a66 69da70d76146155529b7b2426b3a459abe318f887240aac1aed5719fda5f386a
lib/codeql/swift/generated/type/BuiltinFixedArrayType.qll 9bd26596da9137b07324222c9ed39ec0781e44673314fba96a0c7cf16f65cc7d cc2d40961b070a89f3350ab95b92ae33372277e499d7b2a9ea34721cc1fe1923
lib/codeql/swift/generated/type/BuiltinFloatType.qll 6306a806107bba052fe0b1335c8c4d4391cdb6aa5f42f14c70743113928c4c36 3265d571630c0437e5d81ba20a0b6112b7e88ee3ffca737557186001cf8aa04a
lib/codeql/swift/generated/type/BuiltinIntegerLiteralType.qll 3f49aac9b81c440b902a658294cf95aff5cb79b0d6cee8b1abd8a08ad45c7966 6c184dcf5d9376f193f07fe4722ea7cab51f1dfdef4d72c3042842d73cca31fe
lib/codeql/swift/generated/type/BuiltinIntegerType.qll 3cfcbc4ebea6051d1f6dedcf098888c72c02bf697cebb52a0060c1885bea61f0 1c78df7a184e3615024d6e361b88dd619828a0aa7d342564610a95b02cc67d1e
@@ -982,6 +997,7 @@ lib/codeql/swift/generated/type/FunctionType.qll 739192b77787905a66d9c9970dc077c
lib/codeql/swift/generated/type/GenericFunctionType.qll 50743701a62cad6f2cbe8b331a45bd3b18f3154b860720355b831735fd2208b4 481b28aee3e473a74a66628acd2050cfee9807ebad8c8a0646783e3942b89297
lib/codeql/swift/generated/type/GenericTypeParamType.qll f266dffcd2f87f8411b796b97faa671a7bb5e6dd0aa67d3bfc9bbc06a47f1a3b 0e1625a7d2447faf75ec4c716ed1d5219b82ba8720450bc77d279e9854599758
lib/codeql/swift/generated/type/InOutType.qll 809a3bb1c5eec066416c2fce85df9116e7402a368c7e955abe6a01c7673cbdf4 7c614fa92e624890f3a83e7a7f3464f8a94f45b60beeb77f9295850567522ba7
lib/codeql/swift/generated/type/IntegerType.qll f2040268ae94c41f27a659c09c55360b20000d40440cb9513409a95379b3b37f 4397d31da9bad9e5167d6dc6cb7f26071bb80e00538bd8f55e7fc53e45e8bd32
lib/codeql/swift/generated/type/LValueType.qll 4a6422f21bd21b841d841cad9f7c01ce7eeb9ba6b5d1fa004fa44dc008eaa432 8914e356e0475f0f3b81c681295fa7a833fae2e24c491d8d6e552ad897be4184
lib/codeql/swift/generated/type/LocalArchetypeType.qll de4f291bab61ccb699609f39682cbe29936da3c8be51e9a5620b0bce384bc852 152a74964a40daa7419de15d646ee8b62d137a8a5d7c5d0b002d81d1fdf12c47
lib/codeql/swift/generated/type/MetatypeType.qll bef10ef14aa44b8ef86e5dfe38061df202b9a8d3fb27d671c4b71b51dbe48d1d fd43f29906ef16b3488a74d33fe76ec34e4b8afe6fdfd88036ee1e8305036ca7
@@ -1228,6 +1244,8 @@ test/extractor-tests/generated/expr/TryExpr/MISSING_SOURCE.txt 35fb32ea5393152eb
test/extractor-tests/generated/expr/TupleElementExpr/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/expr/TupleExpr/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/expr/TypeExpr/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.ql 93ebaff4938dd18f3626533cbf23094c4d7eac7ce84325b743f78dd36d8831e5 c3bc6b6f7a18ca5a32084207fac2468f6306b81cd6a7af1ecf117b1a37147266
test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr_getType.ql da07880497965cf7f7e28fb3c3a8e8223368685fdacb62d7e562757f01fd521c 9be644216f6adf12adf102ecfac5b3820c2fe7916a86586744ae71d1c11d9704
test/extractor-tests/generated/expr/VarargExpansionExpr/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/pattern/AnyPattern/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/pattern/BindingPattern/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
@@ -1291,6 +1309,7 @@ test/extractor-tests/generated/type/FunctionType/MISSING_SOURCE.txt 35fb32ea5393
test/extractor-tests/generated/type/GenericFunctionType/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/type/GenericTypeParamType/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/type/InOutType/InOutType.ql a3591003defc284ba9c1c8492ccea5f46ff1de2d86a2240da3a501598d236f8e 4915db95b101c199dcf194e8b974a3c7c94f8ac1d4d9dbf6144822beb4ec0b66
test/extractor-tests/generated/type/IntegerType/IntegerType.ql 7c911b67a801d8a4f0fe695c66318f6a08278b632adacb58bb10578474a43d49 9590080054ad1280eecb97d2f5265de8c2d2eeca03af24654cac5e2818240e85
test/extractor-tests/generated/type/LValueType/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/type/MetatypeType/MISSING_SOURCE.txt 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d 35fb32ea5393152eb7a875b20b4e3e4b8c7a997a8959c32417140d57a16a052d
test/extractor-tests/generated/type/ModuleType/ModuleType.ql a65f7a166068b3bc622864b4b7464a25e41cd8a02f2bdce214ae59475acb9893 89a165e1c0f5b1de549d6c73e893cbc520832d534f801ba5d9144ac2ae3a9b8a

19
swift/ql/.gitattributes generated vendored
View File

@@ -232,6 +232,7 @@
/lib/codeql/swift/elements/expr/TupleElementExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/TupleExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/TypeExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/TypeValueExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnderlyingToOpaqueExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnevaluatedInstanceExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnreachableExpr.qll linguist-generated
@@ -242,6 +243,7 @@
/lib/codeql/swift/elements/expr/UnresolvedPatternExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnresolvedSpecializeExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnresolvedTypeConversionExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/UnsafeCastExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/VarargExpansionExpr.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprImpl.qll linguist-generated
@@ -409,6 +411,8 @@
/lib/codeql/swift/elements/expr/internal/TupleElementExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/TupleExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/TypeExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/TypeValueExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/TypeValueExprImpl.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnderlyingToOpaqueExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnderlyingToOpaqueExprImpl.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnevaluatedInstanceExprConstructor.qll linguist-generated
@@ -427,6 +431,8 @@
/lib/codeql/swift/elements/expr/internal/UnresolvedSpecializeExprImpl.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnresolvedTypeConversionExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnresolvedTypeConversionExprImpl.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnsafeCastExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/UnsafeCastExprImpl.qll linguist-generated
/lib/codeql/swift/elements/expr/internal/VarargExpansionExprConstructor.qll linguist-generated
/lib/codeql/swift/elements/internal/AvailabilityInfoConstructor.qll linguist-generated
/lib/codeql/swift/elements/internal/AvailabilitySpecImpl.qll linguist-generated
@@ -533,6 +539,7 @@
/lib/codeql/swift/elements/type/BuiltinBridgeObjectType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinDefaultActorStorageType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinExecutorType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinFixedArrayType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinFloatType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinIntegerLiteralType.qll linguist-generated
/lib/codeql/swift/elements/type/BuiltinIntegerType.qll linguist-generated
@@ -556,6 +563,7 @@
/lib/codeql/swift/elements/type/GenericFunctionType.qll linguist-generated
/lib/codeql/swift/elements/type/GenericTypeParamType.qll linguist-generated
/lib/codeql/swift/elements/type/InOutType.qll linguist-generated
/lib/codeql/swift/elements/type/IntegerType.qll linguist-generated
/lib/codeql/swift/elements/type/LValueType.qll linguist-generated
/lib/codeql/swift/elements/type/LocalArchetypeType.qll linguist-generated
/lib/codeql/swift/elements/type/MetatypeType.qll linguist-generated
@@ -610,6 +618,8 @@
/lib/codeql/swift/elements/type/internal/BuiltinDefaultActorStorageTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinExecutorTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinExecutorTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinFloatTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinFloatTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/BuiltinIntegerLiteralTypeConstructor.qll linguist-generated
@@ -654,6 +664,8 @@
/lib/codeql/swift/elements/type/internal/GenericTypeParamTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/InOutTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/InOutTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/IntegerTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/IntegerTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/LValueTypeConstructor.qll linguist-generated
/lib/codeql/swift/elements/type/internal/LocalArchetypeTypeImpl.qll linguist-generated
/lib/codeql/swift/elements/type/internal/MetatypeTypeConstructor.qll linguist-generated
@@ -898,6 +910,7 @@
/lib/codeql/swift/generated/expr/TupleElementExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/TupleExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/TypeExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/TypeValueExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnderlyingToOpaqueExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnevaluatedInstanceExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnreachableExpr.qll linguist-generated
@@ -908,6 +921,7 @@
/lib/codeql/swift/generated/expr/UnresolvedPatternExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnresolvedSpecializeExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnresolvedTypeConversionExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/UnsafeCastExpr.qll linguist-generated
/lib/codeql/swift/generated/expr/VarargExpansionExpr.qll linguist-generated
/lib/codeql/swift/generated/pattern/AnyPattern.qll linguist-generated
/lib/codeql/swift/generated/pattern/BindingPattern.qll linguist-generated
@@ -961,6 +975,7 @@
/lib/codeql/swift/generated/type/BuiltinBridgeObjectType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinDefaultActorStorageType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinExecutorType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinFixedArrayType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinFloatType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinIntegerLiteralType.qll linguist-generated
/lib/codeql/swift/generated/type/BuiltinIntegerType.qll linguist-generated
@@ -984,6 +999,7 @@
/lib/codeql/swift/generated/type/GenericFunctionType.qll linguist-generated
/lib/codeql/swift/generated/type/GenericTypeParamType.qll linguist-generated
/lib/codeql/swift/generated/type/InOutType.qll linguist-generated
/lib/codeql/swift/generated/type/IntegerType.qll linguist-generated
/lib/codeql/swift/generated/type/LValueType.qll linguist-generated
/lib/codeql/swift/generated/type/LocalArchetypeType.qll linguist-generated
/lib/codeql/swift/generated/type/MetatypeType.qll linguist-generated
@@ -1230,6 +1246,8 @@
/test/extractor-tests/generated/expr/TupleElementExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/expr/TupleExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/expr/TypeExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr.ql linguist-generated
/test/extractor-tests/generated/expr/TypeValueExpr/TypeValueExpr_getType.ql linguist-generated
/test/extractor-tests/generated/expr/VarargExpansionExpr/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/pattern/AnyPattern/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/pattern/BindingPattern/MISSING_SOURCE.txt linguist-generated
@@ -1293,6 +1311,7 @@
/test/extractor-tests/generated/type/GenericFunctionType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/type/GenericTypeParamType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/type/InOutType/InOutType.ql linguist-generated
/test/extractor-tests/generated/type/IntegerType/IntegerType.ql linguist-generated
/test/extractor-tests/generated/type/LValueType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/type/MetatypeType/MISSING_SOURCE.txt linguist-generated
/test/extractor-tests/generated/type/ModuleType/ModuleType.ql linguist-generated

View File

@@ -0,0 +1,4 @@
---
category: feature
---
* Added AST nodes `UnsafeCastExpr`, `TypeValueExpr`, `IntegerType`, and `BuiltinFixedArrayType` that correspond to new nodes added by Swift 6.1.

View File

@@ -185,6 +185,7 @@ import codeql.swift.elements.expr.TryExpr
import codeql.swift.elements.expr.TupleElementExpr
import codeql.swift.elements.expr.TupleExpr
import codeql.swift.elements.expr.TypeExpr
import codeql.swift.elements.expr.TypeValueExpr
import codeql.swift.elements.expr.UnderlyingToOpaqueExpr
import codeql.swift.elements.expr.UnevaluatedInstanceExpr
import codeql.swift.elements.expr.UnreachableExpr
@@ -195,6 +196,7 @@ import codeql.swift.elements.expr.UnresolvedMemberExpr
import codeql.swift.elements.expr.UnresolvedPatternExpr
import codeql.swift.elements.expr.UnresolvedSpecializeExpr
import codeql.swift.elements.expr.UnresolvedTypeConversionExpr
import codeql.swift.elements.expr.UnsafeCastExpr
import codeql.swift.elements.expr.VarargExpansionExpr
import codeql.swift.elements.pattern.AnyPattern
import codeql.swift.elements.pattern.BindingPattern
@@ -248,6 +250,7 @@ import codeql.swift.elements.type.BoundGenericType
import codeql.swift.elements.type.BuiltinBridgeObjectType
import codeql.swift.elements.type.BuiltinDefaultActorStorageType
import codeql.swift.elements.type.BuiltinExecutorType
import codeql.swift.elements.type.BuiltinFixedArrayType
import codeql.swift.elements.type.BuiltinFloatType
import codeql.swift.elements.type.BuiltinIntegerLiteralType
import codeql.swift.elements.type.BuiltinIntegerType
@@ -271,6 +274,7 @@ import codeql.swift.elements.type.FunctionType
import codeql.swift.elements.type.GenericFunctionType
import codeql.swift.elements.type.GenericTypeParamType
import codeql.swift.elements.type.InOutType
import codeql.swift.elements.type.IntegerType
import codeql.swift.elements.type.LValueType
import codeql.swift.elements.type.LocalArchetypeType
import codeql.swift.elements.type.MetatypeType

View File

@@ -0,0 +1,10 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the public class `TypeValueExpr`.
*/
private import internal.TypeValueExprImpl
import codeql.swift.elements.expr.Expr
import codeql.swift.elements.type.TypeRepr
final class TypeValueExpr = Impl::TypeValueExpr;

View File

@@ -0,0 +1,12 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the public class `UnsafeCastExpr`.
*/
private import internal.UnsafeCastExprImpl
import codeql.swift.elements.expr.ImplicitConversionExpr
/**
* A conversion that performs an unsafe bitcast.
*/
final class UnsafeCastExpr = Impl::UnsafeCastExpr;

View File

@@ -0,0 +1,14 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module defines the hook used internally to tweak the characteristic predicate of
* `TypeValueExpr` synthesized instances.
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.Raw
/**
* The characteristic predicate of `TypeValueExpr` synthesized instances.
* INTERNAL: Do not use.
*/
predicate constructTypeValueExpr(Raw::TypeValueExpr id) { any() }

View File

@@ -0,0 +1,16 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module provides a hand-modifiable wrapper around the generated class `TypeValueExpr`.
*
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.expr.TypeValueExpr
/**
* INTERNAL: This module contains the customizable definition of `TypeValueExpr` and should not
* be referenced directly.
*/
module Impl {
class TypeValueExpr extends Generated::TypeValueExpr { }
}

View File

@@ -0,0 +1,14 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module defines the hook used internally to tweak the characteristic predicate of
* `UnsafeCastExpr` synthesized instances.
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.Raw
/**
* The characteristic predicate of `UnsafeCastExpr` synthesized instances.
* INTERNAL: Do not use.
*/
predicate constructUnsafeCastExpr(Raw::UnsafeCastExpr id) { any() }

View File

@@ -0,0 +1,19 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module provides a hand-modifiable wrapper around the generated class `UnsafeCastExpr`.
*
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.expr.UnsafeCastExpr
/**
* INTERNAL: This module contains the customizable definition of `UnsafeCastExpr` and should not
* be referenced directly.
*/
module Impl {
/**
* A conversion that performs an unsafe bitcast.
*/
class UnsafeCastExpr extends Generated::UnsafeCastExpr { }
}

View File

@@ -0,0 +1,12 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the public class `BuiltinFixedArrayType`.
*/
private import internal.BuiltinFixedArrayTypeImpl
import codeql.swift.elements.type.BuiltinType
/**
* A builtin type representing N values stored contiguously.
*/
final class BuiltinFixedArrayType = Impl::BuiltinFixedArrayType;

View File

@@ -0,0 +1,9 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the public class `IntegerType`.
*/
private import internal.IntegerTypeImpl
import codeql.swift.elements.type.Type
final class IntegerType = Impl::IntegerType;

View File

@@ -0,0 +1,14 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module defines the hook used internally to tweak the characteristic predicate of
* `BuiltinFixedArrayType` synthesized instances.
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.Raw
/**
* The characteristic predicate of `BuiltinFixedArrayType` synthesized instances.
* INTERNAL: Do not use.
*/
predicate constructBuiltinFixedArrayType(Raw::BuiltinFixedArrayType id) { any() }

View File

@@ -0,0 +1,19 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module provides a hand-modifiable wrapper around the generated class `BuiltinFixedArrayType`.
*
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.type.BuiltinFixedArrayType
/**
* INTERNAL: This module contains the customizable definition of `BuiltinFixedArrayType` and should not
* be referenced directly.
*/
module Impl {
/**
* A builtin type representing N values stored contiguously.
*/
class BuiltinFixedArrayType extends Generated::BuiltinFixedArrayType { }
}

View File

@@ -0,0 +1,14 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module defines the hook used internally to tweak the characteristic predicate of
* `IntegerType` synthesized instances.
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.Raw
/**
* The characteristic predicate of `IntegerType` synthesized instances.
* INTERNAL: Do not use.
*/
predicate constructIntegerType(Raw::IntegerType id) { any() }

View File

@@ -0,0 +1,16 @@
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
/**
* This module provides a hand-modifiable wrapper around the generated class `IntegerType`.
*
* INTERNAL: Do not use.
*/
private import codeql.swift.generated.type.IntegerType
/**
* INTERNAL: This module contains the customizable definition of `IntegerType` and should not
* be referenced directly.
*/
module Impl {
class IntegerType extends Generated::IntegerType { }
}

View File

@@ -2009,6 +2009,24 @@ private module Impl {
)
}
private Element getImmediateChildOfTypeValueExpr(
TypeValueExpr e, int index, string partialPredicateCall
) {
exists(int b, int bExpr, int n, int nTypeRepr |
b = 0 and
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
n = bExpr and
nTypeRepr = n + 1 and
(
none()
or
result = getImmediateChildOfExpr(e, index - b, partialPredicateCall)
or
index = n and result = e.getTypeRepr() and partialPredicateCall = "TypeRepr()"
)
)
}
private Element getImmediateChildOfUnresolvedDeclRefExpr(
UnresolvedDeclRefExpr e, int index, string partialPredicateCall
) {
@@ -3169,6 +3187,23 @@ private module Impl {
)
}
private Element getImmediateChildOfUnsafeCastExpr(
UnsafeCastExpr e, int index, string partialPredicateCall
) {
exists(int b, int bImplicitConversionExpr, int n |
b = 0 and
bImplicitConversionExpr =
b + 1 +
max(int i | i = -1 or exists(getImmediateChildOfImplicitConversionExpr(e, i, _)) | i) and
n = bImplicitConversionExpr and
(
none()
or
result = getImmediateChildOfImplicitConversionExpr(e, index - b, partialPredicateCall)
)
)
}
private Element getImmediateChildOfBooleanLiteralExpr(
BooleanLiteralExpr e, int index, string partialPredicateCall
) {
@@ -4260,6 +4295,21 @@ private module Impl {
)
}
private Element getImmediateChildOfIntegerType(
IntegerType e, int index, string partialPredicateCall
) {
exists(int b, int bType, int n |
b = 0 and
bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and
n = bType and
(
none()
or
result = getImmediateChildOfType(e, index - b, partialPredicateCall)
)
)
}
private Element getImmediateChildOfLValueType(LValueType e, int index, string partialPredicateCall) {
exists(int b, int bType, int n |
b = 0 and
@@ -4514,6 +4564,22 @@ private module Impl {
)
}
private Element getImmediateChildOfBuiltinFixedArrayType(
BuiltinFixedArrayType e, int index, string partialPredicateCall
) {
exists(int b, int bBuiltinType, int n |
b = 0 and
bBuiltinType =
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfBuiltinType(e, i, _)) | i) and
n = bBuiltinType and
(
none()
or
result = getImmediateChildOfBuiltinType(e, index - b, partialPredicateCall)
)
)
}
private Element getImmediateChildOfBuiltinFloatType(
BuiltinFloatType e, int index, string partialPredicateCall
) {
@@ -5365,6 +5431,8 @@ private module Impl {
or
result = getImmediateChildOfTypeExpr(e, index, partialAccessor)
or
result = getImmediateChildOfTypeValueExpr(e, index, partialAccessor)
or
result = getImmediateChildOfUnresolvedDeclRefExpr(e, index, partialAccessor)
or
result = getImmediateChildOfUnresolvedDotExpr(e, index, partialAccessor)
@@ -5493,6 +5561,8 @@ private module Impl {
or
result = getImmediateChildOfUnresolvedTypeConversionExpr(e, index, partialAccessor)
or
result = getImmediateChildOfUnsafeCastExpr(e, index, partialAccessor)
or
result = getImmediateChildOfBooleanLiteralExpr(e, index, partialAccessor)
or
result = getImmediateChildOfConditionalCheckedCastExpr(e, index, partialAccessor)
@@ -5599,6 +5669,8 @@ private module Impl {
or
result = getImmediateChildOfInOutType(e, index, partialAccessor)
or
result = getImmediateChildOfIntegerType(e, index, partialAccessor)
or
result = getImmediateChildOfLValueType(e, index, partialAccessor)
or
result = getImmediateChildOfModuleType(e, index, partialAccessor)
@@ -5623,6 +5695,8 @@ private module Impl {
or
result = getImmediateChildOfBuiltinExecutorType(e, index, partialAccessor)
or
result = getImmediateChildOfBuiltinFixedArrayType(e, index, partialAccessor)
or
result = getImmediateChildOfBuiltinFloatType(e, index, partialAccessor)
or
result = getImmediateChildOfBuiltinJobType(e, index, partialAccessor)

View File

@@ -1853,6 +1853,18 @@ module Raw {
TypeRepr getTypeRepr() { type_expr_type_reprs(this, result) }
}
/**
* INTERNAL: Do not use.
*/
class TypeValueExpr extends @type_value_expr, Expr {
override string toString() { result = "TypeValueExpr" }
/**
* Gets the type representation of this type value expression.
*/
TypeRepr getTypeRepr() { type_value_exprs(this, result) }
}
/**
* INTERNAL: Do not use.
*/
@@ -2488,6 +2500,14 @@ module Raw {
override string toString() { result = "UnresolvedTypeConversionExpr" }
}
/**
* INTERNAL: Do not use.
* A conversion that performs an unsafe bitcast.
*/
class UnsafeCastExpr extends @unsafe_cast_expr, ImplicitConversionExpr {
override string toString() { result = "UnsafeCastExpr" }
}
/**
* INTERNAL: Do not use.
*/
@@ -3315,6 +3335,18 @@ module Raw {
Type getObjectType() { in_out_types(this, result) }
}
/**
* INTERNAL: Do not use.
*/
class IntegerType extends @integer_type, Type {
override string toString() { result = "IntegerType" }
/**
* Gets the value of this integer type.
*/
string getValue() { integer_types(this, result) }
}
/**
* INTERNAL: Do not use.
*/
@@ -3514,6 +3546,14 @@ module Raw {
override string toString() { result = "BuiltinExecutorType" }
}
/**
* INTERNAL: Do not use.
* A builtin type representing N values stored contiguously.
*/
class BuiltinFixedArrayType extends @builtin_fixed_array_type, BuiltinType {
override string toString() { result = "BuiltinFixedArrayType" }
}
/**
* INTERNAL: Do not use.
*/

View File

@@ -668,6 +668,10 @@ module Synth {
* INTERNAL: Do not use.
*/
TTypeExpr(Raw::TypeExpr id) { constructTypeExpr(id) } or
/**
* INTERNAL: Do not use.
*/
TTypeValueExpr(Raw::TypeValueExpr id) { constructTypeValueExpr(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -716,6 +720,10 @@ module Synth {
TUnresolvedTypeConversionExpr(Raw::UnresolvedTypeConversionExpr id) {
constructUnresolvedTypeConversionExpr(id)
} or
/**
* INTERNAL: Do not use.
*/
TUnsafeCastExpr(Raw::UnsafeCastExpr id) { constructUnsafeCastExpr(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -892,6 +900,10 @@ module Synth {
* INTERNAL: Do not use.
*/
TBuiltinExecutorType(Raw::BuiltinExecutorType id) { constructBuiltinExecutorType(id) } or
/**
* INTERNAL: Do not use.
*/
TBuiltinFixedArrayType(Raw::BuiltinFixedArrayType id) { constructBuiltinFixedArrayType(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -990,6 +1002,10 @@ module Synth {
* INTERNAL: Do not use.
*/
TInOutType(Raw::InOutType id) { constructInOutType(id) } or
/**
* INTERNAL: Do not use.
*/
TIntegerType(Raw::IntegerType id) { constructIntegerType(id) } or
/**
* INTERNAL: Do not use.
*/
@@ -1262,9 +1278,9 @@ module Synth {
TOptionalEvaluationExpr or TOtherInitializerRefExpr or TOverloadedDeclRefExpr or
TPackElementExpr or TPackExpansionExpr or TPropertyWrapperValuePlaceholderExpr or
TRebindSelfInInitializerExpr or TSequenceExpr or TSingleValueStmtExpr or TSuperRefExpr or
TTapExpr or TTupleElementExpr or TTupleExpr or TTypeExpr or TUnresolvedDeclRefExpr or
TUnresolvedDotExpr or TUnresolvedMemberExpr or TUnresolvedPatternExpr or
TUnresolvedSpecializeExpr or TVarargExpansionExpr;
TTapExpr or TTupleElementExpr or TTupleExpr or TTypeExpr or TTypeValueExpr or
TUnresolvedDeclRefExpr or TUnresolvedDotExpr or TUnresolvedMemberExpr or
TUnresolvedPatternExpr or TUnresolvedSpecializeExpr or TVarargExpansionExpr;
/**
* INTERNAL: Do not use.
@@ -1288,7 +1304,7 @@ module Synth {
TLinearToDifferentiableFunctionExpr or TLoadExpr or TMetatypeConversionExpr or
TPointerToPointerExpr or TProtocolMetatypeToObjectExpr or TStringToPointerExpr or
TUnderlyingToOpaqueExpr or TUnevaluatedInstanceExpr or TUnreachableExpr or
TUnresolvedTypeConversionExpr;
TUnresolvedTypeConversionExpr or TUnsafeCastExpr;
/**
* INTERNAL: Do not use.
@@ -1377,8 +1393,8 @@ module Synth {
*/
class TBuiltinType =
TAnyBuiltinIntegerType or TBuiltinBridgeObjectType or TBuiltinDefaultActorStorageType or
TBuiltinExecutorType or TBuiltinFloatType or TBuiltinJobType or TBuiltinNativeObjectType or
TBuiltinRawPointerType or TBuiltinRawUnsafeContinuationType or
TBuiltinExecutorType or TBuiltinFixedArrayType or TBuiltinFloatType or TBuiltinJobType or
TBuiltinNativeObjectType or TBuiltinRawPointerType or TBuiltinRawUnsafeContinuationType or
TBuiltinUnsafeValueBufferType or TBuiltinVectorType;
/**
@@ -1422,9 +1438,9 @@ module Synth {
class TType =
TAnyFunctionType or TAnyGenericType or TAnyMetatypeType or TBuiltinType or
TDependentMemberType or TDynamicSelfType or TErrorType or TExistentialType or TInOutType or
TLValueType or TModuleType or TPackElementType or TPackExpansionType or TPackType or
TParameterizedProtocolType or TProtocolCompositionType or TReferenceStorageType or
TSubstitutableType or TSugarType or TTupleType or TUnresolvedType;
TIntegerType or TLValueType or TModuleType or TPackElementType or TPackExpansionType or
TPackType or TParameterizedProtocolType or TProtocolCompositionType or
TReferenceStorageType or TSubstitutableType or TSugarType or TTupleType or TUnresolvedType;
/**
* INTERNAL: Do not use.
@@ -2483,6 +2499,12 @@ module Synth {
*/
TTypeExpr convertTypeExprFromRaw(Raw::Element e) { result = TTypeExpr(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TTypeValueExpr`, if possible.
*/
TTypeValueExpr convertTypeValueExprFromRaw(Raw::Element e) { result = TTypeValueExpr(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TUnderlyingToOpaqueExpr`, if possible.
@@ -2561,6 +2583,12 @@ module Synth {
result = TUnresolvedTypeConversionExpr(e)
}
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TUnsafeCastExpr`, if possible.
*/
TUnsafeCastExpr convertUnsafeCastExprFromRaw(Raw::Element e) { result = TUnsafeCastExpr(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TVarargExpansionExpr`, if possible.
@@ -2837,6 +2865,14 @@ module Synth {
result = TBuiltinExecutorType(e)
}
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TBuiltinFixedArrayType`, if possible.
*/
TBuiltinFixedArrayType convertBuiltinFixedArrayTypeFromRaw(Raw::Element e) {
result = TBuiltinFixedArrayType(e)
}
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TBuiltinFloatType`, if possible.
@@ -2993,6 +3029,12 @@ module Synth {
*/
TInOutType convertInOutTypeFromRaw(Raw::Element e) { result = TInOutType(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TIntegerType`, if possible.
*/
TIntegerType convertIntegerTypeFromRaw(Raw::Element e) { result = TIntegerType(e) }
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TLValueType`, if possible.
@@ -3664,6 +3706,8 @@ module Synth {
or
result = convertTypeExprFromRaw(e)
or
result = convertTypeValueExprFromRaw(e)
or
result = convertUnresolvedDeclRefExprFromRaw(e)
or
result = convertUnresolvedDotExprFromRaw(e)
@@ -3765,6 +3809,8 @@ module Synth {
result = convertUnreachableExprFromRaw(e)
or
result = convertUnresolvedTypeConversionExprFromRaw(e)
or
result = convertUnsafeCastExprFromRaw(e)
}
/**
@@ -3988,6 +4034,8 @@ module Synth {
or
result = convertBuiltinExecutorTypeFromRaw(e)
or
result = convertBuiltinFixedArrayTypeFromRaw(e)
or
result = convertBuiltinFloatTypeFromRaw(e)
or
result = convertBuiltinJobTypeFromRaw(e)
@@ -4104,6 +4152,8 @@ module Synth {
or
result = convertInOutTypeFromRaw(e)
or
result = convertIntegerTypeFromRaw(e)
or
result = convertLValueTypeFromRaw(e)
or
result = convertModuleTypeFromRaw(e)
@@ -5191,6 +5241,12 @@ module Synth {
*/
Raw::Element convertTypeExprToRaw(TTypeExpr e) { e = TTypeExpr(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TTypeValueExpr` to a raw DB element, if possible.
*/
Raw::Element convertTypeValueExprToRaw(TTypeValueExpr e) { e = TTypeValueExpr(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TUnderlyingToOpaqueExpr` to a raw DB element, if possible.
@@ -5269,6 +5325,12 @@ module Synth {
e = TUnresolvedTypeConversionExpr(result)
}
/**
* INTERNAL: Do not use.
* Converts a synthesized `TUnsafeCastExpr` to a raw DB element, if possible.
*/
Raw::Element convertUnsafeCastExprToRaw(TUnsafeCastExpr e) { e = TUnsafeCastExpr(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TVarargExpansionExpr` to a raw DB element, if possible.
@@ -5545,6 +5607,14 @@ module Synth {
e = TBuiltinExecutorType(result)
}
/**
* INTERNAL: Do not use.
* Converts a synthesized `TBuiltinFixedArrayType` to a raw DB element, if possible.
*/
Raw::Element convertBuiltinFixedArrayTypeToRaw(TBuiltinFixedArrayType e) {
e = TBuiltinFixedArrayType(result)
}
/**
* INTERNAL: Do not use.
* Converts a synthesized `TBuiltinFloatType` to a raw DB element, if possible.
@@ -5701,6 +5771,12 @@ module Synth {
*/
Raw::Element convertInOutTypeToRaw(TInOutType e) { e = TInOutType(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TIntegerType` to a raw DB element, if possible.
*/
Raw::Element convertIntegerTypeToRaw(TIntegerType e) { e = TIntegerType(result) }
/**
* INTERNAL: Do not use.
* Converts a synthesized `TLValueType` to a raw DB element, if possible.
@@ -6372,6 +6448,8 @@ module Synth {
or
result = convertTypeExprToRaw(e)
or
result = convertTypeValueExprToRaw(e)
or
result = convertUnresolvedDeclRefExprToRaw(e)
or
result = convertUnresolvedDotExprToRaw(e)
@@ -6473,6 +6551,8 @@ module Synth {
result = convertUnreachableExprToRaw(e)
or
result = convertUnresolvedTypeConversionExprToRaw(e)
or
result = convertUnsafeCastExprToRaw(e)
}
/**
@@ -6696,6 +6776,8 @@ module Synth {
or
result = convertBuiltinExecutorTypeToRaw(e)
or
result = convertBuiltinFixedArrayTypeToRaw(e)
or
result = convertBuiltinFloatTypeToRaw(e)
or
result = convertBuiltinJobTypeToRaw(e)
@@ -6812,6 +6894,8 @@ module Synth {
or
result = convertInOutTypeToRaw(e)
or
result = convertIntegerTypeToRaw(e)
or
result = convertLValueTypeToRaw(e)
or
result = convertModuleTypeToRaw(e)

View File

@@ -152,6 +152,7 @@ import codeql.swift.elements.expr.internal.TryExprConstructor
import codeql.swift.elements.expr.internal.TupleElementExprConstructor
import codeql.swift.elements.expr.internal.TupleExprConstructor
import codeql.swift.elements.expr.internal.TypeExprConstructor
import codeql.swift.elements.expr.internal.TypeValueExprConstructor
import codeql.swift.elements.expr.internal.UnderlyingToOpaqueExprConstructor
import codeql.swift.elements.expr.internal.UnevaluatedInstanceExprConstructor
import codeql.swift.elements.expr.internal.UnreachableExprConstructor
@@ -162,6 +163,7 @@ import codeql.swift.elements.expr.internal.UnresolvedMemberExprConstructor
import codeql.swift.elements.expr.internal.UnresolvedPatternExprConstructor
import codeql.swift.elements.expr.internal.UnresolvedSpecializeExprConstructor
import codeql.swift.elements.expr.internal.UnresolvedTypeConversionExprConstructor
import codeql.swift.elements.expr.internal.UnsafeCastExprConstructor
import codeql.swift.elements.expr.internal.VarargExpansionExprConstructor
import codeql.swift.elements.pattern.internal.AnyPatternConstructor
import codeql.swift.elements.pattern.internal.BindingPatternConstructor
@@ -205,6 +207,7 @@ import codeql.swift.elements.type.internal.BoundGenericStructTypeConstructor
import codeql.swift.elements.type.internal.BuiltinBridgeObjectTypeConstructor
import codeql.swift.elements.type.internal.BuiltinDefaultActorStorageTypeConstructor
import codeql.swift.elements.type.internal.BuiltinExecutorTypeConstructor
import codeql.swift.elements.type.internal.BuiltinFixedArrayTypeConstructor
import codeql.swift.elements.type.internal.BuiltinFloatTypeConstructor
import codeql.swift.elements.type.internal.BuiltinIntegerLiteralTypeConstructor
import codeql.swift.elements.type.internal.BuiltinIntegerTypeConstructor
@@ -227,6 +230,7 @@ import codeql.swift.elements.type.internal.FunctionTypeConstructor
import codeql.swift.elements.type.internal.GenericFunctionTypeConstructor
import codeql.swift.elements.type.internal.GenericTypeParamTypeConstructor
import codeql.swift.elements.type.internal.InOutTypeConstructor
import codeql.swift.elements.type.internal.IntegerTypeConstructor
import codeql.swift.elements.type.internal.LValueTypeConstructor
import codeql.swift.elements.type.internal.MetatypeTypeConstructor
import codeql.swift.elements.type.internal.ModuleTypeConstructor

View File

@@ -0,0 +1,34 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the generated definition of `TypeValueExpr`.
* INTERNAL: Do not import directly.
*/
private import codeql.swift.generated.Synth
private import codeql.swift.generated.Raw
import codeql.swift.elements.expr.internal.ExprImpl::Impl as ExprImpl
import codeql.swift.elements.type.TypeRepr
/**
* INTERNAL: This module contains the fully generated definition of `TypeValueExpr` and should not
* be referenced directly.
*/
module Generated {
/**
* INTERNAL: Do not reference the `Generated::TypeValueExpr` class directly.
* Use the subclass `TypeValueExpr`, where the following predicates are available.
*/
class TypeValueExpr extends Synth::TTypeValueExpr, ExprImpl::Expr {
override string getAPrimaryQlClass() { result = "TypeValueExpr" }
/**
* Gets the type representation of this type value expression.
*/
TypeRepr getTypeRepr() {
result =
Synth::convertTypeReprFromRaw(Synth::convertTypeValueExprToRaw(this)
.(Raw::TypeValueExpr)
.getTypeRepr())
}
}
}

View File

@@ -0,0 +1,26 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the generated definition of `UnsafeCastExpr`.
* INTERNAL: Do not import directly.
*/
private import codeql.swift.generated.Synth
private import codeql.swift.generated.Raw
import codeql.swift.elements.expr.internal.ImplicitConversionExprImpl::Impl as ImplicitConversionExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnsafeCastExpr` and should not
* be referenced directly.
*/
module Generated {
/**
* A conversion that performs an unsafe bitcast.
* INTERNAL: Do not reference the `Generated::UnsafeCastExpr` class directly.
* Use the subclass `UnsafeCastExpr`, where the following predicates are available.
*/
class UnsafeCastExpr extends Synth::TUnsafeCastExpr,
ImplicitConversionExprImpl::ImplicitConversionExpr
{
override string getAPrimaryQlClass() { result = "UnsafeCastExpr" }
}
}

View File

@@ -0,0 +1,24 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the generated definition of `BuiltinFixedArrayType`.
* INTERNAL: Do not import directly.
*/
private import codeql.swift.generated.Synth
private import codeql.swift.generated.Raw
import codeql.swift.elements.type.internal.BuiltinTypeImpl::Impl as BuiltinTypeImpl
/**
* INTERNAL: This module contains the fully generated definition of `BuiltinFixedArrayType` and should not
* be referenced directly.
*/
module Generated {
/**
* A builtin type representing N values stored contiguously.
* INTERNAL: Do not reference the `Generated::BuiltinFixedArrayType` class directly.
* Use the subclass `BuiltinFixedArrayType`, where the following predicates are available.
*/
class BuiltinFixedArrayType extends Synth::TBuiltinFixedArrayType, BuiltinTypeImpl::BuiltinType {
override string getAPrimaryQlClass() { result = "BuiltinFixedArrayType" }
}
}

View File

@@ -0,0 +1,30 @@
// generated by codegen/codegen.py, do not edit
/**
* This module provides the generated definition of `IntegerType`.
* INTERNAL: Do not import directly.
*/
private import codeql.swift.generated.Synth
private import codeql.swift.generated.Raw
import codeql.swift.elements.type.internal.TypeImpl::Impl as TypeImpl
/**
* INTERNAL: This module contains the fully generated definition of `IntegerType` and should not
* be referenced directly.
*/
module Generated {
/**
* INTERNAL: Do not reference the `Generated::IntegerType` class directly.
* Use the subclass `IntegerType`, where the following predicates are available.
*/
class IntegerType extends Synth::TIntegerType, TypeImpl::Type {
override string getAPrimaryQlClass() { result = "IntegerType" }
/**
* Gets the value of this integer type.
*/
string getValue() {
result = Synth::convertIntegerTypeToRaw(this).(Raw::IntegerType).getValue()
}
}
}

View File

@@ -819,6 +819,7 @@ arguments( //dir=expr
| @tuple_element_expr
| @tuple_expr
| @type_expr
| @type_value_expr
| @unresolved_decl_ref_expr
| @unresolved_dot_expr
| @unresolved_member_expr
@@ -1067,6 +1068,7 @@ if_exprs( //dir=expr
| @unevaluated_instance_expr
| @unreachable_expr
| @unresolved_type_conversion_expr
| @unsafe_cast_expr
;
#keyset[id]
@@ -1280,6 +1282,11 @@ type_expr_type_reprs( //dir=expr
int type_repr: @type_repr_or_none ref
);
type_value_exprs( //dir=expr
unique int id: @type_value_expr,
int type_repr: @type_repr_or_none ref
);
unresolved_decl_ref_exprs( //dir=expr
unique int id: @unresolved_decl_ref_expr
);
@@ -1656,6 +1663,10 @@ unresolved_type_conversion_exprs( //dir=expr
unique int id: @unresolved_type_conversion_expr
);
unsafe_cast_exprs( //dir=expr
unique int id: @unsafe_cast_expr
);
boolean_literal_exprs( //dir=expr
unique int id: @boolean_literal_expr,
boolean value: boolean ref
@@ -2127,6 +2138,7 @@ while_stmts( //dir=stmt
| @error_type
| @existential_type
| @in_out_type
| @integer_type
| @l_value_type
| @module_type
| @pack_element_type
@@ -2208,6 +2220,7 @@ any_generic_type_parents( //dir=type
| @builtin_bridge_object_type
| @builtin_default_actor_storage_type
| @builtin_executor_type
| @builtin_fixed_array_type
| @builtin_float_type
| @builtin_job_type
| @builtin_native_object_type
@@ -2242,6 +2255,11 @@ in_out_types( //dir=type
int object_type: @type_or_none ref
);
integer_types( //dir=type
unique int id: @integer_type,
string value: string ref
);
l_value_types( //dir=type
unique int id: @l_value_type,
int object_type: @type_or_none ref
@@ -2385,6 +2403,10 @@ builtin_executor_types( //dir=type
unique int id: @builtin_executor_type
);
builtin_fixed_array_types( //dir=type
unique int id: @builtin_fixed_array_type
);
builtin_float_types( //dir=type
unique int id: @builtin_float_type
);

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,2 @@
description: Add `UnsafeCastExpr`, `TypeValueExpr`, `IntegerType`, and `BuiltinFixedArrayType`.
compatibility: full

View File

@@ -9,6 +9,8 @@ predicate toBeTested(Element e) {
e instanceof File and
(exists(e.(File).getRelativePath()) or e instanceof UnknownFile)
or
e instanceof IntegerType
or
e instanceof ParameterizedProtocolType
or
e instanceof PackType

View File

@@ -3,3 +3,5 @@
| implicit_conversions.swift:5:25:5:25 | (any Equatable) ... | ErasureExpr | hasType: | yes | getSubExpr: | implicit_conversions.swift:5:25:5:25 | 42 |
| implicit_conversions.swift:12:3:12:5 | (@lvalue (() -> Void)?) ... | AbiSafeConversionExpr | hasType: | yes | getSubExpr: | implicit_conversions.swift:12:3:12:5 | .b |
| implicit_conversions.swift:12:9:12:10 | ((() -> Void)?) ... | InjectIntoOptionalExpr | hasType: | yes | getSubExpr: | implicit_conversions.swift:12:9:12:10 | { ... } |
| implicit_conversions.swift:24:3:24:5 | (Array<Any>) ... | UnsafeCastExpr | hasType: | yes | getSubExpr: | implicit_conversions.swift:24:3:24:5 | ([any Sendable]) ... |
| implicit_conversions.swift:24:3:24:5 | ([any Sendable]) ... | LoadExpr | hasType: | yes | getSubExpr: | implicit_conversions.swift:24:3:24:5 | .a |

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