mirror of
https://github.com/github/codeql.git
synced 2026-05-26 00:51:25 +02:00
Compare commits
19 Commits
alexet/rtj
...
jeongsoole
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2931b95074 | ||
|
|
55efb113c2 | ||
|
|
824271a84a | ||
|
|
44b1bc90fb | ||
|
|
c327e6ff07 | ||
|
|
9b0854edb1 | ||
|
|
aa80b83874 | ||
|
|
6bf50d8f86 | ||
|
|
5c4ca64264 | ||
|
|
bc35599f1a | ||
|
|
869af58c9d | ||
|
|
9ca6706550 | ||
|
|
4ca98ba816 | ||
|
|
95ac458d2a | ||
|
|
98384bf4c2 | ||
|
|
c74fca929a | ||
|
|
97d2ed8b3b | ||
|
|
f0dfa51fb9 | ||
|
|
06e3a01314 |
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
2
rust/extractor/src/generated/.generated.list
generated
2
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1,2 @@
|
||||
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
||||
top.rs 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692 060225ccbae440eef117e2ef0a82f3deba29e6ba2d35f00281f9c0e6a945e692
|
||||
top.rs 47c9cc0e39e81a89bf62497e7b3e45c9cd585c425aaac7fc5d07113e8ef9861d 47c9cc0e39e81a89bf62497e7b3e45c9cd585c425aaac7fc5d07113e8ef9861d
|
||||
|
||||
117
rust/extractor/src/generated/top.rs
generated
117
rust/extractor/src/generated/top.rs
generated
@@ -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>,
|
||||
|
||||
10
rust/extractor/src/translate/generated.rs
generated
10
rust/extractor/src/translate/generated.rs
generated
@@ -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)
|
||||
}
|
||||
|
||||
26
rust/ql/.generated.list
generated
26
rust/ql/.generated.list
generated
@@ -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
14
rust/ql/.gitattributes
generated
vendored
@@ -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
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
2
rust/ql/lib/codeql/rust/elements.qll
generated
2
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -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
|
||||
|
||||
@@ -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;
|
||||
@@ -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() }
|
||||
@@ -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 { }
|
||||
}
|
||||
66
rust/ql/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll
generated
Normal file
66
rust/ql/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll
generated
Normal 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))) }
|
||||
}
|
||||
}
|
||||
@@ -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))) }
|
||||
}
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
@@ -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
|
||||
|
||||
2
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
2
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
@@ -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
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
| gen_macro_block_expr.rs:5:14:5:28 | MacroBlockExpr | hasTailExpr: | yes | getNumberOfStatements: | 0 |
|
||||
11
rust/ql/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql
generated
Normal file
11
rust/ql/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql
generated
Normal 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
|
||||
@@ -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)
|
||||
@@ -0,0 +1 @@
|
||||
| gen_macro_block_expr.rs:5:14:5:28 | MacroBlockExpr | gen_macro_block_expr.rs:5:14:5:28 | { ... } |
|
||||
@@ -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()
|
||||
@@ -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 |
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
| gen_macro_stmts.rs:5:14:5:28 | MacroStmts | hasExpr: | yes | getNumberOfStatements: | 0 |
|
||||
@@ -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
|
||||
@@ -1 +0,0 @@
|
||||
| gen_macro_stmts.rs:5:14:5:28 | MacroStmts | gen_macro_stmts.rs:5:14:5:28 | { ... } |
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 | |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
4
rust/schema/ast.py
generated
@@ -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, ):
|
||||
|
||||
@@ -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
@@ -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
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
29
swift/ql/.generated.list
generated
29
swift/ql/.generated.list
generated
@@ -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
19
swift/ql/.gitattributes
generated
vendored
@@ -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
|
||||
|
||||
4
swift/ql/lib/change-notes/2025-05-02-new-entities.md
Normal file
4
swift/ql/lib/change-notes/2025-05-02-new-entities.md
Normal 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.
|
||||
4
swift/ql/lib/codeql/swift/elements.qll
generated
4
swift/ql/lib/codeql/swift/elements.qll
generated
@@ -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
|
||||
|
||||
10
swift/ql/lib/codeql/swift/elements/expr/TypeValueExpr.qll
generated
Normal file
10
swift/ql/lib/codeql/swift/elements/expr/TypeValueExpr.qll
generated
Normal 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;
|
||||
12
swift/ql/lib/codeql/swift/elements/expr/UnsafeCastExpr.qll
generated
Normal file
12
swift/ql/lib/codeql/swift/elements/expr/UnsafeCastExpr.qll
generated
Normal 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;
|
||||
14
swift/ql/lib/codeql/swift/elements/expr/internal/TypeValueExprConstructor.qll
generated
Normal file
14
swift/ql/lib/codeql/swift/elements/expr/internal/TypeValueExprConstructor.qll
generated
Normal 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() }
|
||||
16
swift/ql/lib/codeql/swift/elements/expr/internal/TypeValueExprImpl.qll
generated
Normal file
16
swift/ql/lib/codeql/swift/elements/expr/internal/TypeValueExprImpl.qll
generated
Normal 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 { }
|
||||
}
|
||||
14
swift/ql/lib/codeql/swift/elements/expr/internal/UnsafeCastExprConstructor.qll
generated
Normal file
14
swift/ql/lib/codeql/swift/elements/expr/internal/UnsafeCastExprConstructor.qll
generated
Normal 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() }
|
||||
19
swift/ql/lib/codeql/swift/elements/expr/internal/UnsafeCastExprImpl.qll
generated
Normal file
19
swift/ql/lib/codeql/swift/elements/expr/internal/UnsafeCastExprImpl.qll
generated
Normal 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 { }
|
||||
}
|
||||
12
swift/ql/lib/codeql/swift/elements/type/BuiltinFixedArrayType.qll
generated
Normal file
12
swift/ql/lib/codeql/swift/elements/type/BuiltinFixedArrayType.qll
generated
Normal 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;
|
||||
9
swift/ql/lib/codeql/swift/elements/type/IntegerType.qll
generated
Normal file
9
swift/ql/lib/codeql/swift/elements/type/IntegerType.qll
generated
Normal 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;
|
||||
14
swift/ql/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeConstructor.qll
generated
Normal file
14
swift/ql/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeConstructor.qll
generated
Normal 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() }
|
||||
19
swift/ql/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeImpl.qll
generated
Normal file
19
swift/ql/lib/codeql/swift/elements/type/internal/BuiltinFixedArrayTypeImpl.qll
generated
Normal 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 { }
|
||||
}
|
||||
14
swift/ql/lib/codeql/swift/elements/type/internal/IntegerTypeConstructor.qll
generated
Normal file
14
swift/ql/lib/codeql/swift/elements/type/internal/IntegerTypeConstructor.qll
generated
Normal 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() }
|
||||
16
swift/ql/lib/codeql/swift/elements/type/internal/IntegerTypeImpl.qll
generated
Normal file
16
swift/ql/lib/codeql/swift/elements/type/internal/IntegerTypeImpl.qll
generated
Normal 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 { }
|
||||
}
|
||||
74
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
74
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
@@ -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)
|
||||
|
||||
40
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
40
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
@@ -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.
|
||||
*/
|
||||
|
||||
102
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
102
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
34
swift/ql/lib/codeql/swift/generated/expr/TypeValueExpr.qll
generated
Normal file
34
swift/ql/lib/codeql/swift/generated/expr/TypeValueExpr.qll
generated
Normal 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())
|
||||
}
|
||||
}
|
||||
}
|
||||
26
swift/ql/lib/codeql/swift/generated/expr/UnsafeCastExpr.qll
generated
Normal file
26
swift/ql/lib/codeql/swift/generated/expr/UnsafeCastExpr.qll
generated
Normal 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" }
|
||||
}
|
||||
}
|
||||
24
swift/ql/lib/codeql/swift/generated/type/BuiltinFixedArrayType.qll
generated
Normal file
24
swift/ql/lib/codeql/swift/generated/type/BuiltinFixedArrayType.qll
generated
Normal 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" }
|
||||
}
|
||||
}
|
||||
30
swift/ql/lib/codeql/swift/generated/type/IntegerType.qll
generated
Normal file
30
swift/ql/lib/codeql/swift/generated/type/IntegerType.qll
generated
Normal 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()
|
||||
}
|
||||
}
|
||||
}
|
||||
22
swift/ql/lib/swift.dbscheme
generated
22
swift/ql/lib/swift.dbscheme
generated
@@ -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
@@ -0,0 +1,2 @@
|
||||
description: Add `UnsafeCastExpr`, `TypeValueExpr`, `IntegerType`, and `BuiltinFixedArrayType`.
|
||||
compatibility: full
|
||||
@@ -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
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user