mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Improve handling of unimplemented nodes
This commit is contained in:
2
rust/extractor/src/generated/.generated.list
generated
2
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1,2 @@
|
||||
mod.rs 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e
|
||||
top.rs 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f
|
||||
top.rs a165d9d38458fa0a4fa07445bb4229d17c2be47d0718e4b0ac9f7a82e700c8b2 a165d9d38458fa0a4fa07445bb4229d17c2be47d0718e4b0ac9f7a82e700c8b2
|
||||
|
||||
76
rust/extractor/src/generated/top.rs
generated
76
rust/extractor/src/generated/top.rs
generated
@@ -43,6 +43,25 @@ impl TrapEntry for DbLocation {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct GenericArgs {
|
||||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
}
|
||||
|
||||
impl TrapEntry for GenericArgs {
|
||||
fn extract_id(&mut self) -> TrapId {
|
||||
std::mem::replace(&mut self.id, TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label, out: &mut trap::Writer) {
|
||||
out.add_tuple("generic_args", vec![trap::Arg::Label(id)]);
|
||||
if let Some(v) = self.location {
|
||||
out.add_tuple("locatable_locations", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Label {
|
||||
pub id: TrapId,
|
||||
@@ -88,6 +107,25 @@ impl TrapEntry for MatchArm {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Path {
|
||||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
}
|
||||
|
||||
impl TrapEntry for Path {
|
||||
fn extract_id(&mut self) -> TrapId {
|
||||
std::mem::replace(&mut self.id, TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label, out: &mut trap::Writer) {
|
||||
out.add_tuple("paths", vec![trap::Arg::Label(id)]);
|
||||
if let Some(v) = self.location {
|
||||
out.add_tuple("locatable_locations", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct RecordFieldPat {
|
||||
pub id: TrapId,
|
||||
@@ -149,25 +187,6 @@ impl TrapEntry for TypeRef {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Unimplemented {
|
||||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
}
|
||||
|
||||
impl TrapEntry for Unimplemented {
|
||||
fn extract_id(&mut self) -> TrapId {
|
||||
std::mem::replace(&mut self.id, TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label, out: &mut trap::Writer) {
|
||||
out.add_tuple("unimplementeds", vec![trap::Arg::Label(id)]);
|
||||
if let Some(v) = self.location {
|
||||
out.add_tuple("locatable_locations", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct AwaitExpr {
|
||||
pub id: TrapId,
|
||||
@@ -1306,6 +1325,25 @@ impl TrapEntry for UnderscoreExpr {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct UnimplementedDeclaration {
|
||||
pub id: TrapId,
|
||||
pub location: Option<trap::Label>,
|
||||
}
|
||||
|
||||
impl TrapEntry for UnimplementedDeclaration {
|
||||
fn extract_id(&mut self) -> TrapId {
|
||||
std::mem::replace(&mut self.id, TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label, out: &mut trap::Writer) {
|
||||
out.add_tuple("unimplemented_declarations", vec![trap::Arg::Label(id)]);
|
||||
if let Some(v) = self.location {
|
||||
out.add_tuple("locatable_locations", vec![trap::Arg::Label(id), v.into()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct WildPat {
|
||||
pub id: TrapId,
|
||||
|
||||
@@ -183,15 +183,12 @@ impl CrateTranslator<'_> {
|
||||
})
|
||||
}
|
||||
|
||||
fn emit_unimplemented(&mut self, location: Option<trap::Label>) -> trap::Label {
|
||||
self.trap.emit(generated::Unimplemented {
|
||||
fn emit_path(&mut self, _path: &Path, location: Option<trap::Label>) -> trap::Label {
|
||||
self.trap.emit(generated::Path {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
})
|
||||
}
|
||||
fn emit_path(&mut self, _path: &Path, location: Option<trap::Label>) -> trap::Label {
|
||||
self.emit_unimplemented(location)
|
||||
}
|
||||
|
||||
fn emit_record_field_pat(
|
||||
&mut self,
|
||||
@@ -610,9 +607,12 @@ impl CrateTranslator<'_> {
|
||||
.into_iter()
|
||||
.map(|e| self.emit_expr(*e, body, source_map))
|
||||
.collect();
|
||||
let generic_args = generic_args
|
||||
.as_ref()
|
||||
.map(|_args| self.emit_unimplemented(None));
|
||||
let generic_args = generic_args.as_ref().map(|_args| {
|
||||
self.trap.emit(generated::GenericArgs {
|
||||
id: TrapId::Star,
|
||||
location: None,
|
||||
})
|
||||
});
|
||||
self.trap.emit(generated::MethodCallExpr {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
@@ -929,8 +929,12 @@ impl CrateTranslator<'_> {
|
||||
labels: &mut Vec<trap::Label>,
|
||||
) {
|
||||
match id {
|
||||
ModuleDef::Module(_) => {
|
||||
self.emit_unimplemented(None);
|
||||
ModuleDef::Module(_module) => {
|
||||
let location = None;
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Function(function) => {
|
||||
let def: ra_ap_hir::DefWithBody = function.into();
|
||||
@@ -958,38 +962,66 @@ impl CrateTranslator<'_> {
|
||||
}
|
||||
ModuleDef::Adt(adt) => {
|
||||
let location = self.emit_location(adt);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Variant(variant) => {
|
||||
let location = self.emit_location(variant);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Const(const_) => {
|
||||
let location = self.emit_location(const_);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Static(static_) => {
|
||||
let location = self.emit_location(static_);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Trait(trait_) => {
|
||||
let location = self.emit_location(trait_);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::TraitAlias(alias) => {
|
||||
let location = self.emit_location(alias);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::TypeAlias(type_alias) => {
|
||||
let location = self.emit_location(type_alias);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::BuiltinType(_builtin_type) => {
|
||||
self.emit_unimplemented(None);
|
||||
let location = None;
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
ModuleDef::Macro(macro_) => {
|
||||
let location = self.emit_location(macro_);
|
||||
self.emit_unimplemented(location);
|
||||
self.trap.emit(generated::UnimplementedDeclaration {
|
||||
id: TrapId::Star,
|
||||
location,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
63
rust/ql/.generated.list
generated
63
rust/ql/.generated.list
generated
@@ -25,7 +25,7 @@ lib/codeql/rust/elements/CastExpr.qll cafc39afc4103781b475906a0e178175b32374a049
|
||||
lib/codeql/rust/elements/CastExprConstructor.qll cab6e9a9872006cc811620bda522fafde23fc4edb5151af06a5a0938747dbdfb 6d972faff70166c4b07392a0bc90c6d72c9466b58b55e7651ef6c3d06cf72873
|
||||
lib/codeql/rust/elements/ClosureExpr.qll cde112e1e1fcd5677cffa3469e376ff2b69ff6f55d907152b4afba4d92d06c55 f9180e4e0905ba233f64717719ee653ee5dfd2dad9f87a81b63b513ce5e73bc3
|
||||
lib/codeql/rust/elements/ClosureExprConstructor.qll 238dceb78082a5566276640d4aa31484041700852c0751130d139a69ac8bde46 7aae22930def4d438d742255731cc59b78a95b73a0b1d6334ae9965e083e03bc
|
||||
lib/codeql/rust/elements/ConstBlockPat.qll 2ed7b82917c0da34cfb53b37177e7c56b51011716c50bf0eea35e1a33dcddc58 24d2c3888adb404717e4263b36b48d531ec8d0a6d09b4dd577cdd4933b6c2dea
|
||||
lib/codeql/rust/elements/ConstBlockPat.qll 397ad2bd112a34f39c486acf6c82c73881ce3f70d91634649ea040b92f96c8c1 96bf33b3732b8aa60e83c10f48eae538e695b1b8a6a5942e8e79a924e09e60f9
|
||||
lib/codeql/rust/elements/ConstBlockPatConstructor.qll 04aa8b4f218ce87157f0d6b10c9c04660c34c90af1f121b1432402de2e5114cd 34e2fecbe91ea9ac1626bc27121a7d5abe99855e3f49bdca12a1969b42ac0ba5
|
||||
lib/codeql/rust/elements/ConstExpr.qll 70a7c9db14efaf290a77401eb04c439b24ed77c21496cee53b89d92d350daeaf e3f98ac4dde94a4dc8d6df51ba4ecd4acc492d9de569ac3eee9dd3bc258bd03d
|
||||
lib/codeql/rust/elements/ConstExprConstructor.qll b4c96adc2878047c36d7ceaba2346ef66a2269b5260a56c3d7ff6e3a332bad75 ce15bbfd1448e47d3039e912363efa607cc2c29d44b8248ac91c307af7b57016
|
||||
@@ -44,6 +44,8 @@ lib/codeql/rust/elements/ExprStmtConstructor.qll 28e37020abdfce5a8666b0c9a3147c3
|
||||
lib/codeql/rust/elements/FieldExpr.qll 54b2dac331f4de45c4520e318373805d41f63d45ca695ae618c8f42d30f38d5d 2f87397d3cfb07763e287b0bca83d625368ee2c6f29f8fff2de509d5696ed27b
|
||||
lib/codeql/rust/elements/FieldExprConstructor.qll 75bd0526fae157460750f3ea1e087c857cc703fca03d34f1f478b57ee8051590 1e5555910c643235e34b73f9844e894e51f357c3f7aba8165c47caa147336c53
|
||||
lib/codeql/rust/elements/FunctionConstructor.qll a9269b37182c0bf432f9b2b015691da5dbd64819b9bd25445af229d873014a91 69107a7503af14a51e091e6918094a4e9fc316a72de2e1514f001872ce0f2c0c
|
||||
lib/codeql/rust/elements/GenericArgs.qll e64db724addfba85bcb326d26640eef6e71467b3f55a0bcfdbe538f6efa154b3 7d6b80c1bac67efa8951987c8e01f286d5da9097e922640868646f639068a3f4
|
||||
lib/codeql/rust/elements/GenericArgsConstructor.qll 581b52a92fc3222bc4695ef403b37de513dfa820f0cf73a394a36a351de66bbb a61f06c2aa13ab5852c792faca80148aa8233168ff5b91e3ce9e8d458b62608e
|
||||
lib/codeql/rust/elements/IfExpr.qll 87d29f7f6eec05e03d3e929e32b526787f41d5320141bfe96028973e15ef225d 42789266b2c54b222c1d980f85e3150c80397668e61c9952df6905f1bf0fc4b0
|
||||
lib/codeql/rust/elements/IfExprConstructor.qll 961ac42fe811db7c56c9d85e98724a87571e8543265c0424a7b61f26ef41b369 43d9412a22908a7e5c38f1f5e8f88162367407b71037f469dfb7d8dfdc3a063f
|
||||
lib/codeql/rust/elements/IndexExpr.qll 924fe6732ffefca376d099255e2eb6682cabd6cb4267dc997fcf85aa5478a3a6 09e65b09cfdb928d134d3aad17acc07602a0bcbca098d775028bcb7624f16b11
|
||||
@@ -64,9 +66,9 @@ lib/codeql/rust/elements/LiteralExpr.qll 031edbbd52d2107a3a7149a4dde306f5fcce9a3
|
||||
lib/codeql/rust/elements/LiteralExprConstructor.qll 1a6aa25d6700ab9c85bd7b721e4818064a3a092386589ecdc2018b8b8c2464dc 6d6b50e2dabfa671110454d64f0903336563ee4be1dc6751071a801ac2fcb8e8
|
||||
lib/codeql/rust/elements/LoopExpr.qll a32330e9f6c5420e7fbd4a61f53dde892c1acadabef074b7e9aa3beae39617eb 97061b3dd86af3ef271587aa337d10f2a7094cb69d7e339baf13e5a7817e1389
|
||||
lib/codeql/rust/elements/LoopExprConstructor.qll 635348fe22fb47c7e59bed02a8ed6420be5a9ce92a7d9bf4475465ee170c917b 2bcfe70247c55659b3a3e09562da52fc645cc3166748f268c5a38b35fca24233
|
||||
lib/codeql/rust/elements/MatchArm.qll 33c3d1d149b654f64ec8930aad77605d82ac542412e55084cb2fa914bffc5258 433221b39bd6365a868a5d9fa2d0b5f112561bd691fda98d7d2cec36c25be292
|
||||
lib/codeql/rust/elements/MatchArm.qll 2508d03a0a8f8e29483855affd08eca118ed756a18a60fc7ae6a9e5d63fae2d7 b88a33eaefe08131f7c8e80ca056c237aad9ef7c21deb2bf35a2f5ecfd320f55
|
||||
lib/codeql/rust/elements/MatchArmConstructor.qll 49d134823a445a1ee995ebf5637fd0d736b9ab7f2b141026712f231ec4ed3389 f16e8adc8375e6a7334589d5732dcbe10f5ada9de7a12c549c55be3f028ec628
|
||||
lib/codeql/rust/elements/MatchExpr.qll 201ce069a53c70065ececa7005d9b03db34e78b0ff29c22b6f84349097f04f38 94fd75c60941d970aa637d9f3b4477ff6d04793966ffccd306bc25e1b84654f9
|
||||
lib/codeql/rust/elements/MatchExpr.qll cb38dfcdf896e8f5c429d13493f423d926c39ca928a5a8ef890e258b6ce7a048 5dc5f9e07d1021ac39f29ce6695ceab3d7bc751f33ea8b4ab463df50d3fd24e6
|
||||
lib/codeql/rust/elements/MatchExprConstructor.qll 74df937d7d8bfbfb02bdbf095595eb3f2129ed4c0854bae6d73b5b38d4fc902d 5c388c02f02462d843945111b72de12bce33c7c332d55993d903aeb250213407
|
||||
lib/codeql/rust/elements/MethodCallExpr.qll e92c5214160d6b5bebba76c78f5ec0380a629230991513326585c99dab7be1f3 ed05c7f40fb6d1c97fa0a3a631db1913b8e6abb5c2b3513d0e81a82a2e5f7f95
|
||||
lib/codeql/rust/elements/MethodCallExprConstructor.qll c9e1137ba6b76eabd941ecaa27a5b43b6fc3ff445ad46d3f625ad086de0e0af6 47bc4c30182b891c7009ba536edad7393dc068b72d9dfc16b26174b15d49748e
|
||||
@@ -74,13 +76,15 @@ lib/codeql/rust/elements/MissingExpr.qll 30b04d6a7b67acbce40dc1ffb95edb833578fd5
|
||||
lib/codeql/rust/elements/MissingExprConstructor.qll c51f4f6e897ef2107a27bd91ecf31ce875611b29a5a12238d5312b9489a35b8d b9ea3fdae459aba6c7ed9eb48edbc5bdbdb4cb41220fff81ed4cd256648612e0
|
||||
lib/codeql/rust/elements/MissingPat.qll 74a84a04d0aaabb3353419bba2225e6ca3f02ada55e00d28e6cceb37cefce43a c8ee5e6c411e0955ca0a775c8b09b894e2914fe24f9d16df1f0e6d186d15ebd2
|
||||
lib/codeql/rust/elements/MissingPatConstructor.qll 7bff2fb7fe96388dd703cca5f0bb1d04cea5d1f0729bb54c6604b58e338c7d6b eec9fea46593b3850da111658848cb54cfa9992286eeee313a55def184cf7ec5
|
||||
lib/codeql/rust/elements/Module.qll d8995b361cc672f86a314bd53bd3e4d1ddb26b6afde62eb7c380923810785af0 3c10180c812d89a8116ac6e32cbd4d7ac2f549c8a76d327ed75c764b09251d52
|
||||
lib/codeql/rust/elements/Module.qll a104ed007091e5361db9e6be640fba6a22b02913c16fe50cb5d348399504f7b0 7633ef24e7c9e1daca9a82d89870462482536cded234e0e1bb7da9eabc43c00d
|
||||
lib/codeql/rust/elements/ModuleConstructor.qll 109ed8c1b5c61cc1d3e8613aa8bb8c168dc1943c93b5b622fa79665751b78318 601526c7f56578883d261d14653fdad08329f80fea71de14a5ac5ce671a8d436
|
||||
lib/codeql/rust/elements/OffsetOfExpr.qll e7490d4db7cb4dd1c711ce57934970da8c9cc61af913a62b6963667313dcb0c5 c9043c5e68483b3d4da03ab191dc56e0150ff23af361a227fe91062e10ad66b2
|
||||
lib/codeql/rust/elements/OffsetOfExprConstructor.qll 8034eb1d3510dffe9e38cdfcb57a0235ee01bb50e1fbaa6e5601e0e232c1977d 6e3b7c20a17fe4c45d503ba32264aea8f6dfdc69ccd95905a5bfb1e8b0cc91d0
|
||||
lib/codeql/rust/elements/OrPat.qll 448ebaddc1b42fbb90e3240d990cb841d4775d9129350e8f5195904798efb27c ffb6121a0b4f0e661e1653c396d565053b9f89eb358bbaa1c218c31eac3b8221
|
||||
lib/codeql/rust/elements/OrPatConstructor.qll 9a24cc095adc55ae8ea66f68c695f42de0181a43e23d70e210c63351b47e2586 1f773ae88276289672d93708f4ae9f8c95199e7370a0c610a52c92b5e018e632
|
||||
lib/codeql/rust/elements/Pat.qll 79ac8430cc9047cf89fcf80cdb527166bd72e979d03e051fa2d60fa2f64f2294 914362a06ad0cac1e1777874bf4425fcc805021197f635ddd87b96d9e5c221d9
|
||||
lib/codeql/rust/elements/Path.qll 05a168a83168638e07eb3d746adad7ecd952976dfed6fd85becc0fd491bf4b0f 8f38d2ae227dfd4fc7cedde3008dc66df57aa4ac1714c8d5105c9989b4e8b93e
|
||||
lib/codeql/rust/elements/PathConstructor.qll 97243db75d6337cf68a22ea68569fdddf4c3bc1b8875bb4bb66faeeba8846a53 03c8c665e2f3b103148fd38eb7a4d0459c8189b2f6160dc08ee1d6d2807e01b6
|
||||
lib/codeql/rust/elements/PathExpr.qll 861b1d9e6246588fcb0b6d8560c7807a4209941a8cbc93779b80e494561af706 c6da0b2e8ace1c30a7cd468406353a457440aafacf8e31c32618fd9781c69113
|
||||
lib/codeql/rust/elements/PathExprConstructor.qll 9db3d3ad160d897b65b8b8a62f3243f7ff80d8e2d27875b3cd2c2b046fb0f9b6 26c2ba19a04fba61af8aa0cd72602f7b02bf0e1b693ac9cd14c7ff6066412f75
|
||||
lib/codeql/rust/elements/PathPat.qll 748a43d1c25c4fd20eaf78f381e4680207557bb696a28d74a9eaa1887bc966c1 186c947b0bbed3111c9bdc564c3ce39432c1a3bbdbb15ebb503629625ffe1dea
|
||||
@@ -121,7 +125,8 @@ lib/codeql/rust/elements/UnaryOpExprConstructor.qll 43db7afbd3535b7edc801d99d772
|
||||
lib/codeql/rust/elements/UnderscoreExpr.qll bf4c0bf76fa15b041f7ecbd492a499088bef2024b49dbdfa57232e84e72c3067 462380bac5f772c1986146d32b70deabc9f03581675f6e79f7b7f747acfb0bd5
|
||||
lib/codeql/rust/elements/UnderscoreExprConstructor.qll ea9f93fa6529ec4e5bf5c4a98959b2e013e83fce4a74ebfc476b10bce2b331b2 bc36b62fd4fec6fb388d82e2af2aafe0099138d54b7672be81e84fc511fdcc8f
|
||||
lib/codeql/rust/elements/Unimplemented.qll 60387a9def0ea3cb9534311ace088106800af0acb89883c5bc9b26d8d8d61718 9d869f83e73915bbeb5af27ea30b69f20c344cd7d7f253cb7dab74de20baa0a6
|
||||
lib/codeql/rust/elements/UnimplementedConstructor.qll ee024d4944aebe619ee3ea0ce4f84da0f4fca706baed250c8a65464a8d77979a f95966e3a63cbf2b466241f55bb47c23125645fad206ebd758236465afa4f97d
|
||||
lib/codeql/rust/elements/UnimplementedDeclaration.qll 4d55b4530ea3dfc38fb41dbfd3907db992ab893407b02a387719921d3ddc990e cb86a99f7a6b21a2b10f61f8c28b97ecf1b71269a3aee652396ea68cf6c806d3
|
||||
lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll 44f4590db81e7504de0ede43eb2a33a54baa0738732e03a90721187a1cd303f3 11f27d8a9836b78d9ffac79efa3441fbfcb1dfdc1eb028d2016a1769b8a82ad5
|
||||
lib/codeql/rust/elements/UnsafeBlockExpr.qll ea7fc05c8f25b99205c098590329465ff9db9293b7d72cc41054b6c4e28ecb00 d617e6873b62ca2871ed87ca2435904da51cbdba42d46a2d160440b11f14dbbb
|
||||
lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll a089d89cb8f9542b3ee94c8eb7ca9ce0ced08c954802b26826f6aff12f8705dd d3919a40e13d97c48b19df647851f120b667300864d3a2178b1b01236c2dcbd4
|
||||
lib/codeql/rust/elements/WildPat.qll dda006b9e762a6f655842c2888bdd33c188c391adac2f2e79437ab1d4969388c 99cbb5c5d64f0bf7a20ce6f0d85bcaa065503505d42dcfd342fbce5a4704ac4e
|
||||
@@ -130,7 +135,7 @@ lib/codeql/rust/elements/YeetExpr.qll 95a15d0ae79b9cad126700c07d5cb7e4e9699e2e5d
|
||||
lib/codeql/rust/elements/YeetExprConstructor.qll f1871c6e0c966c52806e370dbe2956585bbfa1dcf0bd7ebfdb2bd39b7cfd0d7b a2333e80a325a921a66c34151401da12c250951952ccb0c81e5102dc62299503
|
||||
lib/codeql/rust/elements/YieldExpr.qll 72682ae19d37abd6ec26569ae8f575979ebba1e0d373898211a9af4fad4979a1 ef0193011ee5f94cebbac5c007d652568f560685a213bf8be96cd0c0983a3880
|
||||
lib/codeql/rust/elements/YieldExprConstructor.qll ff46ba17cc24abfcb0e310c7458d0539b704e7a771ad00853bd3a1844e4e6f82 1c13662ef01c88f1cf057d099eb46524036133e51a0e36ddf947f727ac6046bb
|
||||
lib/codeql/rust/elements.qll c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196 c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196
|
||||
lib/codeql/rust/elements.qll 515e43d4d74ee62b20e5f9a56d28d405717586a8adcbab1c3ceac1a090f68a0f 515e43d4d74ee62b20e5f9a56d28d405717586a8adcbab1c3ceac1a090f68a0f
|
||||
lib/codeql/rust/generated/ArrayExpr.qll 3fd7465da22e1eb810ae28ffab7b14e9ccceaab0082aa665f14b73d4221128b8 6e9edb5846656aad90283406a496aaae485d38854075a4443817b5098b72b427
|
||||
lib/codeql/rust/generated/AstNode.qll 0598fac7859906f4103124270dfb2fbdb838387b1c45000bf50a4b62c797ec41 f47c84878c7c9676109e358073bddab92a1dbeb4d977d236ecc1eae44d81c894
|
||||
lib/codeql/rust/generated/AsyncBlockExpr.qll 4038dd9d888f98e8848de4ab858804bbb6dd835a32e925a9530f350820edaf04 4038dd9d888f98e8848de4ab858804bbb6dd835a32e925a9530f350820edaf04
|
||||
@@ -146,7 +151,7 @@ lib/codeql/rust/generated/BreakExpr.qll d1cc6452044b4f0351380adc9e46dc52279746d0
|
||||
lib/codeql/rust/generated/CallExpr.qll 44cc428b1950e0d560a4e2c18136a956dbc3f85c575317cbf10a0cb5b2dded97 1a5d8dfd704b289774d7190ee331858b39563dcbb2c52940b02df4c5c2208637
|
||||
lib/codeql/rust/generated/CastExpr.qll 0264db34cb111644de4d37569791a2c27665f3a7373c26adfdc1d68ab0a6fcc6 3a757ea06c6e0c715d88bf1eeb579998a0ecc5560fcf3b4066bbd86803ffa100
|
||||
lib/codeql/rust/generated/ClosureExpr.qll 43d9ff09c156f1ce000c77bcf5ecc02c8fb569c0ca7f042a1aae9d311e18b13e 07e1461269e1f07144468ef7b64b927f29053fa6de71afef334732c33a797f33
|
||||
lib/codeql/rust/generated/ConstBlockPat.qll be81c35576fd65caa9dbb657a85da18e4ad64e60c0dbf4df7e373584773eb19b 136a2c6b601decff5523a8aba51d797713271d5766dc4a4fe5cb895f660bafb9
|
||||
lib/codeql/rust/generated/ConstBlockPat.qll 05141706ad963e1d9c41b004c73c9569fd0ba2f353da8c19629a153bfb17b769 786fa7db63ea7a8106162fd05e01b52c8338d22b9502d3638880bc6f6d678344
|
||||
lib/codeql/rust/generated/ConstExpr.qll 7bd3d75822259d2ac61bf3bab6a233948617fa09a7a3d48991b643f0c842925d 06785e5b723006a8c51cafda5b8ce3901e0ddd3aeafc0d3c80e61b9389830e85
|
||||
lib/codeql/rust/generated/ContinueExpr.qll 452fc59b28ae46d00c6b42dc4b51bd5e65bc92859e769626a6f5b29ff2ec795d 4d7042814fb8f214bf982ad9771ca1a19bbb2a966ec20771478d50927cf1993f
|
||||
lib/codeql/rust/generated/DbFile.qll 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a
|
||||
@@ -158,7 +163,8 @@ lib/codeql/rust/generated/Expr.qll 91b1744d6b07e8549b94d19832dac9e18b70f54990b32
|
||||
lib/codeql/rust/generated/ExprStmt.qll 40fd3659761005fe0de2a09e58d35b3b28203f8f354ef5f687e6064862eb73d2 c4bcefa928d8a82f6b9d26a6e4f42912114bd24a90ee5dcc24e7ec1a4c11dbcb
|
||||
lib/codeql/rust/generated/FieldExpr.qll 5050cabcc1109f0c404a64a80cf8e595088b1dfd9c24364281176400436922ef c7562bc91fd7c3f7305100d146ebc84378e73aa76fd1b36c06e69070105c0401
|
||||
lib/codeql/rust/generated/File.qll 2eff5c882d044d2e360fe6382fb55e5a45f6ccb9df323cfa1fae41eae9d2a47f 87e7a906b3a1b4de056952e288ddd7f69fa7cb1bd9dc7dd3972868a9002ac1e4
|
||||
lib/codeql/rust/generated/Function.qll 84a00eb88479efdfe70fe51c3b5cb27ae64a54b48dcca1f2e02f68691b7d907a cde5b965ab27e811f0d24eb4f12bca90c3e8aec3a4c1d9b8bd0023745dfab105
|
||||
lib/codeql/rust/generated/Function.qll 133693679cd69f0c011d6aa779b067924e8d58ea15bc3f6b749cc3aa5d5e962d 5a18e3be5c7c681cebec762b2c2d3b1cb08c5fcc11ef422bf65c9b15fc82c893
|
||||
lib/codeql/rust/generated/GenericArgs.qll c47ede327602ba85d237920bb1523cb38ad461497f5396ddfae580d332ab16f8 c47ede327602ba85d237920bb1523cb38ad461497f5396ddfae580d332ab16f8
|
||||
lib/codeql/rust/generated/IfExpr.qll 3b68ac5d7741f566081dd8ad028f762c849d02e4f1532267a7660e24335bf08f bcc6b52c950afbe4654ccdbc10d578ca9e134597cc2653daa1832fcb2bef2ab6
|
||||
lib/codeql/rust/generated/IndexExpr.qll a8263fb60cb625712b3ca875076994d9a28796482a9fc8fd524610d3107f20d2 a837f66ef6d70dd9ca04ef39d4fff5077e03ffaaf6efaf93e9f6b38eae37b454
|
||||
lib/codeql/rust/generated/InlineAsmExpr.qll 0fbc121595d55df71a9190200ee8d7244851c517181d907d07236a8c338f1ebe b41cad499ebcc6aae4326ac5ae596210997fde99b6107feee35d6c9f764f0f5a
|
||||
@@ -171,41 +177,43 @@ lib/codeql/rust/generated/LiteralExpr.qll 70684629cd017f32c220993f57ee4ebea0b9f6
|
||||
lib/codeql/rust/generated/Locatable.qll 9e9685bba50ad2220701f3465e63af9331f7f9dc548ad906ff954fc2ce0a4400 78c89b2cc78a357d682ab65310dd474603071f07c1eaaab07711714ce17549f2
|
||||
lib/codeql/rust/generated/Location.qll bce4c72988ec6fedd1439c60a37c45aa6147c962904709ef9f12206937174be4 d57000571771a2d997c50d9a43ef1c2f075960f847effa0e80ea91fd4c6b4d6c
|
||||
lib/codeql/rust/generated/LoopExpr.qll ddc646e715dced161b60638ac36a7671b45ddd6245a6876d647916d41495faf1 864be7033c093a8513be05691f772f19f99b606abe510f810af5f004596c0c7c
|
||||
lib/codeql/rust/generated/MatchArm.qll b70dd1934b7190e68cd6f9b2642f6fc67cba7ae13abd19d42f799a77e048d20e 9d544a6e09e9bdc84f0348b7b716e1dfab3bb98063f95938e83fe4264ee6c436
|
||||
lib/codeql/rust/generated/MatchExpr.qll d3984b540d7c8e8fda2d99437445f110c789d0c889eca1bd4a38b941884b487d df78f882f75cf443e1a5b21d899559e24e047d5a368dca22b453d8f976d259ef
|
||||
lib/codeql/rust/generated/MethodCallExpr.qll b94d96216c0203b27eb04c64500487ce284fdcf2158b9b636621fc2d2c93f377 91d00774e94600ba82ae5103b85e1e377b0baef866c7de87c34f806cc4c3bbac
|
||||
lib/codeql/rust/generated/MatchArm.qll c82a871b33633dc5908d6abc665048b0bc3d761f134b8ceca51338c4a84a55c3 90faaed01f5e7c3ff6b9114b275c80418737c48b64082763e83cb63499fefa6a
|
||||
lib/codeql/rust/generated/MatchExpr.qll cf48ca2000a1cf2b2fa05b42403bba9be94aac23a88bc88e1b97e86982ff4fe9 244960785828aa62c4c3d17251ef5a3b7dd3ce3e10fd99a364f98f760ca84e77
|
||||
lib/codeql/rust/generated/MethodCallExpr.qll 83288ef71bb5f5ba9aadc3977ece9144b3eb58756270b9f76eaf3323153797b6 7fd96a56bb1fc0caa60b52d55a0cc14cc87bd3bd057a970993485375f9e3198a
|
||||
lib/codeql/rust/generated/MissingExpr.qll 9ab4844a2d719d29a95a69d1a6f9477ded0db508f83f3e4f2101847d0486c300 f0706af7d600a4ed1dc253c9e1220e863a58cfb9334f853877b80dffadb35a3a
|
||||
lib/codeql/rust/generated/MissingPat.qll 9fa2685c9f8b285c6b2f470a2c482b3bd1f071707192bc963937cbb1092d6a18 9fa2685c9f8b285c6b2f470a2c482b3bd1f071707192bc963937cbb1092d6a18
|
||||
lib/codeql/rust/generated/Module.qll 2a931a4f2cdb2fee00ed83af045ea63d36b7dbd708e58c30445b5610feaae333 cd62add5c31a509f965aa294f44a1607ec7c62e3a9e3fe9ee063b3c814f4eb62
|
||||
lib/codeql/rust/generated/Module.qll c6007444c796654fb48fbe4a4596580f08feec2aac13932043062a170dd73f0b 0560c738dbee3937baf0f2ab661c8e4dacd69eb886635241b1ff90f2c0f4bd67
|
||||
lib/codeql/rust/generated/OffsetOfExpr.qll 03afe5637df806f4649fb2c67fdc4f048a2faab47f00e8320f85025d4a2fa933 4e5c0c98b0397f1388ac0c27ea415f594ebd591e980dd70590ed043856beb156
|
||||
lib/codeql/rust/generated/OrPat.qll a9a606b001c9b3c6f5cb3d65a593cce043f49b1e8a237310c058f5293eec46a8 4b6ab0d2192c93c64a5f98b6083e91ac03fd040bead24831a1a88d274847c79d
|
||||
lib/codeql/rust/generated/ParentChild.qll 956f55ac17d66926c59f76d391b75c30767d236b145d6ae402f4308fa22a7d01 dd3cabb5b4a9ba42be60345f445cde18b0d7be934aeb94d7312eeef122e148d2
|
||||
lib/codeql/rust/generated/ParentChild.qll 68f8595b5d6136e7b29dfa7d5f4a6e77ad4f7feea9c40a0408e41d438a0a9159 53246623aab7cfd38e8c094dfb09c2ddd3adcca52f568814f672539a4d35b064
|
||||
lib/codeql/rust/generated/Pat.qll b035e7866ea500232421ef9f79e7e60b90b9c27dbe47d25758548e94750d2965 adf701ad35559ea7d0284d6718ad507518778dc78100f48063e6a6bf3705c91f
|
||||
lib/codeql/rust/generated/PathExpr.qll ef6665a46332e5c1bc3495f9e7028b0e56b83e99eda692965ca0cd8fc8931cb2 475c1a5374a37b959b09780dac3d62773bdf9fed7fb73ac325cb087e8ee39022
|
||||
lib/codeql/rust/generated/PathPat.qll 6544da3df717fa99f2b4480bc69e9b6a376c88766fd4565a9bb17cb459987b10 1edf79c181d8836479bc7a9d8f0b0d955272cf7d821386824f5aab65a36a10b9
|
||||
lib/codeql/rust/generated/Path.qll 6814a5a437c11da5ceaac7dd80c8d496446cb884476a9f3361908f2cd417ebb4 6814a5a437c11da5ceaac7dd80c8d496446cb884476a9f3361908f2cd417ebb4
|
||||
lib/codeql/rust/generated/PathExpr.qll 5a82e07a0c641fec4e8ce29656fa4e33f420b19b2556b418769f4d899a3dfae3 21920262735114d8304c3569f884828a390b95ca039afcc3e81c75d3f23df9ca
|
||||
lib/codeql/rust/generated/PathPat.qll 8aaa7fd5f3439ce567f4d6f729e3ba1e98ab24255070b7d4ba7bbde6506d97f5 10bd82ea0e846c96afa34cc6e467101a490a1191b4edc29a7154a6d93a467f1c
|
||||
lib/codeql/rust/generated/PureSynthConstructors.qll 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573
|
||||
lib/codeql/rust/generated/RangeExpr.qll 1678fa524166552a36d73cad9d34213309b1989c1e427bc990b5c11a12588ce5 beb90978cea26a2ec9d3e8cc7b0b6a728ae952212ada5d6ad19319120f3218a8
|
||||
lib/codeql/rust/generated/RangePat.qll 2e96aece5ff2300659c2729c7037f7334790456d86160dc1e16ae99545c6ed0d eae4f95f9eaacbc2319ee67556dcc164527d82a6eaa5af59f6efce9caf3cba3b
|
||||
lib/codeql/rust/generated/Raw.qll 5dea1190c702f339a6c5da16cb922508cbc5818cb61f9bb6b2c7129167e68f3d 9f650660a6ca7e62426f4dd51fe33677d96658d48596baa52c390d8742caeb18
|
||||
lib/codeql/rust/generated/Raw.qll d84338bad5b4d15d9379b3a1c76095b43d54bd542875161fb92eefead1db20c6 898a89f57aaa546355ff38ad2169b8d2e01d5c3556b2a969bf575a904c909f40
|
||||
lib/codeql/rust/generated/RecordFieldPat.qll bff47b9ec13fd5747a9d4597feb3acaacd17876ed1ff411bcecf605c5909a01f adc2e30ae9169b861ce28c6c21431e9dd3fb3d3f832e99cb39f9f0ff6b1dbe2d
|
||||
lib/codeql/rust/generated/RecordLitExpr.qll 442772626175d46dcd8e68b84d6a26b869affcc6cb1e88d880d31e7a705c772f 77976fea76b5741c1aff3e8a48eeb07987c3332ab9f52ef0c32caae75ad4f1c9
|
||||
lib/codeql/rust/generated/RecordLitExpr.qll c83dafa1f07a34c686cee81188045c9e04aba5ebd54c4778708f1b20ccb76702 da4c710226d6604c313bfd88bfbe005c6178db054860da265de616e9a5a8b3f3
|
||||
lib/codeql/rust/generated/RecordLitField.qll e7442557734e6c99b75bd24935d310e988585e68ffbbeedc1d9c8dbb2edfa32d 5bc6b951327caf00b39504f0efaeeb6ffca1dd67aa88bbf2633f238c6b973063
|
||||
lib/codeql/rust/generated/RecordPat.qll fc5efed719d6dbceb4fa6eaa13dcbd9bcdb6958c2721dafd5bb56d7395003fef b7412c9376fd9628e6bba8dfea8914d76d3a6e63af3f8022cfc99f5c9e397c8d
|
||||
lib/codeql/rust/generated/RecordPat.qll 2c1ef4a18148a5f0f755d04a3b9d1cda892f784e1741c2d90601983b2e130ec2 559d0ef93a3d93c9236eb2675ed5b89cc7dcfe599c52d784e6759954e478bd47
|
||||
lib/codeql/rust/generated/RefExpr.qll 917d810bda28f3f4319770ae5c8eb4ae40887f3c97669fde072078d3f5536114 7793027298da1fb787f8823146507f1ccfab046977cc71743045b3c2f3b5da02
|
||||
lib/codeql/rust/generated/RefPat.qll 2a451553084306acc625f0433dc02546d07a1b6174a7d614379c9e8e28550118 40b845320c68283d0f6e47f17f4d4d893ef613f41422d35663582cfa3b5e7d75
|
||||
lib/codeql/rust/generated/RepeatExpr.qll 5a33101a5e2ba973beafe0d933ad5ca238050eb6f88638826dc37a712c05afaa c2cea180b7c068a3483cbda73168effe762ab2aa56bb8c590c8a15b6e54961ce
|
||||
lib/codeql/rust/generated/ReturnExpr.qll 3d8fffeb6420a35d78f4f2e2e3e4ccf1c8454022c50395be2e8446f29740ddfa cc9dd916dc18114469d2eed9b82f83518af0de78797ad98777b29a5055bc77df
|
||||
lib/codeql/rust/generated/SlicePat.qll 73dce5e310068357eb41e8c51923ff5c4054548db27987cde85735ddf071fc44 67fa0c285c110f18446689d1eaad9e82896df79d62999ad3f788fc295fa1d2c3
|
||||
lib/codeql/rust/generated/Stmt.qll 58b010f32956f2736a7b9ebb43467ecd03308a1f27c99e2b09bb925c349ac859 9859da4a4aa29b4f7ab47313b2dfe8baf9717a162fcd8bd62a7cbab4afd1886e
|
||||
lib/codeql/rust/generated/Synth.qll 03ecd0d7e89aca555d2393bbea8de1cde0476e28fb9f198ed3355a74f1b5c1c8 11855cc446c2d8a77503795a7c395e86ff149ea10d773a6e50e54b08dd438642
|
||||
lib/codeql/rust/generated/SynthConstructors.qll 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b
|
||||
lib/codeql/rust/generated/Synth.qll 8a3569fcb4678500a7d16673f8c1f014bfa9a857d0b8cdb0f77aa3eea5e31206 4e26058ad665dcb0ca95a1a504553fb5ec32500b4dc154cbc5854f48829bfb9f
|
||||
lib/codeql/rust/generated/SynthConstructors.qll 7b696491e21b37bf5de023b68838e5c09112995f0da436bfdde13c27dd35c4bf 7b696491e21b37bf5de023b68838e5c09112995f0da436bfdde13c27dd35c4bf
|
||||
lib/codeql/rust/generated/TupleExpr.qll 0828181e2f1f1f233598eab367688615356f6b91451a40f8d812d247d93467fc 2473c52d3dfbec6c8cd66bd439c85959e854f617edf5afe545252a24304f2f2e
|
||||
lib/codeql/rust/generated/TuplePat.qll a1b22c20ca02497e9be8c6edaeaff214a669ecb0d2493890e79c28c485f512a1 5cc082ea99de61662b2d4c8b59f7a833236e7e448943e8ee894ab6066cc761c4
|
||||
lib/codeql/rust/generated/TupleStructPat.qll 7807a635e3ed14247dad405d44b4730a4ccc34207d7363a39a0bd2d53a8ccc97 5eb8ac529c2ee51a4ca15028e70dd0f6833a7d7fb6db330103b27bd2d91715e4
|
||||
lib/codeql/rust/generated/TypeRef.qll 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533
|
||||
lib/codeql/rust/generated/TupleStructPat.qll 089563349c9866f5703e9d306ba2a475d7d4002e7236dbbf2feeb89290b4d24c a77842d7262a7d19b175f239d1ee6550b3b66a4efe903c5112bb82c0abd7b05d
|
||||
lib/codeql/rust/generated/TypeRef.qll 919c1003fed54165a48617de35eb47ee1115f390ad56344fa8f20230e33a74b1 919c1003fed54165a48617de35eb47ee1115f390ad56344fa8f20230e33a74b1
|
||||
lib/codeql/rust/generated/UnaryOpExpr.qll e9bf11b289e400b03fa04cf337a6ab8b8dbbedea1f7cfae905cc7b0e525ea5a8 b54fa0d29d357bcbc25ec10ba5b81e1758ba512ccf822fe2d3847fbfac0e3f12
|
||||
lib/codeql/rust/generated/UnderscoreExpr.qll 964b77ddae265ad51fd03fcb7ef008fcb34eb5ea1a7ac0cd06ed84c1922fc07f 964b77ddae265ad51fd03fcb7ef008fcb34eb5ea1a7ac0cd06ed84c1922fc07f
|
||||
lib/codeql/rust/generated/Unimplemented.qll 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113
|
||||
lib/codeql/rust/generated/Unimplemented.qll 0bebbf22b5a6484077ceacdd4d11a14665b95cc9e68b859f2d8218290842d1ad addecc8027e14ebbcb2eff4d038c16aa1f33f100e17ffaecd5de36b9a4c719a8
|
||||
lib/codeql/rust/generated/UnimplementedDeclaration.qll ab05ff0a0fde6535e89ccb9cf197d97d722773f08bee5c0c742abeda956829d7 067be19ce1a963e59635e08f9eb7a3a7284874f45c651bdb1fe36509b5567912
|
||||
lib/codeql/rust/generated/UnknownFile.qll ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595 ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595
|
||||
lib/codeql/rust/generated/UnknownLocation.qll a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf
|
||||
lib/codeql/rust/generated/UnsafeBlockExpr.qll 52edde0daa57fea065f06537db05b5d442c63b3fa8777bf55ef2b2106c228ee9 52edde0daa57fea065f06537db05b5d442c63b3fa8777bf55ef2b2106c228ee9
|
||||
@@ -247,6 +255,7 @@ test/extractor-tests/generated/ExprStmt/ExprStmt.ql 037695af057183ef9e35569c9255
|
||||
test/extractor-tests/generated/FieldExpr/FieldExpr.ql 6d85c8b85905baf66ae1f6ed716e42530d814f86261d98eddceab861939227e5 5765fb0376978a9006e2dc175bb224c5c944f19ddf628a2b933b1bebf81015a2
|
||||
test/extractor-tests/generated/File/File.ql dec43be882fad904fab0c6447ca93633d801cb08ff8bec309befde7d2b9e5dda 74e1f1d698558c35fa03935cc34f4c8145d376b56d7657b18aeb338f5ca752cf
|
||||
test/extractor-tests/generated/Function/Function.ql c49434420dbb6fc3d9e6294161dcd3d3b306fae5ba5c85b610e534b8b15ef74c fe02208b673b74eebed92b5cbb3a8a06c31c0681eb28f3e596515663f14fa9e2
|
||||
test/extractor-tests/generated/GenericArgs/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/IfExpr/IfExpr.ql 4463607934fd504a6b2d65829d8e336308af6908cf12387fe8bbaa3c8c5360bd 28b5580a4e628286023b5d0de549d087f0a4224ecbb02bc7b3197d8f404b5066
|
||||
test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql 4b4f3edfd0ed419fc580f3def6005760711874cc442c42ea817d70053ec07fca f97f65f91aa3f4967a2d3de836235d9c9a15f424cfced79d84f2580abf2c6077
|
||||
test/extractor-tests/generated/IndexExpr/IndexExpr.ql 6cfc282e84f9844630ebdb4dfc60f645d18a737d9b0e9f014c08476c935a92f7 86a336ac0193f0d6cc6fc7427b0423867a10323de0f95cda88f76a178c213430
|
||||
@@ -270,13 +279,15 @@ test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getArg.ql 4d9753964
|
||||
test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgs.ql 2226b4759bee9091d88a7d72be5d8f8ad43f17b07fdd1a1f64ae3da5aa6aa333 ee9e06838b879ce90b00d9289eea32fbda9c02e0074d306a2f1f5991956c7deb
|
||||
test/extractor-tests/generated/MissingExpr/MissingExpr.ql bb85675a4b8a8118913fd91389f8282863613edda3fb804b917cce0675a8bb76 f2e600f8fb723f8f1bde4b0b0ef41f59b4e652882b5c788e8f6767822d5574e4
|
||||
test/extractor-tests/generated/MissingPat/MissingPat.ql 7a9ee46a40f6bfd31336beb6d9f6256fb8099cb6c052ba3131a95a45716224a4 619375e7dc6d95b8f1d1c958217350fc1553882f0f41ebd9f7a071d6947232d8
|
||||
test/extractor-tests/generated/Module/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/Module/Module.ql 0afd07f619ee68a7f7270ebf9a4a6b7d6849448924083369c4101650854e1e77 b3239a1ebdde858179f4eba19e6c0cb3ea28b823f423fdff90f7b870b7fbf003
|
||||
test/extractor-tests/generated/Module/Module_getDeclaration.ql 8343f2b4be470a502c4bfdba9ef74173a440f45b7300aa9d517c2bd68ccac36a fc7666228fd1d3fe4fc63466aa04ee8adf62e9fe0008fd92ea337c8585a7fef5
|
||||
test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql 579e667797cb071784fa4c8e4e79bffd8b7a797bc70a68054ab51950dbebf4f0 dd92801d8909d83be1f824a2dfc599551c11b63ad1e96593e22d3b43464d7cf1
|
||||
test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.ql f18b39caeb2d9410cd1c4b472c31477da8dcff27ad43837e57c679a8eda0ca76 bb30037b5001d78585df9d23d9c4c73d1f864bb8b3778f402838f18acacfadc6
|
||||
test/extractor-tests/generated/OrPat/OrPat.ql 51d9a0f5993510542a2cca353c1ca48ba1e5fb97a65bee7f02398cd90debaa41 06e0936b80a07a16e22fad3a3a541000f170fd5ad301a3170b98a91f51d09144
|
||||
test/extractor-tests/generated/OrPat/OrPat_getArg.ql 693d62aa9817ce7661b4698c2948bca6567c1376b2ae832f3020462e8ab8d2ee 1fd9809826c6f2dece3014299f1d70210c9f23e5eefbd04b1d6024e1ecd46209
|
||||
test/extractor-tests/generated/PathExpr/PathExpr.ql aa8c36042688ad96a268b066b38fcaac3befa6490cc3510c15f824fce63e8949 71de233de72dd87c7c9129617d03f9fbc9bb9460ea896002cbb881f84451835d
|
||||
test/extractor-tests/generated/PathPat/PathPat.ql 3b8bf11f2ab1ebe1e19bca0e8f1095215ffd9ee5389cac203971888449b86124 a1e4a4964837a170ad88d3fe3a47e5437354b22fd19382baad2090b0e0b3e1f7
|
||||
test/extractor-tests/generated/Path/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
|
||||
test/extractor-tests/generated/PathExpr/PathExpr.ql 3013e12d5dab5c38c5b8fcaec59e78a3c6477f4edc8b01b078ecbfe7b8f82ffb 40427c9d420456174e1524ed046a5f445b9b72ca8b87abefb6c9498d4c809fc5
|
||||
test/extractor-tests/generated/PathPat/PathPat.ql 57dd735fe179cc1b91ee66b7849bcdd1aabe661762e88e1678cdaaa53526a10c 1734a45d47ee484fbf2cadb5620b28874a904fe944030a9e39166a6a25aa0de7
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr.ql c6e56a997c3543818ce6ffadabbab3bb233a099caa9e06e36519ac02f666dc93 0dcabe2df4c8ab3ba7b171cefb009a09c442ff71373f828c6c667bbb9eee2e45
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr_getLhs.ql 063ee8f6146110b97f4ee8944a5f37f0dd7cd5be049f13546d42a888a973d826 1184cc1fe937a01e9d12577478750be1497d4f99231486ae6d75104e7304eeb2
|
||||
test/extractor-tests/generated/RangeExpr/RangeExpr_getRhs.ql 6a7eb53c6b2a4587212f65c522387f726b2b9b3f204708a2a764e238aec8d89f 8b3095fdd9c6900eef656d4e9e18f5f4866b285634cc725e73246976af20450c
|
||||
|
||||
15
rust/ql/.gitattributes
generated
vendored
15
rust/ql/.gitattributes
generated
vendored
@@ -46,6 +46,8 @@
|
||||
/lib/codeql/rust/elements/FieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/FieldExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/FunctionConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/GenericArgs.qll linguist-generated
|
||||
/lib/codeql/rust/elements/GenericArgsConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IfExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IfExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/IndexExpr.qll linguist-generated
|
||||
@@ -83,6 +85,8 @@
|
||||
/lib/codeql/rust/elements/OrPat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/OrPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Pat.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Path.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/PathPat.qll linguist-generated
|
||||
@@ -123,7 +127,8 @@
|
||||
/lib/codeql/rust/elements/UnderscoreExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnderscoreExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Unimplemented.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedDeclaration.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnsafeBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/WildPat.qll linguist-generated
|
||||
@@ -161,6 +166,7 @@
|
||||
/lib/codeql/rust/generated/FieldExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/File.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Function.qll linguist-generated
|
||||
/lib/codeql/rust/generated/GenericArgs.qll linguist-generated
|
||||
/lib/codeql/rust/generated/IfExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/IndexExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/InlineAsmExpr.qll linguist-generated
|
||||
@@ -183,6 +189,7 @@
|
||||
/lib/codeql/rust/generated/OrPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/ParentChild.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Pat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Path.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PathExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PathPat.qll linguist-generated
|
||||
/lib/codeql/rust/generated/PureSynthConstructors.qll linguist-generated
|
||||
@@ -208,6 +215,7 @@
|
||||
/lib/codeql/rust/generated/UnaryOpExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnderscoreExpr.qll linguist-generated
|
||||
/lib/codeql/rust/generated/Unimplemented.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnimplementedDeclaration.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnknownFile.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnknownLocation.qll linguist-generated
|
||||
/lib/codeql/rust/generated/UnsafeBlockExpr.qll linguist-generated
|
||||
@@ -249,6 +257,7 @@
|
||||
/test/extractor-tests/generated/FieldExpr/FieldExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/File/File.ql linguist-generated
|
||||
/test/extractor-tests/generated/Function/Function.ql linguist-generated
|
||||
/test/extractor-tests/generated/GenericArgs/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/IfExpr/IfExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/IfExpr/IfExpr_getElse.ql linguist-generated
|
||||
/test/extractor-tests/generated/IndexExpr/IndexExpr.ql linguist-generated
|
||||
@@ -272,11 +281,13 @@
|
||||
/test/extractor-tests/generated/MethodCallExpr/MethodCallExpr_getGenericArgs.ql linguist-generated
|
||||
/test/extractor-tests/generated/MissingExpr/MissingExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MissingPat/MissingPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module.ql linguist-generated
|
||||
/test/extractor-tests/generated/Module/Module_getDeclaration.ql linguist-generated
|
||||
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getField.ql linguist-generated
|
||||
/test/extractor-tests/generated/OrPat/OrPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/OrPat/OrPat_getArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/Path/MISSING_SOURCE.txt linguist-generated
|
||||
/test/extractor-tests/generated/PathExpr/PathExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/PathPat/PathPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/RangeExpr/RangeExpr.ql linguist-generated
|
||||
|
||||
3
rust/ql/lib/codeql/rust/elements.qll
generated
3
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -31,6 +31,7 @@ import codeql.rust.elements.ExprStmt
|
||||
import codeql.rust.elements.FieldExpr
|
||||
import codeql.rust.elements.File
|
||||
import codeql.rust.elements.Function
|
||||
import codeql.rust.elements.GenericArgs
|
||||
import codeql.rust.elements.IfExpr
|
||||
import codeql.rust.elements.IndexExpr
|
||||
import codeql.rust.elements.InlineAsmExpr
|
||||
@@ -52,6 +53,7 @@ import codeql.rust.elements.Module
|
||||
import codeql.rust.elements.OffsetOfExpr
|
||||
import codeql.rust.elements.OrPat
|
||||
import codeql.rust.elements.Pat
|
||||
import codeql.rust.elements.Path
|
||||
import codeql.rust.elements.PathExpr
|
||||
import codeql.rust.elements.PathPat
|
||||
import codeql.rust.elements.RangeExpr
|
||||
@@ -73,6 +75,7 @@ import codeql.rust.elements.TypeRef
|
||||
import codeql.rust.elements.UnaryOpExpr
|
||||
import codeql.rust.elements.UnderscoreExpr
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.UnimplementedDeclaration
|
||||
import codeql.rust.elements.UnknownFile
|
||||
import codeql.rust.elements.UnknownLocation
|
||||
import codeql.rust.elements.UnsafeBlockExpr
|
||||
|
||||
@@ -9,7 +9,7 @@ private import codeql.rust.generated.ConstBlockPat
|
||||
* A const block pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* const { 1 + 2 + 3} => "ok",
|
||||
* const { 1 + 2 + 3 } => "ok",
|
||||
* _ => "fail",
|
||||
* };
|
||||
* ```
|
||||
|
||||
@@ -8,7 +8,7 @@ private import codeql.rust.generated.Function
|
||||
/**
|
||||
* A function declaration. For example
|
||||
* ```
|
||||
* fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
* fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
* ```
|
||||
* A function declaration within a trait might not have a body:
|
||||
* ```
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/GenericArgs.qll
generated
Normal file
8
rust/ql/lib/codeql/rust/elements/GenericArgs.qll
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `GenericArgs`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.GenericArgs
|
||||
|
||||
class GenericArgs extends Generated::GenericArgs { }
|
||||
@@ -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
|
||||
* `Unimplemented` synthesized instances.
|
||||
* `GenericArgs` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `Unimplemented` synthesized instances.
|
||||
* The characteristic predicate of `GenericArgs` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructUnimplemented(Raw::Unimplemented id) { any() }
|
||||
predicate constructGenericArgs(Raw::GenericArgs id) { any() }
|
||||
4
rust/ql/lib/codeql/rust/elements/MatchArm.qll
generated
4
rust/ql/lib/codeql/rust/elements/MatchArm.qll
generated
@@ -11,13 +11,13 @@ private import codeql.rust.generated.MatchArm
|
||||
* match x {
|
||||
* Some(y) => y,
|
||||
* None => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class MatchArm extends Generated::MatchArm { }
|
||||
|
||||
1
rust/ql/lib/codeql/rust/elements/MatchExpr.qll
generated
1
rust/ql/lib/codeql/rust/elements/MatchExpr.qll
generated
@@ -13,6 +13,7 @@ private import codeql.rust.generated.MatchExpr
|
||||
* None => 0,
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
|
||||
11
rust/ql/lib/codeql/rust/elements/Module.qll
generated
11
rust/ql/lib/codeql/rust/elements/Module.qll
generated
@@ -5,4 +5,15 @@
|
||||
|
||||
private import codeql.rust.generated.Module
|
||||
|
||||
/**
|
||||
* A module declaration. For example:
|
||||
* ```
|
||||
* mod foo;
|
||||
* ```
|
||||
* ```
|
||||
* mod bar {
|
||||
* pub fn baz() {}
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class Module extends Generated::Module { }
|
||||
|
||||
8
rust/ql/lib/codeql/rust/elements/Path.qll
generated
Normal file
8
rust/ql/lib/codeql/rust/elements/Path.qll
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Path`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Path
|
||||
|
||||
class Path extends Generated::Path { }
|
||||
14
rust/ql/lib/codeql/rust/elements/PathConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/PathConstructor.qll
generated
Normal file
@@ -0,0 +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
|
||||
* `Path` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `Path` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructPath(Raw::Path id) { any() }
|
||||
8
rust/ql/lib/codeql/rust/elements/UnimplementedDeclaration.qll
generated
Normal file
8
rust/ql/lib/codeql/rust/elements/UnimplementedDeclaration.qll
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `UnimplementedDeclaration`.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.UnimplementedDeclaration
|
||||
|
||||
class UnimplementedDeclaration extends Generated::UnimplementedDeclaration { }
|
||||
14
rust/ql/lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/UnimplementedDeclarationConstructor.qll
generated
Normal file
@@ -0,0 +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
|
||||
* `UnimplementedDeclaration` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `UnimplementedDeclaration` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructUnimplementedDeclaration(Raw::UnimplementedDeclaration id) { any() }
|
||||
@@ -18,7 +18,7 @@ module Generated {
|
||||
* A const block pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* const { 1 + 2 + 3} => "ok",
|
||||
* const { 1 + 2 + 3 } => "ok",
|
||||
* _ => "fail",
|
||||
* };
|
||||
* ```
|
||||
|
||||
2
rust/ql/lib/codeql/rust/generated/Function.qll
generated
2
rust/ql/lib/codeql/rust/generated/Function.qll
generated
@@ -17,7 +17,7 @@ module Generated {
|
||||
/**
|
||||
* A function declaration. For example
|
||||
* ```
|
||||
* fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
* fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
* ```
|
||||
* A function declaration within a trait might not have a body:
|
||||
* ```
|
||||
|
||||
24
rust/ql/lib/codeql/rust/generated/GenericArgs.qll
generated
Normal file
24
rust/ql/lib/codeql/rust/generated/GenericArgs.qll
generated
Normal file
@@ -0,0 +1,24 @@
|
||||
// generated by codegen
|
||||
/**
|
||||
* This module provides the generated definition of `GenericArgs`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `GenericArgs` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* INTERNAL: Do not reference the `Generated::GenericArgs` class directly.
|
||||
* Use the subclass `GenericArgs`, where the following predicates are available.
|
||||
*/
|
||||
class GenericArgs extends Synth::TGenericArgs, AstNode, Unimplemented {
|
||||
override string getAPrimaryQlClass() { result = "GenericArgs" }
|
||||
}
|
||||
}
|
||||
4
rust/ql/lib/codeql/rust/generated/MatchArm.qll
generated
4
rust/ql/lib/codeql/rust/generated/MatchArm.qll
generated
@@ -21,13 +21,13 @@ module Generated {
|
||||
* match x {
|
||||
* Some(y) => y,
|
||||
* None => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
* INTERNAL: Do not reference the `Generated::MatchArm` class directly.
|
||||
* Use the subclass `MatchArm`, where the following predicates are available.
|
||||
|
||||
1
rust/ql/lib/codeql/rust/generated/MatchExpr.qll
generated
1
rust/ql/lib/codeql/rust/generated/MatchExpr.qll
generated
@@ -22,6 +22,7 @@ module Generated {
|
||||
* None => 0,
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.GenericArgs
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `MethodCallExpr` and should not
|
||||
@@ -65,9 +65,9 @@ module Generated {
|
||||
/**
|
||||
* Gets the generic arguments of this method call expression, if it exists.
|
||||
*/
|
||||
Unimplemented getGenericArgs() {
|
||||
GenericArgs getGenericArgs() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertMethodCallExprToRaw(this)
|
||||
Synth::convertGenericArgsFromRaw(Synth::convertMethodCallExprToRaw(this)
|
||||
.(Raw::MethodCallExpr)
|
||||
.getGenericArgs())
|
||||
}
|
||||
|
||||
9
rust/ql/lib/codeql/rust/generated/Module.qll
generated
9
rust/ql/lib/codeql/rust/generated/Module.qll
generated
@@ -14,6 +14,15 @@ import codeql.rust.elements.Declaration
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A module declaration. For example:
|
||||
* ```
|
||||
* mod foo;
|
||||
* ```
|
||||
* ```
|
||||
* mod bar {
|
||||
* pub fn baz() {}
|
||||
* }
|
||||
* ```
|
||||
* INTERNAL: Do not reference the `Generated::Module` class directly.
|
||||
* Use the subclass `Module`, where the following predicates are available.
|
||||
*/
|
||||
|
||||
101
rust/ql/lib/codeql/rust/generated/ParentChild.qll
generated
101
rust/ql/lib/codeql/rust/generated/ParentChild.qll
generated
@@ -49,6 +49,21 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfUnimplemented(
|
||||
Unimplemented e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bElement, int n |
|
||||
b = 0 and
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfAstNode(AstNode e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bLocatable, int n |
|
||||
b = 0 and
|
||||
@@ -146,6 +161,25 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfGenericArgs(
|
||||
GenericArgs e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bAstNode, int bUnimplemented, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
bUnimplemented =
|
||||
bAstNode + 1 + max(int i | i = -1 or exists(getImmediateChildOfUnimplemented(e, i, _)) | i) and
|
||||
n = bUnimplemented and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = getImmediateChildOfUnimplemented(e, index - bAstNode, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfLabel(Label e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
b = 0 and
|
||||
@@ -194,6 +228,23 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfPath(Path e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int bUnimplemented, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
bUnimplemented =
|
||||
bAstNode + 1 + max(int i | i = -1 or exists(getImmediateChildOfUnimplemented(e, i, _)) | i) and
|
||||
n = bUnimplemented and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = getImmediateChildOfUnimplemented(e, index - bAstNode, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfRecordFieldPat(
|
||||
RecordFieldPat e, int index, string partialPredicateCall
|
||||
) {
|
||||
@@ -244,29 +295,18 @@ private module Impl {
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTypeRef(TypeRef e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
exists(int b, int bAstNode, int bUnimplemented, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
bUnimplemented =
|
||||
bAstNode + 1 + max(int i | i = -1 or exists(getImmediateChildOfUnimplemented(e, i, _)) | i) and
|
||||
n = bUnimplemented and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfUnimplemented(
|
||||
Unimplemented e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
result = getImmediateChildOfUnimplemented(e, index - bAstNode, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -1163,6 +1203,27 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfUnimplementedDeclaration(
|
||||
UnimplementedDeclaration e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bDeclaration, int bUnimplemented, int n |
|
||||
b = 0 and
|
||||
bDeclaration =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfDeclaration(e, i, _)) | i) and
|
||||
bUnimplemented =
|
||||
bDeclaration + 1 +
|
||||
max(int i | i = -1 or exists(getImmediateChildOfUnimplemented(e, i, _)) | i) and
|
||||
n = bUnimplemented and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfDeclaration(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = getImmediateChildOfUnimplemented(e, index - bDeclaration, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfWildPat(WildPat e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bPat, int n |
|
||||
b = 0 and
|
||||
@@ -1309,18 +1370,20 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfUnknownLocation(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfGenericArgs(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfLabel(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfMatchArm(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfPath(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfRecordFieldPat(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfRecordLitField(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfTypeRef(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfUnimplemented(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfAwaitExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfBecomeExpr(e, index, partialAccessor)
|
||||
@@ -1415,6 +1478,8 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfUnderscoreExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfUnimplementedDeclaration(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfWildPat(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfYeetExpr(e, index, partialAccessor)
|
||||
|
||||
24
rust/ql/lib/codeql/rust/generated/Path.qll
generated
Normal file
24
rust/ql/lib/codeql/rust/generated/Path.qll
generated
Normal file
@@ -0,0 +1,24 @@
|
||||
// generated by codegen
|
||||
/**
|
||||
* This module provides the generated definition of `Path`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Path` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* INTERNAL: Do not reference the `Generated::Path` class directly.
|
||||
* Use the subclass `Path`, where the following predicates are available.
|
||||
*/
|
||||
class Path extends Synth::TPath, AstNode, Unimplemented {
|
||||
override string getAPrimaryQlClass() { result = "Path" }
|
||||
}
|
||||
}
|
||||
8
rust/ql/lib/codeql/rust/generated/PathExpr.qll
generated
8
rust/ql/lib/codeql/rust/generated/PathExpr.qll
generated
@@ -7,7 +7,7 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.Path
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `PathExpr` and should not
|
||||
@@ -31,11 +31,9 @@ module Generated {
|
||||
/**
|
||||
* Gets the path of this path expression.
|
||||
*/
|
||||
Unimplemented getPath() {
|
||||
Path getPath() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertPathExprToRaw(this)
|
||||
.(Raw::PathExpr)
|
||||
.getPath())
|
||||
Synth::convertPathFromRaw(Synth::convertPathExprToRaw(this).(Raw::PathExpr).getPath())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
7
rust/ql/lib/codeql/rust/generated/PathPat.qll
generated
7
rust/ql/lib/codeql/rust/generated/PathPat.qll
generated
@@ -7,7 +7,7 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Pat
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.Path
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `PathPat` and should not
|
||||
@@ -31,9 +31,8 @@ module Generated {
|
||||
/**
|
||||
* Gets the path of this path pat.
|
||||
*/
|
||||
Unimplemented getPath() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertPathPatToRaw(this).(Raw::PathPat).getPath())
|
||||
Path getPath() {
|
||||
result = Synth::convertPathFromRaw(Synth::convertPathPatToRaw(this).(Raw::PathPat).getPath())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
65
rust/ql/lib/codeql/rust/generated/Raw.qll
generated
65
rust/ql/lib/codeql/rust/generated/Raw.qll
generated
@@ -60,6 +60,11 @@ module Raw {
|
||||
int getEndColumn() { locations(this, _, _, _, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class Unimplemented extends @unimplemented, Element { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -90,6 +95,13 @@ module Raw {
|
||||
*/
|
||||
class Expr extends @expr, AstNode { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class GenericArgs extends @generic_args, AstNode, Unimplemented {
|
||||
override string toString() { result = "GenericArgs" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A label. For example:
|
||||
@@ -116,13 +128,13 @@ module Raw {
|
||||
* match x {
|
||||
* Some(y) => y,
|
||||
* None => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
* }
|
||||
* };
|
||||
* ```
|
||||
*/
|
||||
class MatchArm extends @match_arm, AstNode {
|
||||
@@ -150,6 +162,13 @@ module Raw {
|
||||
*/
|
||||
class Pat extends @pat, AstNode { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class Path extends @path, AstNode, Unimplemented {
|
||||
override string toString() { result = "Path" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A field in a record pattern. For example `a: 1` in:
|
||||
@@ -201,17 +220,10 @@ module Raw {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TypeRef extends @type_ref, AstNode {
|
||||
class TypeRef extends @type_ref, AstNode, Unimplemented {
|
||||
override string toString() { result = "TypeRef" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class Unimplemented extends @unimplemented, AstNode {
|
||||
override string toString() { result = "Unimplemented" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* An array expression. For example:
|
||||
@@ -506,7 +518,7 @@ module Raw {
|
||||
* A const block pattern. For example:
|
||||
* ```
|
||||
* match x {
|
||||
* const { 1 + 2 + 3} => "ok",
|
||||
* const { 1 + 2 + 3 } => "ok",
|
||||
* _ => "fail",
|
||||
* };
|
||||
* ```
|
||||
@@ -613,7 +625,7 @@ module Raw {
|
||||
* INTERNAL: Do not use.
|
||||
* A function declaration. For example
|
||||
* ```
|
||||
* fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
* fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
* ```
|
||||
* A function declaration within a trait might not have a body:
|
||||
* ```
|
||||
@@ -874,6 +886,7 @@ module Raw {
|
||||
* None => 0,
|
||||
* }
|
||||
* ```
|
||||
* ```
|
||||
* match x {
|
||||
* Some(y) if y != 0 => 1 / y,
|
||||
* _ => 0,
|
||||
@@ -922,7 +935,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the generic arguments of this method call expression, if it exists.
|
||||
*/
|
||||
Unimplemented getGenericArgs() { method_call_expr_generic_args(this, result) }
|
||||
GenericArgs getGenericArgs() { method_call_expr_generic_args(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -953,6 +966,15 @@ module Raw {
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A module declaration. For example:
|
||||
* ```
|
||||
* mod foo;
|
||||
* ```
|
||||
* ```
|
||||
* mod bar {
|
||||
* pub fn baz() {}
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
class Module extends @module, Declaration {
|
||||
override string toString() { result = "Module" }
|
||||
@@ -1018,7 +1040,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the path of this path expression.
|
||||
*/
|
||||
Unimplemented getPath() { path_exprs(this, result) }
|
||||
Path getPath() { path_exprs(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1037,7 +1059,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the path of this path pat.
|
||||
*/
|
||||
Unimplemented getPath() { path_pats(this, result) }
|
||||
Path getPath() { path_pats(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1112,7 +1134,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the path of this record lit expression, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() { record_lit_expr_paths(this, result) }
|
||||
Path getPath() { record_lit_expr_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th field of this record lit expression (0-based).
|
||||
@@ -1151,7 +1173,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the path of this record pat, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() { record_pat_paths(this, result) }
|
||||
Path getPath() { record_pat_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this record pat (0-based).
|
||||
@@ -1330,7 +1352,7 @@ module Raw {
|
||||
/**
|
||||
* Gets the path of this tuple struct pat, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() { tuple_struct_pat_paths(this, result) }
|
||||
Path getPath() { tuple_struct_pat_paths(this, result) }
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this tuple struct pat (0-based).
|
||||
@@ -1377,6 +1399,13 @@ module Raw {
|
||||
override string toString() { result = "UnderscoreExpr" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class UnimplementedDeclaration extends @unimplemented_declaration, Declaration, Unimplemented {
|
||||
override string toString() { result = "UnimplementedDeclaration" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A wildcard pattern. For example:
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.Path
|
||||
import codeql.rust.elements.RecordLitField
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `RecordLitExpr` and should not
|
||||
@@ -32,9 +32,9 @@ module Generated {
|
||||
/**
|
||||
* Gets the path of this record lit expression, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() {
|
||||
Path getPath() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertRecordLitExprToRaw(this)
|
||||
Synth::convertPathFromRaw(Synth::convertRecordLitExprToRaw(this)
|
||||
.(Raw::RecordLitExpr)
|
||||
.getPath())
|
||||
}
|
||||
|
||||
8
rust/ql/lib/codeql/rust/generated/RecordPat.qll
generated
8
rust/ql/lib/codeql/rust/generated/RecordPat.qll
generated
@@ -7,8 +7,8 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Pat
|
||||
import codeql.rust.elements.Path
|
||||
import codeql.rust.elements.RecordFieldPat
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `RecordPat` and should not
|
||||
@@ -32,11 +32,9 @@ module Generated {
|
||||
/**
|
||||
* Gets the path of this record pat, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() {
|
||||
Path getPath() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertRecordPatToRaw(this)
|
||||
.(Raw::RecordPat)
|
||||
.getPath())
|
||||
Synth::convertPathFromRaw(Synth::convertRecordPatToRaw(this).(Raw::RecordPat).getPath())
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
113
rust/ql/lib/codeql/rust/generated/Synth.qll
generated
113
rust/ql/lib/codeql/rust/generated/Synth.qll
generated
@@ -99,6 +99,10 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TFunction(Raw::Function id) { constructFunction(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TGenericArgs(Raw::GenericArgs id) { constructGenericArgs(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -171,6 +175,10 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TOrPat(Raw::OrPat id) { constructOrPat(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TPath(Raw::Path id) { constructPath(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -250,7 +258,9 @@ module Synth {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TUnimplemented(Raw::Unimplemented id) { constructUnimplemented(id) } or
|
||||
TUnimplementedDeclaration(Raw::UnimplementedDeclaration id) {
|
||||
constructUnimplementedDeclaration(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -285,8 +295,8 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TAstNode =
|
||||
TDeclaration or TExpr or TLabel or TMatchArm or TPat or TRecordFieldPat or TRecordLitField or
|
||||
TStmt or TTypeRef or TUnimplemented;
|
||||
TDeclaration or TExpr or TGenericArgs or TLabel or TMatchArm or TPat or TPath or
|
||||
TRecordFieldPat or TRecordLitField or TStmt or TTypeRef;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -296,7 +306,7 @@ module Synth {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TDeclaration = TFunction or TModule;
|
||||
class TDeclaration = TFunction or TModule or TUnimplementedDeclaration;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -336,6 +346,11 @@ module Synth {
|
||||
*/
|
||||
class TStmt = TExprStmt or TItemStmt or TLetStmt;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TUnimplemented = TGenericArgs or TPath or TTypeRef or TUnimplementedDeclaration;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TAsyncBlockExpr`, if possible.
|
||||
@@ -483,6 +498,13 @@ module Synth {
|
||||
cached
|
||||
TFunction convertFunctionFromRaw(Raw::Element e) { result = TFunction(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TGenericArgs`, if possible.
|
||||
*/
|
||||
cached
|
||||
TGenericArgs convertGenericArgsFromRaw(Raw::Element e) { result = TGenericArgs(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TIfExpr`, if possible.
|
||||
@@ -609,6 +631,13 @@ module Synth {
|
||||
cached
|
||||
TOrPat convertOrPatFromRaw(Raw::Element e) { result = TOrPat(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TPath`, if possible.
|
||||
*/
|
||||
cached
|
||||
TPath convertPathFromRaw(Raw::Element e) { result = TPath(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TPathExpr`, if possible.
|
||||
@@ -744,10 +773,12 @@ module Synth {
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TUnimplemented`, if possible.
|
||||
* Converts a raw element to a synthesized `TUnimplementedDeclaration`, if possible.
|
||||
*/
|
||||
cached
|
||||
TUnimplemented convertUnimplementedFromRaw(Raw::Element e) { result = TUnimplemented(e) }
|
||||
TUnimplementedDeclaration convertUnimplementedDeclarationFromRaw(Raw::Element e) {
|
||||
result = TUnimplementedDeclaration(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -812,12 +843,16 @@ module Synth {
|
||||
or
|
||||
result = convertExprFromRaw(e)
|
||||
or
|
||||
result = convertGenericArgsFromRaw(e)
|
||||
or
|
||||
result = convertLabelFromRaw(e)
|
||||
or
|
||||
result = convertMatchArmFromRaw(e)
|
||||
or
|
||||
result = convertPatFromRaw(e)
|
||||
or
|
||||
result = convertPathFromRaw(e)
|
||||
or
|
||||
result = convertRecordFieldPatFromRaw(e)
|
||||
or
|
||||
result = convertRecordLitFieldFromRaw(e)
|
||||
@@ -825,8 +860,6 @@ module Synth {
|
||||
result = convertStmtFromRaw(e)
|
||||
or
|
||||
result = convertTypeRefFromRaw(e)
|
||||
or
|
||||
result = convertUnimplementedFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -851,6 +884,8 @@ module Synth {
|
||||
result = convertFunctionFromRaw(e)
|
||||
or
|
||||
result = convertModuleFromRaw(e)
|
||||
or
|
||||
result = convertUnimplementedDeclarationFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -864,6 +899,8 @@ module Synth {
|
||||
result = convertLocatableFromRaw(e)
|
||||
or
|
||||
result = convertLocationFromRaw(e)
|
||||
or
|
||||
result = convertUnimplementedFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1016,6 +1053,21 @@ module Synth {
|
||||
result = convertLetStmtFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TUnimplemented`, if possible.
|
||||
*/
|
||||
cached
|
||||
TUnimplemented convertUnimplementedFromRaw(Raw::Element e) {
|
||||
result = convertGenericArgsFromRaw(e)
|
||||
or
|
||||
result = convertPathFromRaw(e)
|
||||
or
|
||||
result = convertTypeRefFromRaw(e)
|
||||
or
|
||||
result = convertUnimplementedDeclarationFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TAsyncBlockExpr` to a raw DB element, if possible.
|
||||
@@ -1163,6 +1215,13 @@ module Synth {
|
||||
cached
|
||||
Raw::Element convertFunctionToRaw(TFunction e) { e = TFunction(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TGenericArgs` to a raw DB element, if possible.
|
||||
*/
|
||||
cached
|
||||
Raw::Element convertGenericArgsToRaw(TGenericArgs e) { e = TGenericArgs(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TIfExpr` to a raw DB element, if possible.
|
||||
@@ -1289,6 +1348,13 @@ module Synth {
|
||||
cached
|
||||
Raw::Element convertOrPatToRaw(TOrPat e) { e = TOrPat(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TPath` to a raw DB element, if possible.
|
||||
*/
|
||||
cached
|
||||
Raw::Element convertPathToRaw(TPath e) { e = TPath(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TPathExpr` to a raw DB element, if possible.
|
||||
@@ -1424,10 +1490,12 @@ module Synth {
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TUnimplemented` to a raw DB element, if possible.
|
||||
* Converts a synthesized `TUnimplementedDeclaration` to a raw DB element, if possible.
|
||||
*/
|
||||
cached
|
||||
Raw::Element convertUnimplementedToRaw(TUnimplemented e) { e = TUnimplemented(result) }
|
||||
Raw::Element convertUnimplementedDeclarationToRaw(TUnimplementedDeclaration e) {
|
||||
e = TUnimplementedDeclaration(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -1492,12 +1560,16 @@ module Synth {
|
||||
or
|
||||
result = convertExprToRaw(e)
|
||||
or
|
||||
result = convertGenericArgsToRaw(e)
|
||||
or
|
||||
result = convertLabelToRaw(e)
|
||||
or
|
||||
result = convertMatchArmToRaw(e)
|
||||
or
|
||||
result = convertPatToRaw(e)
|
||||
or
|
||||
result = convertPathToRaw(e)
|
||||
or
|
||||
result = convertRecordFieldPatToRaw(e)
|
||||
or
|
||||
result = convertRecordLitFieldToRaw(e)
|
||||
@@ -1505,8 +1577,6 @@ module Synth {
|
||||
result = convertStmtToRaw(e)
|
||||
or
|
||||
result = convertTypeRefToRaw(e)
|
||||
or
|
||||
result = convertUnimplementedToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1531,6 +1601,8 @@ module Synth {
|
||||
result = convertFunctionToRaw(e)
|
||||
or
|
||||
result = convertModuleToRaw(e)
|
||||
or
|
||||
result = convertUnimplementedDeclarationToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1544,6 +1616,8 @@ module Synth {
|
||||
result = convertLocatableToRaw(e)
|
||||
or
|
||||
result = convertLocationToRaw(e)
|
||||
or
|
||||
result = convertUnimplementedToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1695,4 +1769,19 @@ module Synth {
|
||||
or
|
||||
result = convertLetStmtToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TUnimplemented` to a raw DB element, if possible.
|
||||
*/
|
||||
cached
|
||||
Raw::Element convertUnimplementedToRaw(TUnimplemented e) {
|
||||
result = convertGenericArgsToRaw(e)
|
||||
or
|
||||
result = convertPathToRaw(e)
|
||||
or
|
||||
result = convertTypeRefToRaw(e)
|
||||
or
|
||||
result = convertUnimplementedDeclarationToRaw(e)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import codeql.rust.elements.ElementListExprConstructor
|
||||
import codeql.rust.elements.ExprStmtConstructor
|
||||
import codeql.rust.elements.FieldExprConstructor
|
||||
import codeql.rust.elements.FunctionConstructor
|
||||
import codeql.rust.elements.GenericArgsConstructor
|
||||
import codeql.rust.elements.IfExprConstructor
|
||||
import codeql.rust.elements.IndexExprConstructor
|
||||
import codeql.rust.elements.InlineAsmExprConstructor
|
||||
@@ -42,6 +43,7 @@ import codeql.rust.elements.MissingPatConstructor
|
||||
import codeql.rust.elements.ModuleConstructor
|
||||
import codeql.rust.elements.OffsetOfExprConstructor
|
||||
import codeql.rust.elements.OrPatConstructor
|
||||
import codeql.rust.elements.PathConstructor
|
||||
import codeql.rust.elements.PathExprConstructor
|
||||
import codeql.rust.elements.PathPatConstructor
|
||||
import codeql.rust.elements.RangeExprConstructor
|
||||
@@ -61,7 +63,7 @@ import codeql.rust.elements.TupleStructPatConstructor
|
||||
import codeql.rust.elements.TypeRefConstructor
|
||||
import codeql.rust.elements.UnaryOpExprConstructor
|
||||
import codeql.rust.elements.UnderscoreExprConstructor
|
||||
import codeql.rust.elements.UnimplementedConstructor
|
||||
import codeql.rust.elements.UnimplementedDeclarationConstructor
|
||||
import codeql.rust.elements.UnsafeBlockExprConstructor
|
||||
import codeql.rust.elements.WildPatConstructor
|
||||
import codeql.rust.elements.YeetExprConstructor
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Pat
|
||||
import codeql.rust.elements.Unimplemented
|
||||
import codeql.rust.elements.Path
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TupleStructPat` and should not
|
||||
@@ -32,9 +32,9 @@ module Generated {
|
||||
/**
|
||||
* Gets the path of this tuple struct pat, if it exists.
|
||||
*/
|
||||
Unimplemented getPath() {
|
||||
Path getPath() {
|
||||
result =
|
||||
Synth::convertUnimplementedFromRaw(Synth::convertTupleStructPatToRaw(this)
|
||||
Synth::convertPathFromRaw(Synth::convertTupleStructPatToRaw(this)
|
||||
.(Raw::TupleStructPat)
|
||||
.getPath())
|
||||
}
|
||||
|
||||
3
rust/ql/lib/codeql/rust/generated/TypeRef.qll
generated
3
rust/ql/lib/codeql/rust/generated/TypeRef.qll
generated
@@ -7,6 +7,7 @@
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `TypeRef` and should not
|
||||
@@ -17,7 +18,7 @@ module Generated {
|
||||
* INTERNAL: Do not reference the `Generated::TypeRef` class directly.
|
||||
* Use the subclass `TypeRef`, where the following predicates are available.
|
||||
*/
|
||||
class TypeRef extends Synth::TTypeRef, AstNode {
|
||||
class TypeRef extends Synth::TTypeRef, AstNode, Unimplemented {
|
||||
override string getAPrimaryQlClass() { result = "TypeRef" }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Element
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Unimplemented` and should not
|
||||
@@ -17,7 +17,5 @@ module Generated {
|
||||
* INTERNAL: Do not reference the `Generated::Unimplemented` class directly.
|
||||
* Use the subclass `Unimplemented`, where the following predicates are available.
|
||||
*/
|
||||
class Unimplemented extends Synth::TUnimplemented, AstNode {
|
||||
override string getAPrimaryQlClass() { result = "Unimplemented" }
|
||||
}
|
||||
class Unimplemented extends Synth::TUnimplemented, Element { }
|
||||
}
|
||||
|
||||
26
rust/ql/lib/codeql/rust/generated/UnimplementedDeclaration.qll
generated
Normal file
26
rust/ql/lib/codeql/rust/generated/UnimplementedDeclaration.qll
generated
Normal file
@@ -0,0 +1,26 @@
|
||||
// generated by codegen
|
||||
/**
|
||||
* This module provides the generated definition of `UnimplementedDeclaration`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.generated.Synth
|
||||
private import codeql.rust.generated.Raw
|
||||
import codeql.rust.elements.Declaration
|
||||
import codeql.rust.elements.Unimplemented
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `UnimplementedDeclaration` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* INTERNAL: Do not reference the `Generated::UnimplementedDeclaration` class directly.
|
||||
* Use the subclass `UnimplementedDeclaration`, where the following predicates are available.
|
||||
*/
|
||||
class UnimplementedDeclaration extends Synth::TUnimplementedDeclaration, Declaration,
|
||||
Unimplemented
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "UnimplementedDeclaration" }
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ sourceLocationPrefix(
|
||||
@file
|
||||
| @locatable
|
||||
| @location
|
||||
| @unimplemented
|
||||
;
|
||||
|
||||
@file =
|
||||
@@ -51,17 +52,25 @@ locations(
|
||||
int end_column: int ref
|
||||
);
|
||||
|
||||
@unimplemented =
|
||||
@generic_args
|
||||
| @path
|
||||
| @type_ref
|
||||
| @unimplemented_declaration
|
||||
;
|
||||
|
||||
@ast_node =
|
||||
@declaration
|
||||
| @expr
|
||||
| @generic_args
|
||||
| @label
|
||||
| @match_arm
|
||||
| @pat
|
||||
| @path
|
||||
| @record_field_pat
|
||||
| @record_lit_field
|
||||
| @stmt
|
||||
| @type_ref
|
||||
| @unimplemented
|
||||
;
|
||||
|
||||
db_files(
|
||||
@@ -75,6 +84,7 @@ db_locations(
|
||||
@declaration =
|
||||
@function
|
||||
| @module
|
||||
| @unimplemented_declaration
|
||||
;
|
||||
|
||||
@expr =
|
||||
@@ -113,6 +123,10 @@ db_locations(
|
||||
| @yield_expr
|
||||
;
|
||||
|
||||
generic_args(
|
||||
unique int id: @generic_args
|
||||
);
|
||||
|
||||
labels(
|
||||
unique int id: @label,
|
||||
string name: string ref
|
||||
@@ -147,6 +161,10 @@ match_arm_guards(
|
||||
| @wild_pat
|
||||
;
|
||||
|
||||
paths(
|
||||
unique int id: @path
|
||||
);
|
||||
|
||||
record_field_pats(
|
||||
unique int id: @record_field_pat,
|
||||
string name: string ref,
|
||||
@@ -169,10 +187,6 @@ type_refs(
|
||||
unique int id: @type_ref
|
||||
);
|
||||
|
||||
unimplementeds(
|
||||
unique int id: @unimplemented
|
||||
);
|
||||
|
||||
@array_expr =
|
||||
@element_list_expr
|
||||
| @repeat_expr
|
||||
@@ -461,7 +475,7 @@ method_call_expr_args(
|
||||
#keyset[id]
|
||||
method_call_expr_generic_args(
|
||||
int id: @method_call_expr ref,
|
||||
int generic_args: @unimplemented ref
|
||||
int generic_args: @generic_args ref
|
||||
);
|
||||
|
||||
missing_exprs(
|
||||
@@ -508,12 +522,12 @@ or_pat_args(
|
||||
|
||||
path_exprs(
|
||||
unique int id: @path_expr,
|
||||
int path: @unimplemented ref
|
||||
int path: @path ref
|
||||
);
|
||||
|
||||
path_pats(
|
||||
unique int id: @path_pat,
|
||||
int path: @unimplemented ref
|
||||
int path: @path ref
|
||||
);
|
||||
|
||||
range_exprs(
|
||||
@@ -560,7 +574,7 @@ record_lit_exprs(
|
||||
#keyset[id]
|
||||
record_lit_expr_paths(
|
||||
int id: @record_lit_expr ref,
|
||||
int path: @unimplemented ref
|
||||
int path: @path ref
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
@@ -593,7 +607,7 @@ record_pats(
|
||||
#keyset[id]
|
||||
record_pat_paths(
|
||||
int id: @record_pat ref,
|
||||
int path: @unimplemented ref
|
||||
int path: @path ref
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
@@ -707,7 +721,7 @@ tuple_struct_pats(
|
||||
#keyset[id]
|
||||
tuple_struct_pat_paths(
|
||||
int id: @tuple_struct_pat ref,
|
||||
int path: @unimplemented ref
|
||||
int path: @path ref
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
@@ -733,6 +747,10 @@ underscore_exprs(
|
||||
unique int id: @underscore_expr
|
||||
);
|
||||
|
||||
unimplemented_declarations(
|
||||
unique int id: @unimplemented_declaration
|
||||
);
|
||||
|
||||
wild_pats(
|
||||
unique int id: @wild_pat
|
||||
);
|
||||
|
||||
@@ -10,13 +10,13 @@ BreakExpr/gen_break_expr.rs 4938cdab0fdb9b7bafa021912d59595a190fffbabfb3889ea7ee
|
||||
CallExpr/gen_call_expr.rs 8a3b00e4af996dcfd4593783316b2d793e8b90b24b4bb78acccca6f974cf9c36 8a3b00e4af996dcfd4593783316b2d793e8b90b24b4bb78acccca6f974cf9c36
|
||||
CastExpr/gen_cast_expr.rs 35ba1e109899f5b6297cb0db6d6a48270e031c91b27fab212b07a9f93948f816 35ba1e109899f5b6297cb0db6d6a48270e031c91b27fab212b07a9f93948f816
|
||||
ClosureExpr/gen_closure_expr.rs de77bc1d891b4e0f5a4d8a55a8a097990867f93a015c13d72fb10e767aa14ba4 de77bc1d891b4e0f5a4d8a55a8a097990867f93a015c13d72fb10e767aa14ba4
|
||||
ConstBlockPat/gen_const_block_pat.rs 66caa0eb1445b2d0bf1ff5609b44975f88d72971ff558e02c69fe0459a2459ec 66caa0eb1445b2d0bf1ff5609b44975f88d72971ff558e02c69fe0459a2459ec
|
||||
ConstBlockPat/gen_const_block_pat.rs 6117cee861ea278aa0fb10fe141902a3bb91e6750565e52e5d3e7f0ad03b9203 6117cee861ea278aa0fb10fe141902a3bb91e6750565e52e5d3e7f0ad03b9203
|
||||
ConstExpr/gen_const_expr.rs 04a1e4620c843101bfccd38027af68390817dbb750c203250f4fcc208af0d26b 04a1e4620c843101bfccd38027af68390817dbb750c203250f4fcc208af0d26b
|
||||
ContinueExpr/gen_continue_expr.rs cbbed5b8dd235c4702281c9772094799012d785cc0c39a25b9f21cd659bc98d2 cbbed5b8dd235c4702281c9772094799012d785cc0c39a25b9f21cd659bc98d2
|
||||
ElementListExpr/gen_element_list_expr.rs 66f8a3c4e02767e96692c44ada6fe7ed2b07b1aaefdad13e35ae41e081374f81 66f8a3c4e02767e96692c44ada6fe7ed2b07b1aaefdad13e35ae41e081374f81
|
||||
ExprStmt/gen_expr_stmt.rs eedad804b2fbd49385c284ece44ecddf18eb56b61ff54607dfdd6521e2481c93 eedad804b2fbd49385c284ece44ecddf18eb56b61ff54607dfdd6521e2481c93
|
||||
FieldExpr/gen_field_expr.rs 7ab04efc8b45892d3214eccaeac0b1659213623ae95acb463c531b865988f148 7ab04efc8b45892d3214eccaeac0b1659213623ae95acb463c531b865988f148
|
||||
Function/gen_function.rs 4be46d4798cd32b51e449d1b6c4bc7461216a8a0e765b61abac21354401a7776 4be46d4798cd32b51e449d1b6c4bc7461216a8a0e765b61abac21354401a7776
|
||||
Function/gen_function.rs 1048512614569eaf818e16a30df256556e25f3b7fb97eee2a8df4b0036b10e99 1048512614569eaf818e16a30df256556e25f3b7fb97eee2a8df4b0036b10e99
|
||||
IfExpr/gen_if_expr.rs 073ba575b54a553945d3131d7e92cdb1520c24f380361723a1b9d848b6296d7b 073ba575b54a553945d3131d7e92cdb1520c24f380361723a1b9d848b6296d7b
|
||||
IndexExpr/gen_index_expr.rs b1a1b9eadd40ac1652d944dc925337435ef5782bf485a0f0360c971f4938cdd8 b1a1b9eadd40ac1652d944dc925337435ef5782bf485a0f0360c971f4938cdd8
|
||||
InlineAsmExpr/gen_inline_asm_expr.rs b5dcc6bf748fe4c314804414d4d5d3708957a774469de8bf77b5721ca3684f9a b5dcc6bf748fe4c314804414d4d5d3708957a774469de8bf77b5721ca3684f9a
|
||||
@@ -26,11 +26,12 @@ LetStmt/gen_let_stmt.rs d22098db07cbdd4e4616c24bc9738f989e553336c7ce1a5391e1b403
|
||||
LitPat/gen_lit_pat.rs dc7f80f73290eb55515b20bf66f8fd5cd11f6fd088734fbf215c642630db0d09 dc7f80f73290eb55515b20bf66f8fd5cd11f6fd088734fbf215c642630db0d09
|
||||
LiteralExpr/gen_literal_expr.rs 302ebc81012fd46ccf8d960fe6ae691747bdec1c7cd52b0d47ed1273b4d8dc3a 302ebc81012fd46ccf8d960fe6ae691747bdec1c7cd52b0d47ed1273b4d8dc3a
|
||||
LoopExpr/gen_loop_expr.rs 0a7e6dd7690fae82495c466f8a175b3a4097478041ec0e0bc0b7db97d2e50e66 0a7e6dd7690fae82495c466f8a175b3a4097478041ec0e0bc0b7db97d2e50e66
|
||||
MatchArm/gen_match_arm.rs 197eb98990fb149ac01900420653a1fef8772a1767fe914e7d2ae89451b81110 197eb98990fb149ac01900420653a1fef8772a1767fe914e7d2ae89451b81110
|
||||
MatchExpr/gen_match_expr.rs 65d1ac55b7aac6de608175313004d07dcc89cc483ac6b24012d7ae38ac9410b1 65d1ac55b7aac6de608175313004d07dcc89cc483ac6b24012d7ae38ac9410b1
|
||||
MatchArm/gen_match_arm.rs b3d7fc8be0f739787415a4fc9788e462f3ea9f46fc2e734198745aaa62c0d0f4 b3d7fc8be0f739787415a4fc9788e462f3ea9f46fc2e734198745aaa62c0d0f4
|
||||
MatchExpr/gen_match_expr.rs 7b20fb5bd04d5c93021d7daf3be9f30c13c854fac088835d9d7d9d16c0d963c5 7b20fb5bd04d5c93021d7daf3be9f30c13c854fac088835d9d7d9d16c0d963c5
|
||||
MethodCallExpr/gen_method_call_expr.rs 2e303e2677134db6d1e757f093f78bbd0db08f067c86d6d9b141b7115f352fd7 2e303e2677134db6d1e757f093f78bbd0db08f067c86d6d9b141b7115f352fd7
|
||||
MissingExpr/gen_missing_expr.rs 8e32068d7db05b0bd02ce7087e36e7dafbbc5edd1cd40fc98cf47a68e20b1746 8e32068d7db05b0bd02ce7087e36e7dafbbc5edd1cd40fc98cf47a68e20b1746
|
||||
MissingPat/gen_missing_pat.rs 0d31993464689611846dfea19ae856f71294aa5620b7248625ca273e7d840e87 0d31993464689611846dfea19ae856f71294aa5620b7248625ca273e7d840e87
|
||||
Module/gen_module.rs 6ef553f0782cacf198efe10885a7784e208bbe8da27a65f7f004b49581a75120 6ef553f0782cacf198efe10885a7784e208bbe8da27a65f7f004b49581a75120
|
||||
OffsetOfExpr/gen_offset_of_expr.rs 3744346b0e37fd18193f41e45b74ba9a5dca8ae3dc6a30381272358e6ec8e495 3744346b0e37fd18193f41e45b74ba9a5dca8ae3dc6a30381272358e6ec8e495
|
||||
OrPat/gen_or_pat.rs a59e67d5481bb3c21b10eddb99d5dce1de4321dc584c91d72bd3ddb00a0edd06 a59e67d5481bb3c21b10eddb99d5dce1de4321dc584c91d72bd3ddb00a0edd06
|
||||
PathExpr/gen_path_expr.rs b29cc007c4a158fb2bc464db02464614f1664a80c67a81696978e2715ce2652d b29cc007c4a158fb2bc464db02464614f1664a80c67a81696978e2715ce2652d
|
||||
|
||||
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
@@ -33,6 +33,7 @@
|
||||
/MethodCallExpr/gen_method_call_expr.rs linguist-generated
|
||||
/MissingExpr/gen_missing_expr.rs linguist-generated
|
||||
/MissingPat/gen_missing_pat.rs linguist-generated
|
||||
/Module/gen_module.rs linguist-generated
|
||||
/OffsetOfExpr/gen_offset_of_expr.rs linguist-generated
|
||||
/OrPat/gen_or_pat.rs linguist-generated
|
||||
/PathExpr/gen_path_expr.rs linguist-generated
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
fn test_const_block_pat() -> () {
|
||||
// A const block pattern. For example:
|
||||
match x {
|
||||
const { 1 + 2 + 3} => "ok",
|
||||
const { 1 + 2 + 3 } => "ok",
|
||||
_ => "fail",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// generated by codegen
|
||||
|
||||
// A function declaration. For example
|
||||
fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
// A function declaration within a trait might not have a body:
|
||||
trait Trait {
|
||||
fn bar();
|
||||
|
||||
@@ -5,9 +5,9 @@ fn test_match_arm(x: i32) -> i32 {
|
||||
match x {
|
||||
Some(y) => y,
|
||||
None => 0,
|
||||
}
|
||||
};
|
||||
match x {
|
||||
Some(y) if y != 0 => 1 / y,
|
||||
_ => 0,
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@ fn test_match_expr(x: i32) -> i32 {
|
||||
Some(y) => y,
|
||||
None => 0,
|
||||
}
|
||||
// match x {
|
||||
// Some(y) if y != 0 => 1 / y,
|
||||
// _ => 0,
|
||||
// }
|
||||
match x {
|
||||
Some(y) if y != 0 => 1 / y,
|
||||
_ => 0,
|
||||
}
|
||||
}
|
||||
|
||||
10
rust/ql/test/extractor-tests/generated/Module/Module.ql
generated
Normal file
10
rust/ql/test/extractor-tests/generated/Module/Module.ql
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
// generated by codegen
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from Module x, int getNumberOfDeclarations
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
getNumberOfDeclarations = x.getNumberOfDeclarations()
|
||||
select x, "getNumberOfDeclarations:", getNumberOfDeclarations
|
||||
7
rust/ql/test/extractor-tests/generated/Module/Module_getDeclaration.ql
generated
Normal file
7
rust/ql/test/extractor-tests/generated/Module/Module_getDeclaration.ql
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
// generated by codegen
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from Module x, int index
|
||||
where toBeTested(x) and not x.isUnknown()
|
||||
select x, index, x.getDeclaration(index)
|
||||
7
rust/ql/test/extractor-tests/generated/Module/gen_module.rs
generated
Normal file
7
rust/ql/test/extractor-tests/generated/Module/gen_module.rs
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
// generated by codegen
|
||||
|
||||
// A module declaration. For example:
|
||||
mod foo;
|
||||
mod bar {
|
||||
pub fn baz() {}
|
||||
}
|
||||
4
rust/ql/test/extractor-tests/generated/Path/MISSING_SOURCE.txt
generated
Normal file
4
rust/ql/test/extractor-tests/generated/Path/MISSING_SOURCE.txt
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
// generated by codegen
|
||||
|
||||
After a source file is added in this directory and codegen is run again, test queries
|
||||
will appear and this file will be deleted
|
||||
@@ -2,7 +2,7 @@
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from PathExpr x, Unimplemented getPath
|
||||
from PathExpr x, Path getPath
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from PathPat x, Unimplemented getPath
|
||||
from PathPat x, Path getPath
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
|
||||
@@ -63,7 +63,7 @@ class AstNode(Locatable):
|
||||
|
||||
|
||||
@qltest.skip
|
||||
class Unimplemented(AstNode):
|
||||
class Unimplemented(Element):
|
||||
pass
|
||||
|
||||
|
||||
@@ -71,8 +71,23 @@ class Declaration(AstNode):
|
||||
pass
|
||||
|
||||
|
||||
class Module(Declaration):
|
||||
@qltest.skip
|
||||
class UnimplementedDeclaration(Declaration, Unimplemented):
|
||||
pass
|
||||
|
||||
|
||||
class Module(Declaration):
|
||||
"""
|
||||
A module declaration. For example:
|
||||
```
|
||||
mod foo;
|
||||
```
|
||||
```
|
||||
mod bar {
|
||||
pub fn baz() {}
|
||||
}
|
||||
```
|
||||
"""
|
||||
declarations: list[Declaration] | child
|
||||
|
||||
|
||||
@@ -112,8 +127,15 @@ class Stmt(AstNode):
|
||||
|
||||
|
||||
@qltest.collapse_hierarchy
|
||||
class TypeRef(AstNode):
|
||||
class TypeRef(AstNode, Unimplemented):
|
||||
pass
|
||||
|
||||
|
||||
class Path(AstNode, Unimplemented):
|
||||
pass
|
||||
|
||||
|
||||
class GenericArgs(AstNode, Unimplemented):
|
||||
pass
|
||||
|
||||
|
||||
@@ -121,7 +143,7 @@ class Function(Declaration):
|
||||
"""
|
||||
A function declaration. For example
|
||||
```
|
||||
fn foo(x: u32) -> u64 { (x + 1).into() }
|
||||
fn foo(x: u32) -> u64 {(x + 1).into()}
|
||||
```
|
||||
A function declaration within a trait might not have a body:
|
||||
```
|
||||
@@ -157,7 +179,7 @@ class PathExpr(Expr):
|
||||
let z = <Type as Trait>::foo;
|
||||
```
|
||||
"""
|
||||
path: Unimplemented | child
|
||||
path: Path | child
|
||||
|
||||
|
||||
@rust.doc_test_signature("() -> ()")
|
||||
@@ -318,7 +340,7 @@ class MethodCallExpr(Expr):
|
||||
receiver: Expr | child
|
||||
method_name: string
|
||||
args: list[Expr] | child
|
||||
generic_args: optional[Unimplemented] | child
|
||||
generic_args: optional[GenericArgs] | child
|
||||
|
||||
|
||||
@rust.doc_test_signature("(x: i32) -> i32")
|
||||
@@ -329,13 +351,13 @@ class MatchArm(AstNode):
|
||||
match x {
|
||||
Some(y) => y,
|
||||
None => 0,
|
||||
}
|
||||
};
|
||||
```
|
||||
```
|
||||
match x {
|
||||
Some(y) if y != 0 => 1 / y,
|
||||
_ => 0,
|
||||
}
|
||||
};
|
||||
```
|
||||
"""
|
||||
pat: Pat | child
|
||||
@@ -353,6 +375,7 @@ class MatchExpr(Expr):
|
||||
None => 0,
|
||||
}
|
||||
```
|
||||
```
|
||||
match x {
|
||||
Some(y) if y != 0 => 1 / y,
|
||||
_ => 0,
|
||||
@@ -490,7 +513,7 @@ class RecordLitExpr(Expr):
|
||||
Foo { .. } = second;
|
||||
```
|
||||
"""
|
||||
path: optional[Unimplemented] | child
|
||||
path: optional[Path] | child
|
||||
fields: list[RecordLitField] | child
|
||||
spread: optional[Expr] | child
|
||||
has_ellipsis: predicate
|
||||
@@ -873,7 +896,7 @@ class RecordPat(Pat):
|
||||
```
|
||||
"""
|
||||
|
||||
path: optional[Unimplemented] | child
|
||||
path: optional[Path] | child
|
||||
args: list[RecordFieldPat] | child
|
||||
has_ellipsis: predicate
|
||||
|
||||
@@ -921,7 +944,7 @@ class PathPat(Pat):
|
||||
}
|
||||
```
|
||||
"""
|
||||
path: Unimplemented | child
|
||||
path: Path | child
|
||||
|
||||
|
||||
@rust.doc_test_signature("() -> ()")
|
||||
@@ -971,7 +994,7 @@ class TupleStructPat(Pat):
|
||||
};
|
||||
```
|
||||
"""
|
||||
path: optional[Unimplemented] | child
|
||||
path: optional[Path] | child
|
||||
args: list[Pat] | child
|
||||
ellipsis_index: optional[int]
|
||||
|
||||
@@ -1011,7 +1034,7 @@ class ConstBlockPat(Pat):
|
||||
A const block pattern. For example:
|
||||
```
|
||||
match x {
|
||||
const { 1 + 2 + 3} => "ok",
|
||||
const { 1 + 2 + 3 } => "ok",
|
||||
_ => "fail",
|
||||
};
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user