mirror of
https://github.com/github/codeql.git
synced 2026-02-11 20:51:06 +01:00
Rust: Run codegen
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 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
||||
top.rs 92ef55101899570ddcb197b872a5b6a38aed874bb8f0ad604af27b2fec00eba5 92ef55101899570ddcb197b872a5b6a38aed874bb8f0ad604af27b2fec00eba5
|
||||
top.rs ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8 ea9c28694da3d0e90d09fc7d31824e35817c34720ea91e7c8bf8e7e74ffe4ee8
|
||||
|
||||
63
rust/extractor/src/generated/top.rs
generated
63
rust/extractor/src/generated/top.rs
generated
@@ -6145,69 +6145,6 @@ impl From<trap::Label<LiteralPat>> for trap::Label<Element> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct MacroBlockExpr {
|
||||
pub id: trap::TrapId<MacroBlockExpr>,
|
||||
pub statements: Vec<trap::Label<Stmt>>,
|
||||
pub tail_expr: Option<trap::Label<Expr>>,
|
||||
}
|
||||
|
||||
impl trap::TrapEntry for MacroBlockExpr {
|
||||
fn extract_id(&mut self) -> trap::TrapId<Self> {
|
||||
std::mem::replace(&mut self.id, trap::TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label<Self>, out: &mut trap::Writer) {
|
||||
out.add_tuple("macro_block_exprs", vec![id.into()]);
|
||||
for (i, v) in self.statements.into_iter().enumerate() {
|
||||
out.add_tuple("macro_block_expr_statements", vec![id.into(), i.into(), v.into()]);
|
||||
}
|
||||
if let Some(v) = self.tail_expr {
|
||||
out.add_tuple("macro_block_expr_tail_exprs", vec![id.into(), v.into()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl trap::TrapClass for MacroBlockExpr {
|
||||
fn class_name() -> &'static str { "MacroBlockExpr" }
|
||||
}
|
||||
|
||||
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Expr> {
|
||||
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Expr
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<MacroBlockExpr>> for trap::Label<AstNode> {
|
||||
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of AstNode
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Locatable> {
|
||||
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Locatable
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<MacroBlockExpr>> for trap::Label<Element> {
|
||||
fn from(value: trap::Label<MacroBlockExpr>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme MacroBlockExpr is a subclass of Element
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct MacroExpr {
|
||||
pub id: trap::TrapId<MacroExpr>,
|
||||
|
||||
17
rust/ql/.generated.list
generated
17
rust/ql/.generated.list
generated
@@ -1,4 +1,4 @@
|
||||
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 1eac5a95247dec5cf51a453788b5bdebcf612590014b1e28f6b6f7e841c96a20 d4d8c9664ca406c3fd14d96a488eea97c42401e2791f41d7248ee5d3f299805c
|
||||
lib/codeql/rust/controlflow/internal/generated/CfgNodes.qll 3f4499c892277e07380232b2c90138d7c312911ef8af4a89ba0c9c2958da028b d8a8b330f8dc43e009c261a41801893230b6b568f503c17faeae9cea54714075
|
||||
lib/codeql/rust/elements/Abi.qll 485a2e79f6f7bfd1c02a6e795a71e62dede3c3e150149d5f8f18b761253b7208 6159ba175e7ead0dd2e3f2788f49516c306ee11b1a443bd4bdc00b7017d559bd
|
||||
lib/codeql/rust/elements/Addressable.qll 13011bfd2e1556694c3d440cc34af8527da4df49ad92b62f2939d3699ff2cea5 ddb25935f7553a1a384b1abe2e4b4fa90ab50b952dadec32fd867afcb054f4be
|
||||
lib/codeql/rust/elements/ArgList.qll 3d2f6f5542340b80a4c6e944ac17aba0d00727588bb66e501453ac0f80c82f83 afd52700bf5a337f19827846667cd0fb1fea5abbbcbc353828e292a727ea58c9
|
||||
@@ -88,7 +88,6 @@ lib/codeql/rust/elements/LiteralPat.qll daffb5f380a47543669c8cc92628b0e0de478c3a
|
||||
lib/codeql/rust/elements/Locatable.qll 2855efa4a469b54e0ca85daa89309a8b991cded6f3f10db361010831ba1e11d3 00c3406d14603f90abea11bf074eaf2c0b623a30e29cf6afc3a247cb58b92f0f
|
||||
lib/codeql/rust/elements/LoopExpr.qll ee171177650fa23eef102a9580765f4b6073a1cc41bab1ec31ad4f84ffe6c2c9 bfcf0cca4dc944270d9748a202829a38c64dfae167c0d3a4202788ceb9daf5f6
|
||||
lib/codeql/rust/elements/LoopingExpr.qll 7ad7d4bbfd05adc0bb9b4ca90ff3377b8298121ca5360ffb45d5a7a1e20fe37a 964168b2045ee9bad827bba53f10a64d649b3513f2d1e3c17a1b1f11d0fc7f3a
|
||||
lib/codeql/rust/elements/MacroBlockExpr.qll 077c968da099c10456be4b594675a074e9a4e43b5c5145e1b1ae1fa47ae6d570 99586e3766ee0c80364998128e067cab2639ac25c1dcbe13e0247d629490af6f
|
||||
lib/codeql/rust/elements/MacroCall.qll 452aee152b655cdd5a69bf973977072f000a6451f626469a3f7313f0468ffc18 a8652d0de1c6c2118d683d5465ba4115dd4c65031896440269a2a0522d90fceb
|
||||
lib/codeql/rust/elements/MacroDef.qll 5bcf2bba7ba40879fe47370bfeb65b23c67c463be20535327467338a1e2e04bb c3d28416fc08e5d79149fccd388fea2bc3097bce074468a323383056404926db
|
||||
lib/codeql/rust/elements/MacroExpr.qll 640554f4964def19936a16ce88a03fb12f74ec2bcfe38b88d32742b79f85d909 a284fb66e012664a33a4e9c8fd3e38d3ffd588fccd6b16b02270da55fc025f7a
|
||||
@@ -299,8 +298,6 @@ lib/codeql/rust/elements/internal/LiteralExprConstructor.qll 8ea3569bd50704ce7d5
|
||||
lib/codeql/rust/elements/internal/LiteralPatConstructor.qll b660cb428a0cba0b713fc7b07d5d2921de4a2f65a805535fb6387684c40620de 2dbc9fbc56e9de53d24265d6b13738ef5b9ced33cc3c4c1c270e04dc2fc1330f
|
||||
lib/codeql/rust/elements/internal/LoopExprConstructor.qll 45f3f8f7441fcab6adc58831421679ee07bac68ac0417f3cbc90c97426cc805b f7ab3361b4a11e898126378ea277d76949466946762cd6cb5e9e9b4bb9860420
|
||||
lib/codeql/rust/elements/internal/LoopingExprImpl.qll 17885c1bcf7b5a3f9c7bbad3d4d55e24372af0dedd5e7fc0efcfc0a8b2cdad70 104dc45ca399b9f6e8227ad561679f728d60170398a52b31fc90cb2a2dd3c33c
|
||||
lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll 90097c0d2c94083e997396e01cf24349af5eb1788060368dc21ae8cd8ce90d93 e067904a734356e38fbadbc4277629c5987adce6d8f7737f7458ac07e9b264af
|
||||
lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll 323c0695ab1d8ee7d88a678eabdb6ac9d92293b9ae0846ec2c7ed8d76a591369 7b662b77cf2d885423d8734ff322c199650c1ea59a2c3371a1370efd7966e0c9
|
||||
lib/codeql/rust/elements/internal/MacroCallConstructor.qll 707fee4fba1fd632cd00128f493e8919eaaea552ad653af4c1b7a138e362907d b49e7e36bf9306199f2326af042740ff858871b5c79f6aeddf3d5037044dbf1f
|
||||
lib/codeql/rust/elements/internal/MacroDefConstructor.qll 382a3bdf46905d112ee491620cc94f87d584d72f49e01eb1483f749e4709c055 eb61b90d8d8d655c2b00ff576ae20c8da9709eeef754212bc64d8e1558ad05ce
|
||||
lib/codeql/rust/elements/internal/MacroDefImpl.qll 73db95ff82834e0063699c7d31349b65e95ba7436fe0a8914dbdd3a383f8b1c9 cd2f078f84ce73fdc88b207df105b297f2cd3b780428968214443af3a2719e8f
|
||||
@@ -534,7 +531,6 @@ lib/codeql/rust/elements/internal/generated/LiteralPat.qll f36b09cf39330019c111e
|
||||
lib/codeql/rust/elements/internal/generated/Locatable.qll c897dc1bdd4dfcb6ded83a4a93332ca3d8f421bae02493ea2a0555023071775e b32d242f8c9480dc9b53c1e13a5cb8dcfce575b0373991c082c1db460a3e37b8
|
||||
lib/codeql/rust/elements/internal/generated/LoopExpr.qll db6bc87e795c9852426ec661fa2c2c54106805897408b43a67f5b82fb4657afd 1492866ccf8213469be85bbdbcae0142f4e2a39df305d4c0d664229ecd1ebdb9
|
||||
lib/codeql/rust/elements/internal/generated/LoopingExpr.qll 0792c38d84b8c68114da2bbdfef32ef803b696cb0fd06e10e101756d5c46976c 111fe961fad512722006323c3f2a075fddf59bd3eb5c7afc349835fcec8eb102
|
||||
lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll 7705de831e797c8742726a3c28dd8f87f6c1b9e2cccd20f01839d161f7ca37c7 ac79c5c95befc82f53b620ccc8a28fd9cc0f9e00c585ed4032bd75f99e0935fa
|
||||
lib/codeql/rust/elements/internal/generated/MacroCall.qll 1a7ee9c782ebc9ab0a807762aabebc9e0a7ef10c6eb945679737598630b20af2 782a437654cb316355c020e89d50b07c93ba7817715fa5d42a9e807cf12d1a43
|
||||
lib/codeql/rust/elements/internal/generated/MacroDef.qll 90393408d9e10ff6167789367c30f9bfe1d3e8ac3b83871c6cb30a8ae37eef47 f022d1df45bc9546cb9fd7059f20e16a3acfaae2053bbd10075fe467c96e2379
|
||||
lib/codeql/rust/elements/internal/generated/MacroExpr.qll 5a86ae36a28004ce5e7eb30addf763eef0f1c614466f4507a3935b0dab2c7ce3 11c15e8ebd36455ec9f6b7819134f6b22a15a3644678ca96b911ed0eb1181873
|
||||
@@ -562,7 +558,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll eaa0cd4402d3665013d47e
|
||||
lib/codeql/rust/elements/internal/generated/ParenExpr.qll 812d2ff65079277f39f15c084657a955a960a7c1c0e96dd60472a58d56b945eb eb8c607f43e1fcbb41f37a10de203a1db806690e10ff4f04d48ed874189cb0eb
|
||||
lib/codeql/rust/elements/internal/generated/ParenPat.qll 24f9dc7fce75827d6fddb856cd48f80168143151b27295c0bab6db5a06567a09 ebadbc6f5498e9ed754b39893ce0763840409a0721036a25b56e1ead7dcc09aa
|
||||
lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 03f5c5b96a37adeb845352d7fcea3e098da9050e534972d14ac0f70d60a2d776 ed3d6e5d02086523087adebce4e89e35461eb95f2a66d1d4100fe23fc691b126
|
||||
lib/codeql/rust/elements/internal/generated/ParentChild.qll 2a7dd6ec90e4d557b36704a04bb9eb4191469126f960c52827e12c90e51c5343 37781e023a93982be30c9d80aee7c6d87d52cc934705db66f838604563391f95
|
||||
lib/codeql/rust/elements/internal/generated/ParentChild.qll b0e3c13b2ca75faaf0d92b2ca3d70cac7b78b3729aaccf635063cc5836c163af a340e8f34a6d7425f38845e789b4aeb83aec90c11429a68ad6632a5aa132fa57
|
||||
lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll d901fdc8142a5b8847cc98fc2afcfd16428b8ace4fbffb457e761b5fd3901a77 5dbb0aea5a13f937da666ccb042494af8f11e776ade1459d16b70a4dd193f9fb
|
||||
lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4
|
||||
lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd
|
||||
@@ -577,7 +573,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 8d0ea4f6c7f8203340bf
|
||||
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f
|
||||
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
|
||||
lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll 22bb3aa871d1dcac60bfa46393da911f95467065e52bb78981d17469c7854c93 3ccc518319d79f3c8d9e9901a5665ab4c889253781edf76fcbc3de64dff91069
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll 6e32bd7167d3eece2d22f893a92410129b1bd18e59533b1cf82f72f31465b43a bb25c56118df0e2755be2350cf307c19e6c4d85b2a39388c08f2cc1bad303692
|
||||
lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66
|
||||
lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05
|
||||
lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 5b0663a6d234572fb3e467e276d019415caa95ef006438cc59b7af4e1783161e 0e27c8a8f0e323c0e4d6db01fca821bf07c0864d293cdf96fa891b10820c1e4b
|
||||
@@ -602,8 +598,8 @@ lib/codeql/rust/elements/internal/generated/StructFieldList.qll 5da528a51a6a5db9
|
||||
lib/codeql/rust/elements/internal/generated/StructPat.qll c76fa005c2fd0448a8803233e1e8818c4123301eb66ac5cf69d0b9eaafc61e98 6e0dffccdce24bca20e87d5ba0f0995c9a1ae8983283e71e7dbfcf6fffc67a58
|
||||
lib/codeql/rust/elements/internal/generated/StructPatField.qll 5b5c7302dbc4a902ca8e69ff31875c867e295a16a626ba3cef29cd0aa248f179 4e192a0df79947f5cb0d47fdbbba7986137a6a40a1be92ae119873e2fad67edf
|
||||
lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll 1a95a1bd9f64fb18e9571657cf2d02a8b13c747048a1f0f74baf31b91f0392ad fc274e414ff4ed54386046505920de92755ad0b4d39a7523cdffa4830bd53b37
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll 00f19e9d0a03b9d8e42caceda06da69d67280be16f67f3459f0adec8f9f8cacd ebcc049fe946540277893bf095787c061cd119c9d4eb708cec9df93257780e8d
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll f41abfc73415b7accb38da7c107faebfe6843c270ad54e0e54a96e930dfe479a f41abfc73415b7accb38da7c107faebfe6843c270ad54e0e54a96e930dfe479a
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll 3b9f71b9b6b9952c967e1ba74175b74dd563492d5adc00a27e19ab735bf37918 3ef3e4fe71ab08f772ebd68036cba7b2ec4109d706cfb03747aa05835f376628
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f ec935bac4f775b64c76cd15ab975d885f544e77bf4833fd0f47acd40438fe66f
|
||||
lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b
|
||||
lib/codeql/rust/elements/internal/generated/TokenTree.qll 1a3c4f5f30659738641abdd28cb793dab3cfde484196b59656fc0a2767e53511 de2ebb210c7759ef7a6f7ee9f805e1cac879221287281775fc80ba34a5492edf
|
||||
lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e
|
||||
@@ -640,7 +636,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 0353aab87c49569e1fbf58
|
||||
lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499
|
||||
lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b
|
||||
lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85
|
||||
lib/codeql/rust/elements.qll 47adb2b43274ce791299d1e94299e560f392f75d2cc4d4ace02e29f31a7db4af 47adb2b43274ce791299d1e94299e560f392f75d2cc4d4ace02e29f31a7db4af
|
||||
lib/codeql/rust/elements.qll be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be be9c7606d429b62fcb8686285e8eeff41f45f0dd22feb5b4fd3ea2f3cdfb39be
|
||||
test/extractor-tests/generated/Abi/Abi.ql 086ed104ab1a7e7fe5c1ed29e03f1719a797c7096c738868bf6ebe872ab8fdaa fe23fe67ab0d9201e1177ea3f844b18ed428e13e3ce77381bf2b6910adfa3a0e
|
||||
test/extractor-tests/generated/ArgList/ArgList.ql da97b5b25418b2aa8cb8df793f48870c89fa00759cdade8ddba60d7f1f4bbc01 acfd5d2caf67282ad2d57b961068472100482d0f770a52a3c00214c647d18c75
|
||||
test/extractor-tests/generated/ArrayListExpr/ArrayListExpr.ql 42b365276aa43e2cad588338463542d3ce1dd0db3a428621554584b07a1431d5 08a66a8b69af35ee3bc64c35c453a19a6c9881cc6cc7e65275d1fff056121270
|
||||
@@ -712,7 +708,6 @@ test/extractor-tests/generated/LifetimeParam/LifetimeParam.ql a96f586af332969878
|
||||
test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql 00570642966d233a10ec3106ae65e6ea865c29d0776fdbc452815f528301117c adb286ad3bd763f1b1b350cac91bc2615869dcb9b0faf29276ace9a99d31f0cc
|
||||
test/extractor-tests/generated/LiteralPat/LiteralPat.ql 863d4902e7e22de3176398cbb908e6f5f487b3d22c0f9f7a5498a1ebc112c0fd 47e3f70c5c32f17050d3ca8c8b42d94ecd38e378627880d8100b7ca182cfa793
|
||||
test/extractor-tests/generated/LoopExpr/LoopExpr.ql a178e25f63b4d517482ec63e5dfb6903dd41dadd8db39be2dd2a831e8456811f f34165f78179960cc7e5876dac26a1d0f6f67933eff9a015b92ca0e2872b63e8
|
||||
test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql 936920b5b609b1e62b201004055bbce449d2d7c1f8016f57d9b27d3ea8107f07 21493009ed3b1810aa4fd8af4d8c7b7794982da032dfb6b7e9048445d651eecb
|
||||
test/extractor-tests/generated/MacroCall/MacroCall.ql 28abee68c0681334e4ffd412f1b9b9b0fe844a6ae6c915ec18ea186b4766f58e c8c73902827d69a4b903ab3028408086b64b9f5d9a4da97620a2100f45ceaf69
|
||||
test/extractor-tests/generated/MacroDef/MacroDef.ql edcdd65706641c2827cac546091a99e0a1473ff8d383efd968023db411591197 b7832c67c6dd32e9e5ecfa4b6256e7cd820f55d49c44458a140cbf4d46542eb3
|
||||
test/extractor-tests/generated/MacroExpr/MacroExpr.ql 83fadb88fd8f913bb1b1cda26d21b173bdc94bb6682a74eaddce650ebf72aa41 1c502cde6a95ec637e43d348c613be3dec4092b69d2c8692abdc5a9377e37f5f
|
||||
|
||||
5
rust/ql/.gitattributes
generated
vendored
5
rust/ql/.gitattributes
generated
vendored
@@ -90,7 +90,6 @@
|
||||
/lib/codeql/rust/elements/Locatable.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LoopExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/LoopingExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/MacroBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/MacroCall.qll linguist-generated
|
||||
/lib/codeql/rust/elements/MacroDef.qll linguist-generated
|
||||
/lib/codeql/rust/elements/MacroExpr.qll linguist-generated
|
||||
@@ -301,8 +300,6 @@
|
||||
/lib/codeql/rust/elements/internal/LiteralPatConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/LoopExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/LoopingExprImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/MacroBlockExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/MacroBlockExprImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/MacroCallConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/MacroDefConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/MacroDefImpl.qll linguist-generated
|
||||
@@ -536,7 +533,6 @@
|
||||
/lib/codeql/rust/elements/internal/generated/Locatable.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/LoopExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/LoopingExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/MacroBlockExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/MacroCall.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/MacroDef.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/MacroExpr.qll linguist-generated
|
||||
@@ -714,7 +710,6 @@
|
||||
/test/extractor-tests/generated/LiteralExpr/LiteralExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/LiteralPat/LiteralPat.ql linguist-generated
|
||||
/test/extractor-tests/generated/LoopExpr/LoopExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroBlockExpr/MacroBlockExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroCall/MacroCall.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroDef/MacroDef.ql linguist-generated
|
||||
/test/extractor-tests/generated/MacroExpr/MacroExpr.ql linguist-generated
|
||||
|
||||
@@ -1758,64 +1758,6 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
predicate hasLoopBody() { exists(this.getLoopBody()) }
|
||||
}
|
||||
|
||||
final private class ParentMacroBlockExpr extends ParentAstNode, MacroBlockExpr {
|
||||
override predicate relevantChild(AstNode child) {
|
||||
none()
|
||||
or
|
||||
child = this.getTailExpr()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A sequence of statements generated by a `MacroCall`. For example:
|
||||
* ```rust
|
||||
* macro_rules! my_macro {
|
||||
* () => {
|
||||
* let mut x = 40;
|
||||
* x += 2;
|
||||
* x
|
||||
* };
|
||||
* }
|
||||
*
|
||||
* my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
* ```
|
||||
*/
|
||||
final class MacroBlockExprCfgNode extends CfgNodeFinal, ExprCfgNode {
|
||||
private MacroBlockExpr node;
|
||||
|
||||
MacroBlockExprCfgNode() { node = this.getAstNode() }
|
||||
|
||||
/** Gets the underlying `MacroBlockExpr`. */
|
||||
MacroBlockExpr getMacroBlockExpr() { result = node }
|
||||
|
||||
/**
|
||||
* Gets the `index`th statement of this macro block expression (0-based).
|
||||
*/
|
||||
Stmt getStatement(int index) { result = node.getStatement(index) }
|
||||
|
||||
/**
|
||||
* Gets any of the statements of this macro block expression.
|
||||
*/
|
||||
Stmt getAStatement() { result = this.getStatement(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of statements of this macro block expression.
|
||||
*/
|
||||
int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) }
|
||||
|
||||
/**
|
||||
* Gets the tail expression of this macro block expression, if it exists.
|
||||
*/
|
||||
ExprCfgNode getTailExpr() {
|
||||
any(ChildMapping mapping).hasCfgChild(node, node.getTailExpr(), this, result)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTailExpr()` exists.
|
||||
*/
|
||||
predicate hasTailExpr() { exists(this.getTailExpr()) }
|
||||
}
|
||||
|
||||
final private class ParentMacroCall extends ParentAstNode, MacroCall {
|
||||
override predicate relevantChild(AstNode child) { none() }
|
||||
}
|
||||
@@ -3807,18 +3749,6 @@ module MakeCfgNodes<LocationSig Loc, InputSig<Loc> Input> {
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getTailExpr" and
|
||||
parent =
|
||||
any(Nodes::MacroBlockExprCfgNode cfgNode, MacroBlockExpr astNode |
|
||||
astNode = cfgNode.getMacroBlockExpr() and
|
||||
child = getDesugared(astNode.getTailExpr()) and
|
||||
i = -1 and
|
||||
hasCfgNode(child) and
|
||||
not child = cfgNode.getTailExpr().getAstNode()
|
||||
|
|
||||
cfgNode
|
||||
)
|
||||
or
|
||||
pred = "getMacroCall" and
|
||||
parent =
|
||||
any(Nodes::MacroExprCfgNode cfgNode, MacroExpr astNode |
|
||||
|
||||
1
rust/ql/lib/codeql/rust/elements.qll
generated
1
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -93,7 +93,6 @@ import codeql.rust.elements.LiteralPat
|
||||
import codeql.rust.elements.Locatable
|
||||
import codeql.rust.elements.LoopExpr
|
||||
import codeql.rust.elements.LoopingExpr
|
||||
import codeql.rust.elements.MacroBlockExpr
|
||||
import codeql.rust.elements.MacroCall
|
||||
import codeql.rust.elements.MacroDef
|
||||
import codeql.rust.elements.MacroExpr
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `MacroBlockExpr`.
|
||||
*/
|
||||
|
||||
private import internal.MacroBlockExprImpl
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.Stmt
|
||||
|
||||
/**
|
||||
* A sequence of statements generated by a `MacroCall`. For example:
|
||||
* ```rust
|
||||
* macro_rules! my_macro {
|
||||
* () => {
|
||||
* let mut x = 40;
|
||||
* x += 2;
|
||||
* x
|
||||
* };
|
||||
* }
|
||||
*
|
||||
* my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
* ```
|
||||
*/
|
||||
final class MacroBlockExpr = Impl::MacroBlockExpr;
|
||||
@@ -1,14 +0,0 @@
|
||||
// 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
|
||||
* `MacroBlockExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `MacroBlockExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructMacroBlockExpr(Raw::MacroBlockExpr id) { any() }
|
||||
@@ -1,30 +0,0 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `MacroBlockExpr`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.MacroBlockExpr
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `MacroBlockExpr` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* A sequence of statements generated by a `MacroCall`. For example:
|
||||
* ```rust
|
||||
* macro_rules! my_macro {
|
||||
* () => {
|
||||
* let mut x = 40;
|
||||
* x += 2;
|
||||
* x
|
||||
* };
|
||||
* }
|
||||
*
|
||||
* my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
* ```
|
||||
*/
|
||||
class MacroBlockExpr extends Generated::MacroBlockExpr { }
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `MacroBlockExpr`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.Expr
|
||||
import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl
|
||||
import codeql.rust.elements.Stmt
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `MacroBlockExpr` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A sequence of statements generated by a `MacroCall`. For example:
|
||||
* ```rust
|
||||
* macro_rules! my_macro {
|
||||
* () => {
|
||||
* let mut x = 40;
|
||||
* x += 2;
|
||||
* x
|
||||
* };
|
||||
* }
|
||||
*
|
||||
* my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
* ```
|
||||
* INTERNAL: Do not reference the `Generated::MacroBlockExpr` class directly.
|
||||
* Use the subclass `MacroBlockExpr`, where the following predicates are available.
|
||||
*/
|
||||
class MacroBlockExpr extends Synth::TMacroBlockExpr, ExprImpl::Expr {
|
||||
override string getAPrimaryQlClass() { result = "MacroBlockExpr" }
|
||||
|
||||
/**
|
||||
* Gets the `index`th statement of this macro block expression (0-based).
|
||||
*/
|
||||
Stmt getStatement(int index) {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertMacroBlockExprToRaw(this)
|
||||
.(Raw::MacroBlockExpr)
|
||||
.getStatement(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the statements of this macro block expression.
|
||||
*/
|
||||
final Stmt getAStatement() { result = this.getStatement(_) }
|
||||
|
||||
/**
|
||||
* Gets the number of statements of this macro block expression.
|
||||
*/
|
||||
final int getNumberOfStatements() { result = count(int i | exists(this.getStatement(i))) }
|
||||
|
||||
/**
|
||||
* Gets the tail expression of this macro block expression, if it exists.
|
||||
*/
|
||||
Expr getTailExpr() {
|
||||
result =
|
||||
Synth::convertExprFromRaw(Synth::convertMacroBlockExprToRaw(this)
|
||||
.(Raw::MacroBlockExpr)
|
||||
.getTailExpr())
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTailExpr()` exists.
|
||||
*/
|
||||
final predicate hasTailExpr() { exists(this.getTailExpr()) }
|
||||
}
|
||||
}
|
||||
@@ -1505,24 +1505,6 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfMacroBlockExpr(
|
||||
MacroBlockExpr e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int n, int nStatement, int nTailExpr |
|
||||
n = 0 and
|
||||
nStatement = n + e.getNumberOfStatements() and
|
||||
nTailExpr = nStatement + 1 and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = e.getStatement(index - n) and
|
||||
partialPredicateCall = "Statement(" + (index - n).toString() + ")"
|
||||
or
|
||||
index = nStatement and result = e.getTailExpr() and partialPredicateCall = "TailExpr()"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfMacroExpr(MacroExpr e, int index, string partialPredicateCall) {
|
||||
exists(int n, int nMacroCall |
|
||||
n = 0 and
|
||||
@@ -3217,8 +3199,6 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLiteralPat(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfMacroBlockExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfMacroExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfMacroPat(e, index, partialAccessor)
|
||||
|
||||
@@ -4169,55 +4169,6 @@ module Raw {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A sequence of statements generated by a `MacroCall`. For example:
|
||||
* ```rust
|
||||
* macro_rules! my_macro {
|
||||
* () => {
|
||||
* let mut x = 40;
|
||||
* x += 2;
|
||||
* x
|
||||
* };
|
||||
* }
|
||||
*
|
||||
* my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
* ```
|
||||
*/
|
||||
class MacroBlockExpr extends @macro_block_expr, Expr {
|
||||
override string toString() { result = "MacroBlockExpr" }
|
||||
|
||||
/**
|
||||
* Gets the `index`th statement of this macro block expression (0-based).
|
||||
*/
|
||||
Stmt getStatement(int index) { macro_block_expr_statements(this, index, result) }
|
||||
|
||||
/**
|
||||
* Gets the number of statements of this macro block expression.
|
||||
*/
|
||||
int getNumberOfStatements() { result = count(int i | macro_block_expr_statements(this, i, _)) }
|
||||
|
||||
/**
|
||||
* Gets the tail expression of this macro block expression, if it exists.
|
||||
*/
|
||||
Expr getTailExpr() { macro_block_expr_tail_exprs(this, result) }
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfMacroBlockExpr(MacroBlockExpr e, int index) {
|
||||
exists(int n, int nStatement, int nTailExpr |
|
||||
n = 0 and
|
||||
nStatement = n + e.getNumberOfStatements() and
|
||||
nTailExpr = nStatement + 1 and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = e.getStatement(index - n)
|
||||
or
|
||||
index = nStatement and result = e.getTailExpr()
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A macro expression, representing the invocation of a macro that produces an expression.
|
||||
@@ -7915,8 +7866,6 @@ module Raw {
|
||||
or
|
||||
result = getImmediateChildOfLiteralPat(e, index)
|
||||
or
|
||||
result = getImmediateChildOfMacroBlockExpr(e, index)
|
||||
or
|
||||
result = getImmediateChildOfMacroExpr(e, index)
|
||||
or
|
||||
result = getImmediateChildOfMacroPat(e, index)
|
||||
|
||||
@@ -318,10 +318,6 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TLoopExpr(Raw::LoopExpr id) { constructLoopExpr(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TMacroBlockExpr(Raw::MacroBlockExpr id) { constructMacroBlockExpr(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -736,9 +732,9 @@ module Synth {
|
||||
TArrayExpr or TArrayExprInternal or TAsmExpr or TAwaitExpr or TBecomeExpr or TBinaryExpr or
|
||||
TBreakExpr or TCallExpr or TCastExpr or TClosureExpr or TContinueExpr or TFieldExpr or
|
||||
TFormatArgsExpr or TIfExpr or TIndexExpr or TLabelableExpr or TLetExpr or TLiteralExpr or
|
||||
TMacroBlockExpr or TMacroExpr or TMatchExpr or TMethodCallExpr or TOffsetOfExpr or
|
||||
TParenExpr or TPathExprBase or TPrefixExpr or TRangeExpr or TRefExpr or TReturnExpr or
|
||||
TStructExpr or TTryExpr or TTupleExpr or TUnderscoreExpr or TYeetExpr or TYieldExpr;
|
||||
TMacroExpr or TMatchExpr or TMethodCallExpr or TOffsetOfExpr or TParenExpr or
|
||||
TPathExprBase or TPrefixExpr or TRangeExpr or TRefExpr or TReturnExpr or TStructExpr or
|
||||
TTryExpr or TTupleExpr or TUnderscoreExpr or TYeetExpr or TYieldExpr;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -1377,13 +1373,6 @@ module Synth {
|
||||
*/
|
||||
TLoopExpr convertLoopExprFromRaw(Raw::Element e) { result = TLoopExpr(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* Converts a raw element to a synthesized `TMacroBlockExpr`, if possible.
|
||||
*/
|
||||
TMacroBlockExpr convertMacroBlockExprFromRaw(Raw::Element e) { result = TMacroBlockExpr(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
@@ -2277,8 +2266,6 @@ module Synth {
|
||||
or
|
||||
result = convertLiteralExprFromRaw(e)
|
||||
or
|
||||
result = convertMacroBlockExprFromRaw(e)
|
||||
or
|
||||
result = convertMacroExprFromRaw(e)
|
||||
or
|
||||
result = convertMatchExprFromRaw(e)
|
||||
@@ -3036,12 +3023,6 @@ module Synth {
|
||||
*/
|
||||
Raw::Element convertLoopExprToRaw(TLoopExpr e) { e = TLoopExpr(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TMacroBlockExpr` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertMacroBlockExprToRaw(TMacroBlockExpr e) { e = TMacroBlockExpr(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TMacroCall` to a raw DB element, if possible.
|
||||
@@ -3845,8 +3826,6 @@ module Synth {
|
||||
or
|
||||
result = convertLiteralExprToRaw(e)
|
||||
or
|
||||
result = convertMacroBlockExprToRaw(e)
|
||||
or
|
||||
result = convertMacroExprToRaw(e)
|
||||
or
|
||||
result = convertMatchExprToRaw(e)
|
||||
|
||||
@@ -77,7 +77,6 @@ import codeql.rust.elements.internal.LifetimeParamConstructor
|
||||
import codeql.rust.elements.internal.LiteralExprConstructor
|
||||
import codeql.rust.elements.internal.LiteralPatConstructor
|
||||
import codeql.rust.elements.internal.LoopExprConstructor
|
||||
import codeql.rust.elements.internal.MacroBlockExprConstructor
|
||||
import codeql.rust.elements.internal.MacroCallConstructor
|
||||
import codeql.rust.elements.internal.MacroDefConstructor
|
||||
import codeql.rust.elements.internal.MacroExprConstructor
|
||||
|
||||
@@ -409,7 +409,6 @@ callable_attrs(
|
||||
| @labelable_expr
|
||||
| @let_expr
|
||||
| @literal_expr
|
||||
| @macro_block_expr
|
||||
| @macro_expr
|
||||
| @match_expr
|
||||
| @method_call_expr
|
||||
@@ -2036,23 +2035,6 @@ literal_pat_literals(
|
||||
int literal: @literal_expr ref
|
||||
);
|
||||
|
||||
macro_block_exprs(
|
||||
unique int id: @macro_block_expr
|
||||
);
|
||||
|
||||
#keyset[id, index]
|
||||
macro_block_expr_statements(
|
||||
int id: @macro_block_expr ref,
|
||||
int index: int ref,
|
||||
int statement: @stmt ref
|
||||
);
|
||||
|
||||
#keyset[id]
|
||||
macro_block_expr_tail_exprs(
|
||||
int id: @macro_block_expr ref,
|
||||
int tail_expr: @expr ref
|
||||
);
|
||||
|
||||
macro_exprs(
|
||||
unique int id: @macro_expr
|
||||
);
|
||||
|
||||
@@ -67,7 +67,6 @@ LifetimeParam/gen_lifetime_param.rs e3f9a417ae7a88a4d81d9cb747b361a3246d270d142f
|
||||
LiteralExpr/gen_literal_expr.rs 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d 2db01ad390e5c0c63a957c043230a462cb4cc25715eea6ede15d43c55d35976d
|
||||
LiteralPat/gen_literal_pat.rs a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3 a471b481b6989001817a3988696f445d9a4dea784e543c346536dacbee1e96f3
|
||||
LoopExpr/gen_loop_expr.rs 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619 35deaf35e765db4ae3124a11284266d8f341d1ce7b700030efada0dda8878619
|
||||
MacroBlockExpr/gen_macro_block_expr.rs 4284a6e6ad81827d8616a00fec7f5bc21104eed40d93e3acc2b933ee22cb8577 4284a6e6ad81827d8616a00fec7f5bc21104eed40d93e3acc2b933ee22cb8577
|
||||
MacroCall/gen_macro_call.rs c30added613d9edb3cb1321ae46fc6a088a2f22d2cc979119466ec02f6e09ed6 c30added613d9edb3cb1321ae46fc6a088a2f22d2cc979119466ec02f6e09ed6
|
||||
MacroDef/gen_macro_def.rs 6f895ecab8c13a73c28ce67fcee39baf7928745a80fb440811014f6d31b22378 6f895ecab8c13a73c28ce67fcee39baf7928745a80fb440811014f6d31b22378
|
||||
MacroExpr/gen_macro_expr.rs 5e1748356f431eea343a2aad2798c22073151940ea2cda0f0cce78c3d96104f0 5e1748356f431eea343a2aad2798c22073151940ea2cda0f0cce78c3d96104f0
|
||||
|
||||
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
@@ -69,7 +69,6 @@
|
||||
/LiteralExpr/gen_literal_expr.rs linguist-generated
|
||||
/LiteralPat/gen_literal_pat.rs linguist-generated
|
||||
/LoopExpr/gen_loop_expr.rs linguist-generated
|
||||
/MacroBlockExpr/gen_macro_block_expr.rs linguist-generated
|
||||
/MacroCall/gen_macro_call.rs linguist-generated
|
||||
/MacroDef/gen_macro_def.rs linguist-generated
|
||||
/MacroExpr/gen_macro_expr.rs linguist-generated
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
// generated by codegen, do not edit
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
query predicate instances(MacroBlockExpr x) { toBeTested(x) and not x.isUnknown() }
|
||||
|
||||
query predicate getStatement(MacroBlockExpr x, int index, Stmt getStatement) {
|
||||
toBeTested(x) and not x.isUnknown() and getStatement = x.getStatement(index)
|
||||
}
|
||||
|
||||
query predicate getTailExpr(MacroBlockExpr x, Expr getTailExpr) {
|
||||
toBeTested(x) and not x.isUnknown() and getTailExpr = x.getTailExpr()
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
// generated by codegen, do not edit
|
||||
|
||||
fn test_macro_block_expr() -> () {
|
||||
// A sequence of statements generated by a `MacroCall`. For example:
|
||||
macro_rules! my_macro {
|
||||
() => {
|
||||
let mut x = 40;
|
||||
x += 2;
|
||||
x
|
||||
};
|
||||
}
|
||||
|
||||
my_macro!(); // this macro expands to a sequence of statements (and an expression)
|
||||
}
|
||||
Reference in New Issue
Block a user