Rust: remove VariantDef

This commit is contained in:
Paolo Tranquilli
2025-06-20 15:59:18 +02:00
parent 0d292b785c
commit 02b6e856a3
21 changed files with 39 additions and 232 deletions

View File

@@ -385,8 +385,8 @@ struct ExtractorInfo {
}
fn enum_to_extractor_info(node: &AstEnumSrc) -> Option<ExtractorEnumInfo> {
if matches!(node.name.as_str(), "VariantDef" | "Adt") {
// these are not used as types of fields, so we don't need to generate extractors for them
if node.name == "Adt" {
// no fields have `Adt` type, so we don't need extraction for it
return None;
}
Some(ExtractorEnumInfo {
@@ -484,6 +484,8 @@ fn main() -> anyhow::Result<()> {
.parse()
.expect("Failed to parse grammar");
let mut grammar = codegen::grammar::lower(&grammar);
// remove the VariantDef enum, there is no use for it at the moment
grammar.enums.retain(|e| e.name != "VariantDef");
let mut super_types: BTreeMap<String, BTreeSet<String>> = BTreeMap::new();
for node in &grammar.enums {

View File

@@ -1,2 +1,2 @@
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
top.rs 78da6fde6bc6f66baf63b298b3d565d6a057b54e891f739a3510aff4563a9f1b 78da6fde6bc6f66baf63b298b3d565d6a057b54e891f739a3510aff4563a9f1b
top.rs 4cd878b17ebc18c28cbaac2eb77a7401d60c0870247877c4c1dd155c31342482 4cd878b17ebc18c28cbaac2eb77a7401d60c0870247877c4c1dd155c31342482

View File

@@ -3227,42 +3227,6 @@ impl From<trap::Label<UseTreeList>> for trap::Label<Element> {
}
}
#[derive(Debug)]
pub struct VariantDef {
_unused: ()
}
impl trap::TrapClass for VariantDef {
fn class_name() -> &'static str { "VariantDef" }
}
impl From<trap::Label<VariantDef>> for trap::Label<AstNode> {
fn from(value: trap::Label<VariantDef>) -> Self {
// SAFETY: this is safe because in the dbscheme VariantDef is a subclass of AstNode
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<VariantDef>> for trap::Label<Locatable> {
fn from(value: trap::Label<VariantDef>) -> Self {
// SAFETY: this is safe because in the dbscheme VariantDef is a subclass of Locatable
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
impl From<trap::Label<VariantDef>> for trap::Label<Element> {
fn from(value: trap::Label<VariantDef>) -> Self {
// SAFETY: this is safe because in the dbscheme VariantDef is a subclass of Element
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct VariantList {
pub id: trap::TrapId<VariantList>,
@@ -8646,9 +8610,9 @@ impl trap::TrapClass for Variant {
fn class_name() -> &'static str { "Variant" }
}
impl From<trap::Label<Variant>> for trap::Label<VariantDef> {
impl From<trap::Label<Variant>> for trap::Label<Addressable> {
fn from(value: trap::Label<Variant>) -> Self {
// SAFETY: this is safe because in the dbscheme Variant is a subclass of VariantDef
// SAFETY: this is safe because in the dbscheme Variant is a subclass of Addressable
unsafe {
Self::from_untyped(value.as_untyped())
}
@@ -8682,15 +8646,6 @@ impl From<trap::Label<Variant>> for trap::Label<Element> {
}
}
impl From<trap::Label<Variant>> for trap::Label<Addressable> {
fn from(value: trap::Label<Variant>) -> Self {
// SAFETY: this is safe because in the dbscheme Variant is a subclass of Addressable
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct WildcardPat {
pub id: trap::TrapId<WildcardPat>,
@@ -11551,15 +11506,6 @@ impl From<trap::Label<Struct>> for trap::Label<Addressable> {
}
}
impl From<trap::Label<Struct>> for trap::Label<VariantDef> {
fn from(value: trap::Label<Struct>) -> Self {
// SAFETY: this is safe because in the dbscheme Struct is a subclass of VariantDef
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct Union {
pub id: trap::TrapId<Union>,
@@ -11666,15 +11612,6 @@ impl From<trap::Label<Union>> for trap::Label<Addressable> {
}
}
impl From<trap::Label<Union>> for trap::Label<VariantDef> {
fn from(value: trap::Label<Union>) -> Self {
// SAFETY: this is safe because in the dbscheme Union is a subclass of VariantDef
unsafe {
Self::from_untyped(value.as_untyped())
}
}
}
#[derive(Debug)]
pub struct WhileExpr {
pub id: trap::TrapId<WhileExpr>,

View File

@@ -146,7 +146,7 @@ lib/codeql/rust/elements/SourceFile.qll 0b6a3e58767c07602b19975009a2ad53ecf1fd72
lib/codeql/rust/elements/Static.qll a6d73152ddecb53a127aa3a4139f97007cd77b46203691c287600aa7200b8beb 547197e794803b3ea0c0e220f050980adec815a16fdef600f98ff795aa77f677
lib/codeql/rust/elements/Stmt.qll 532b12973037301246daf7d8c0177f734202f43d9261c7a4ca6f5080eea8ca64 b838643c4f2b4623d2c816cddad0e68ca3e11f2879ab7beaece46f489ec4b1f3
lib/codeql/rust/elements/StmtList.qll e874859ce03672d0085e47e0ca5e571b92b539b31bf0d5a8802f9727bef0c6b0 e5fe83237f713cdb57c446a6e1c20f645c2f49d9f5ef2c984032df83acb3c0de
lib/codeql/rust/elements/Struct.qll 6ae1ce11044a1f6bf3150ddce947c1be17e462613edf7ea4fe7d861aa3dbe0d1 043ef682d71f31e8808962032c05ab3045e7cbc8663ec7e06dc9255e12e53c12
lib/codeql/rust/elements/Struct.qll 297d3ea732fc7fbb8b8fb5479c1873ce84705146853ff752c84a6f70af12b923 3df0e5fd50a910a0b5611c3a860a1d7c318f6925c3a0727006d91840caf04812
lib/codeql/rust/elements/StructExpr.qll af9059c01a97755e94f1a8b60c66d9c7663ed0705b2845b086b8953f16019fab 2d33d86b035a15c1b31c3e07e0e74c4bbe57a71c5a55d60e720827814e73b7ba
lib/codeql/rust/elements/StructExprField.qll 3eb9f17ecd1ad38679689eb4ecc169d3a0b5b7a3fc597ae5a957a7aea2f74e4f 8fcd26f266f203004899a60447ba16e7eae4e3a654fbec7f54e26857730ede93
lib/codeql/rust/elements/StructExprFieldList.qll 6efb2ec4889b38556dc679bb89bbd4bd76ed6a60014c41f8e232288fc23b2d52 dc867a0a4710621e04b36bbec7d317d6f360e0d6ac68b79168c8b714babde31d
@@ -175,14 +175,13 @@ lib/codeql/rust/elements/TypeRepr.qll ea41b05ef0aaac71da460f9a6a8331cf98166f2c38
lib/codeql/rust/elements/UnderscoreExpr.qll 233661b82b87c8cda16d8f2e17965658c3dc6b69efb23cb8eb9c4f50c68521e0 8edff8e80aac2ecf83a6b58f310cab688cbaeea0a0e68a298b644e565960cc74
lib/codeql/rust/elements/Unextracted.qll 12e60c79ef5b94d72b579b19970622e7b73822ebc13fbcfedfe953527ab1ac36 ec015db2eb12c3c82693ddc71d32d9ab9ef7a958e741e2510681bb707ceca23e
lib/codeql/rust/elements/Unimplemented.qll bf624d28163e5c99accda16c0c99f938bec4a3b1b920a463e86fc8529ff5ff02 013bc7777298d250338f835cd494b5a8accea2d6a4f9561851f283ac129a446b
lib/codeql/rust/elements/Union.qll 3e277155fc7ea77f645cb5c5b227efd1474aa745b12a8be228eab694536c49dc a4bf9b54b8262517371000a842e5fdcdaabd324e52afd7919bbf76bc887b18b6
lib/codeql/rust/elements/Union.qll 13f7f62e98b117d18e79db5f6e6535447bc069ebb08f7cdb390b012678b7e085 bd8c37bc0ff09926753bc250e1848ed25923f224829d0136afc27b749eaddd1f
lib/codeql/rust/elements/Use.qll fdcf70574403c2f219353211b6930f2f9bc79f41c2594e07548de5a8c6cbb24d e41f2b689fcbeb7b84c7ba8d09592f7561626559318642b73574bbac83f74546
lib/codeql/rust/elements/UseBoundGenericArg.qll f16903f8fff676d3700eaad5490804624391141472ecc3166ccb1f70c794c120 5efda98088d096b42f53ceccae78c05f15c6953525b514d849681cb2cf65b147
lib/codeql/rust/elements/UseBoundGenericArgs.qll d9821a82a1d57e609fdc5e79d65e9a88b0088f51d03927e09f41b6931d3484ab 181483a95e22622c7cee07cce87e9476053f824a82e67e2bdecabf5a39f672ad
lib/codeql/rust/elements/UseTree.qll e67c148f63668319c37914a46ff600692de477242a0129fa1bb9839754c0f830 de9b39d3d078d51ec9130db6579bff13e6297e60556a7214a5c51cbf89d92791
lib/codeql/rust/elements/UseTreeList.qll 92ebfee4392a485b38fb3265fdede7c8f2ed1dbe2ab860aa61b1497c33874d25 a4e677455d20838e422e430eebd73d0a488e34e8c960f375fef7b99e79d4c911
lib/codeql/rust/elements/Variant.qll 9377fa841779e8283df08432bf868faf161c36cc03f332c52ae219422cb9f959 2440771a5a1ef28927fe6fdc81b0e95c91aae18911739c89753fbadce7ff6cc9
lib/codeql/rust/elements/VariantDef.qll fb14bf049aba1fc0b62d156e69b7965b6526d12c9150793f1d38b0f8fb8a0a8f 71453a80a3c60288242c5d86ab81ef4d027a3bc870ceffa62160864d32a7d7ad
lib/codeql/rust/elements/Variant.qll 7895461fa728f6c3a7293799c5e6b965b413b679566dcbd40bbe2609db8b6cde b0413547365a301bd9fbb6b266757f956394abad0a77f0e424446e23ec7d83e9
lib/codeql/rust/elements/VariantList.qll 39803fbb873d48202c2a511c00c8eafede06e519894e0fd050c2a85bf5f4aa73 1735f89b2b8f6d5960a276b87ea10e4bb8c848c24a5d5fad7f3add7a4d94b7da
lib/codeql/rust/elements/Visibility.qll aa69e8a3fd3b01f6fea0ae2d841a2adc51f4e46dcfc9f8f03c34fbe96f7e24e7 0d475e97e07b73c8da2b53555085b8309d8dc69c113bcb396fc901361dbfe6b8
lib/codeql/rust/elements/WhereClause.qll 4e28e11ceec835a093e469854a4b615e698309cdcbc39ed83810e2e4e7c5953f 4736baf689b87dd6669cb0ef9e27eb2c0f2776ce7f29d7693670bbcea06eb4e4
@@ -444,7 +443,6 @@ lib/codeql/rust/elements/internal/UseTreeConstructor.qll 3e6e834100fcc7249f8a20f
lib/codeql/rust/elements/internal/UseTreeListConstructor.qll 973577da5d7b58eb245f108bd1ae2fecc5645f2795421dedf7687b067a233003 f41e5e3ffcb2a387e5c37f56c0b271e8dc20428b6ff4c63e1ee42fcfa4e67d0a
lib/codeql/rust/elements/internal/UseTreeListImpl.qll a155fbfeb9792d511e1f3331d6756ccff6cca18c7ca4cac0faa7184cbb2e0dd4 0eeb1343b2284c02f9a0f0237267c77857a3a3a0f57df8277437313fde38d1b7
lib/codeql/rust/elements/internal/VariantConstructor.qll 0297d4a9a9b32448d6d6063d308c8d0e7a067d028b9ec97de10a1d659ee2cfdd 6a4bee28b340e97d06b262120fd39ab21717233a5bcc142ba542cb1b456eb952
lib/codeql/rust/elements/internal/VariantDefImpl.qll 5530c04b8906d2947ec9c79fc17a05a2557b01a521dd4ca8a60518b78d13867b 3971558e1c907d8d2ef174b10f911e61b898916055a8173788e6f0b98869b144
lib/codeql/rust/elements/internal/VariantListConstructor.qll c841fb345eb46ea3978a0ed7a689f8955efc9178044b140b74d98a6bcd0c926a c9e52d112abdba2b60013fa01a944c8770766bf7368f9878e6b13daaa4eed446
lib/codeql/rust/elements/internal/VariantListImpl.qll 4ceeda617696eb547c707589ba26103cf4c5c3d889955531be24cbf224e79dff 4258196c126fd2fad0e18068cb3d570a67034a8b26e2f13f8223d7f1a246d1a4
lib/codeql/rust/elements/internal/VisibilityConstructor.qll 1fd30663d87945f08d15cfaca54f586a658f26b7a98ea45ac73a35d36d4f65d0 6ddaf11742cc8fbbe03af2aa578394041ae077911e62d2fa6c885ae0543ba53a
@@ -580,7 +578,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 b58a01c0d2cca085a77ed7a98a0318cfc20450e48c64124f8a875ae45416ac25 92e9b6434629508868a5cf69c1236729409dcab4c4cda63af537d591a840127a
lib/codeql/rust/elements/internal/generated/ParentChild.qll ce0c542d50e1b9a25132d4085dc2495dacaf152b5b960772c08977bcad297502 7015c8371a39b312635fced11440da95ef7a4e50c1b7bc990cd64e2ea4fcf5ea
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
@@ -595,7 +593,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 f9370ca510d47144f7a22255341dc0f45407fcc8c22d42a74dbc423a68a36635 2301eb8a7b4d59c05413e07f95fe9ac2d0f42d3673d9b7e809bd49a6c1bee506
lib/codeql/rust/elements/internal/generated/Raw.qll e9071854089a126078be1f429bd518820eb5c80d8912ece4f77a34a865270747 3ba195ff7bce744e1290c14ff7330a9e096cd9f2850c9383f6baed8750765a76
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
@@ -612,7 +610,7 @@ lib/codeql/rust/elements/internal/generated/SourceFile.qll 4bc95c88b49868d1da1a8
lib/codeql/rust/elements/internal/generated/Static.qll 34a4cdb9f4a93414499a30aeeaad1b3388f2341c982af5688815c3b0a0e9c57b 3c8354336eff68d580b804600df9abf49ee5ee10ec076722089087820cefe731
lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd174b94d610f6ca0aec8e473cc051dad9f3db917 6ef7d2b5237c2dbdcacbf7d8b39109d4dc100229f2b28b5c9e3e4fbf673ba72b
lib/codeql/rust/elements/internal/generated/StmtList.qll 816aebf8f56e179f5f0ba03e80d257ee85459ea757392356a0af6dbd0cd9ef5e 6aa51cdcdc8d93427555fa93f0e84afdfbbd4ffc8b8d378ae4a22b5b6f94f48b
lib/codeql/rust/elements/internal/generated/Struct.qll ce40dd64d61f6ca0a8425019dd8368ca3d79d3a238d7afb9b3f1c86c2c95c1b5 214946f9cdbf134a181d98b02bb630504ad524541febc4c0b8490a9a6fab8750
lib/codeql/rust/elements/internal/generated/Struct.qll 999da1b46e40d6e03fd2338fea02429462877c329c5d1338618cbd886a81567e daa7ff7bd32c554462e0a1502d8319cb5e734e056d0564e06596e416e2b88e9d
lib/codeql/rust/elements/internal/generated/StructExpr.qll c6d861eaa0123b103fd9ffd2485423419ef9b7e0b4af9ed2a2090d8ec534f65d 50da99ee44771e1239ed8919f711991dd3ec98589fbe49b49b68c88074a07d74
lib/codeql/rust/elements/internal/generated/StructExprField.qll 6bdc52ed325fd014495410c619536079b8c404e2247bd2435aa7685dd56c3833 501a30650cf813176ff325a1553da6030f78d14be3f84fea6d38032f4262c6b0
lib/codeql/rust/elements/internal/generated/StructExprFieldList.qll 298d33442d1054922d2f97133a436ee559f1f35b7708523284d1f7eee7ebf443 7febe38a79fadf3dcb53fb8f8caf4c2780f5df55a1f8336269c7b674d53c6272
@@ -621,7 +619,7 @@ 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 ef45765a8e077bc0168ec226b3b84902acd8d774cd7af637e0b1b1b16ff1deaf 58dd7076517e5d680c6d8b0489530bd8e1d15d629a233f1742cca3f028d5ec81
lib/codeql/rust/elements/internal/generated/Synth.qll ebacd7cf6d7fb784cc77b75032608a622627e6f5e635aa70707df167ce3dc510 0e8ed9d5185afde22d263f3745e5029f23a1041690a80d0df916470823abdf43
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll bcc7f617b775ac0c7f04b1cc333ed7cc0bd91f1fabc8baa03c824d1df03f6076 bcc7f617b775ac0c7f04b1cc333ed7cc0bd91f1fabc8baa03c824d1df03f6076
lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b
lib/codeql/rust/elements/internal/generated/TokenTree.qll 1a3c4f5f30659738641abdd28cb793dab3cfde484196b59656fc0a2767e53511 de2ebb210c7759ef7a6f7ee9f805e1cac879221287281775fc80ba34a5492edf
@@ -643,14 +641,13 @@ lib/codeql/rust/elements/internal/generated/TypeRepr.qll 1e7b9d2ddab86e35dad7c31
lib/codeql/rust/elements/internal/generated/UnderscoreExpr.qll b3780c99c5d57159bef4c6bd2fd8ec44ebd1854c892c1ca776c740f71249e58c 2fd451cbf0a779e8042e439882e7d9cadc19d1e596df3bbb086d16f2596407c7
lib/codeql/rust/elements/internal/generated/Unextracted.qll 01563dfd769d6dc3c6b8a40d9a4dc0d99a3b6a0c6725c180d2bf4d7633929a17 a93ce90f8c03f4305e59de9c63f089fc7935298fc9a73d091d76933cf63e790c
lib/codeql/rust/elements/internal/generated/Unimplemented.qll a3eb304781991bff1227de1e4422b68bf91e7b344e4f6c9e874b324e82a35e60 6bc4839fda3850a56dc993b79ef9ba921008395c8432b184e14438fba4566f21
lib/codeql/rust/elements/internal/generated/Union.qll 328d714dba5b19f8bf94c17efee21c9ca9e693a3a568a2afed3dc0d03fcc3f50 9be7039ce837a3217e97f64c8667d78e4d69e19c8fe7c19198389acb83a15957
lib/codeql/rust/elements/internal/generated/Union.qll 456504e6a32991ba17ca65f97636f4dfb86c758c7f8509aaca1b0d0432231dfe c96068edfec3e0755a7726426a10996455ee9f0f2d678af258719f1943a3063e
lib/codeql/rust/elements/internal/generated/Use.qll cf95b5c4756b25bee74113207786e37464ffbc0fb5f776a04c651300afc53753 1fe26b3904db510184cb688cb0eeb0a8dbac7ac15e27a3b572d839743c738393
lib/codeql/rust/elements/internal/generated/UseBoundGenericArg.qll 69162794e871291545ea04f61259b2d000671a96f7ca129f7dd9ed6e984067c4 31de9ebc0634b38e2347e0608b4ea888892f1f2732a2892464078cd8a07b4ee8
lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll 2cc8ab0068b7bf44ca17a62b32a8dd1d89cd743532c8a96b262b164fd81b0c36 347e7709a0f5ace197beb6827f6cf04a31ff68ff2dff3707914c6b910658d00a
lib/codeql/rust/elements/internal/generated/UseTree.qll 3d7cbcc8ae76068b8f660c7d5b81b05595026043015cd6b4d42a60ed4c165811 b9f0bcf82feb31f31406e787670fee93e1aa0966bcc0e4cc285c342e88793e4e
lib/codeql/rust/elements/internal/generated/UseTreeList.qll 38efaa569b76ca79be047703279388e8f64583a126b98078fbbb6586e0c6eb56 1623a50fd2d3b1e4b85323ad73dd655172f7cbc658d3506aaa6b409e9ebe576e
lib/codeql/rust/elements/internal/generated/Variant.qll 56ef12f3be672a467b443f8e121ba075551c88fe42dd1428e6fa7fc5affb6ec2 fd66722fd401a47305e0792458528a6af2437c97355a6a624727cf6632721a89
lib/codeql/rust/elements/internal/generated/VariantDef.qll 3a579b21a13bdd6be8cddaa43a6aa0028a27c4e513caa003a6304e160fc53846 1ca1c41ed27660b17fbfb44b67aa8db087ea655f01bac29b57bb19fa259d07a2
lib/codeql/rust/elements/internal/generated/Variant.qll fa6909715133049b3dba4622e6262fa30c4a9478b6219ec4fd12e07c58750709 71fc2ddac97fc4c4e6b92a13ee217cccc81dffc7c12295b6bc97c56ad25a92cc
lib/codeql/rust/elements/internal/generated/VariantList.qll 3f70bfde982e5c5e8ee45da6ebe149286214f8d40377d5bc5e25df6ae8f3e2d1 22e5f428bf64fd3fd21c537bfa69a46089aad7c363d72c6566474fbe1d75859e
lib/codeql/rust/elements/internal/generated/Visibility.qll af1069733c0120fae8610b3ebbcdcebe4b4c9ce4c3e3d9be3f82a93541873625 266106bdff4d7041d017871d755c011e7dd396c5999803d9e46725b6a03a2458
lib/codeql/rust/elements/internal/generated/WhereClause.qll aec72d358689d99741c769b6e8e72b92c1458138c097ec2380e917aa68119ff0 81bb9d303bc0c8d2513dc7a2b8802ec15345b364e6c1e8b300f7860aac219c36
@@ -659,7 +656,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 34c5c8e6e25cce86f0617d552f788eb30ad8bb24fbc43723af962ce9cdc7d177 34c5c8e6e25cce86f0617d552f788eb30ad8bb24fbc43723af962ce9cdc7d177
lib/codeql/rust/elements.qll 6ebcf16ef214075bc43562c246c11f8b90c089ff1b5041ab1b39ab9f4a40e9b3 6ebcf16ef214075bc43562c246c11f8b90c089ff1b5041ab1b39ab9f4a40e9b3
test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f
test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52
test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684

3
rust/ql/.gitattributes generated vendored
View File

@@ -184,7 +184,6 @@
/lib/codeql/rust/elements/UseTree.qll linguist-generated
/lib/codeql/rust/elements/UseTreeList.qll linguist-generated
/lib/codeql/rust/elements/Variant.qll linguist-generated
/lib/codeql/rust/elements/VariantDef.qll linguist-generated
/lib/codeql/rust/elements/VariantList.qll linguist-generated
/lib/codeql/rust/elements/Visibility.qll linguist-generated
/lib/codeql/rust/elements/WhereClause.qll linguist-generated
@@ -446,7 +445,6 @@
/lib/codeql/rust/elements/internal/UseTreeListConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/UseTreeListImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/VariantConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/VariantDefImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/VariantListConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/VariantListImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/VisibilityConstructor.qll linguist-generated
@@ -652,7 +650,6 @@
/lib/codeql/rust/elements/internal/generated/UseTree.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/UseTreeList.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/Variant.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/VariantDef.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/VariantList.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/Visibility.qll linguist-generated
/lib/codeql/rust/elements/internal/generated/WhereClause.qll linguist-generated

View File

@@ -187,7 +187,6 @@ import codeql.rust.elements.UseBoundGenericArgs
import codeql.rust.elements.UseTree
import codeql.rust.elements.UseTreeList
import codeql.rust.elements.Variant
import codeql.rust.elements.VariantDef
import codeql.rust.elements.VariantList
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause

View File

@@ -9,7 +9,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.FieldList
import codeql.rust.elements.GenericParamList
import codeql.rust.elements.Name
import codeql.rust.elements.VariantDef
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause

View File

@@ -9,7 +9,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.GenericParamList
import codeql.rust.elements.Name
import codeql.rust.elements.StructFieldList
import codeql.rust.elements.VariantDef
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause

View File

@@ -9,7 +9,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.FieldList
import codeql.rust.elements.Name
import codeql.rust.elements.VariantDef
import codeql.rust.elements.Visibility
/**

View File

@@ -1,9 +0,0 @@
// generated by codegen, do not edit
/**
* This module provides the public class `VariantDef`.
*/
private import internal.VariantDefImpl
import codeql.rust.elements.AstNode
final class VariantDef = Impl::VariantDef;

View File

@@ -1,16 +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 `VariantDef`.
*
* INTERNAL: Do not use.
*/
private import codeql.rust.elements.internal.generated.VariantDef
/**
* INTERNAL: This module contains the customizable definition of `VariantDef` and should not
* be referenced directly.
*/
module Impl {
class VariantDef extends Generated::VariantDef { }
}

View File

@@ -1289,19 +1289,6 @@ private module Impl {
)
}
private Element getImmediateChildOfVariantDef(VariantDef 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)
)
)
}
private Element getImmediateChildOfVariantList(
VariantList e, int index, string partialPredicateCall
) {
@@ -3074,14 +3061,12 @@ private module Impl {
private Element getImmediateChildOfVariant(Variant e, int index, string partialPredicateCall) {
exists(
int b, int bVariantDef, int bAddressable, int n, int nAttr, int nDiscriminant, int nFieldList,
int nName, int nVisibility
int b, int bAddressable, int n, int nAttr, int nDiscriminant, int nFieldList, int nName,
int nVisibility
|
b = 0 and
bVariantDef =
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfVariantDef(e, i, _)) | i) and
bAddressable =
bVariantDef + 1 + max(int i | i = -1 or exists(getImmediateChildOfAddressable(e, i, _)) | i) and
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAddressable(e, i, _)) | i) and
n = bAddressable and
nAttr = n + 1 + max(int i | i = -1 or exists(e.getAttr(i)) | i) and
nDiscriminant = nAttr + 1 and
@@ -3091,9 +3076,7 @@ private module Impl {
(
none()
or
result = getImmediateChildOfVariantDef(e, index - b, partialPredicateCall)
or
result = getImmediateChildOfAddressable(e, index - bVariantDef, partialPredicateCall)
result = getImmediateChildOfAddressable(e, index - b, partialPredicateCall)
or
result = e.getAttr(index - n) and
partialPredicateCall = "Attr(" + (index - n).toString() + ")"
@@ -4020,14 +4003,12 @@ private module Impl {
private Element getImmediateChildOfStruct(Struct e, int index, string partialPredicateCall) {
exists(
int b, int bAdt, int bVariantDef, int n, int nAttr, int nFieldList, int nGenericParamList,
int nName, int nVisibility, int nWhereClause
int b, int bAdt, int n, int nAttr, int nFieldList, int nGenericParamList, int nName,
int nVisibility, int nWhereClause
|
b = 0 and
bAdt = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAdt(e, i, _)) | i) and
bVariantDef =
bAdt + 1 + max(int i | i = -1 or exists(getImmediateChildOfVariantDef(e, i, _)) | i) and
n = bVariantDef and
n = bAdt and
nAttr = n + 1 + max(int i | i = -1 or exists(e.getAttr(i)) | i) and
nFieldList = nAttr + 1 and
nGenericParamList = nFieldList + 1 and
@@ -4039,8 +4020,6 @@ private module Impl {
or
result = getImmediateChildOfAdt(e, index - b, partialPredicateCall)
or
result = getImmediateChildOfVariantDef(e, index - bAdt, partialPredicateCall)
or
result = e.getAttr(index - n) and
partialPredicateCall = "Attr(" + (index - n).toString() + ")"
or
@@ -4063,14 +4042,12 @@ private module Impl {
private Element getImmediateChildOfUnion(Union e, int index, string partialPredicateCall) {
exists(
int b, int bAdt, int bVariantDef, int n, int nAttr, int nGenericParamList, int nName,
int nStructFieldList, int nVisibility, int nWhereClause
int b, int bAdt, int n, int nAttr, int nGenericParamList, int nName, int nStructFieldList,
int nVisibility, int nWhereClause
|
b = 0 and
bAdt = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAdt(e, i, _)) | i) and
bVariantDef =
bAdt + 1 + max(int i | i = -1 or exists(getImmediateChildOfVariantDef(e, i, _)) | i) and
n = bVariantDef and
n = bAdt and
nAttr = n + 1 + max(int i | i = -1 or exists(e.getAttr(i)) | i) and
nGenericParamList = nAttr + 1 and
nName = nGenericParamList + 1 and
@@ -4082,8 +4059,6 @@ private module Impl {
or
result = getImmediateChildOfAdt(e, index - b, partialPredicateCall)
or
result = getImmediateChildOfVariantDef(e, index - bAdt, partialPredicateCall)
or
result = e.getAttr(index - n) and
partialPredicateCall = "Attr(" + (index - n).toString() + ")"
or

View File

@@ -1370,11 +1370,6 @@ module Raw {
UseTree getUseTree(int index) { use_tree_list_use_trees(this, index, result) }
}
/**
* INTERNAL: Do not use.
*/
class VariantDef extends @variant_def, AstNode { }
/**
* INTERNAL: Do not use.
* A list of variants in an enum declaration.
@@ -3523,7 +3518,7 @@ module Raw {
* // ^ ^^^^^^ ^^^^^^^^^^^^
* ```
*/
class Variant extends @variant, VariantDef, Addressable {
class Variant extends @variant, Addressable {
override string toString() { result = "Variant" }
/**
@@ -4607,7 +4602,7 @@ module Raw {
* }
* ```
*/
class Struct extends @struct, Adt, VariantDef {
class Struct extends @struct, Adt {
override string toString() { result = "Struct" }
/**
@@ -4650,7 +4645,7 @@ module Raw {
* union U { f1: u32, f2: f32 }
* ```
*/
class Union extends @union, Adt, VariantDef {
class Union extends @union, Adt {
override string toString() { result = "Union" }
/**

View File

@@ -11,7 +11,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.FieldList
import codeql.rust.elements.GenericParamList
import codeql.rust.elements.Name
import codeql.rust.elements.internal.VariantDefImpl::Impl as VariantDefImpl
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause
@@ -31,7 +30,7 @@ module Generated {
* INTERNAL: Do not reference the `Generated::Struct` class directly.
* Use the subclass `Struct`, where the following predicates are available.
*/
class Struct extends Synth::TStruct, AdtImpl::Adt, VariantDefImpl::VariantDef {
class Struct extends Synth::TStruct, AdtImpl::Adt {
override string getAPrimaryQlClass() { result = "Struct" }
/**

View File

@@ -727,8 +727,8 @@ module Synth {
TReturnTypeSyntax or TSourceFile or TStmt or TStmtList or TStructExprField or
TStructExprFieldList or TStructField or TStructPatField or TStructPatFieldList or TToken or
TTokenTree or TTupleField or TTypeBound or TTypeBoundList or TTypeRepr or
TUseBoundGenericArg or TUseBoundGenericArgs or TUseTree or TUseTreeList or TVariantDef or
TVariantList or TVisibility or TWhereClause or TWherePred;
TUseBoundGenericArg or TUseBoundGenericArgs or TUseTree or TUseTreeList or TVariantList or
TVisibility or TWhereClause or TWherePred;
/**
* INTERNAL: Do not use.
@@ -850,11 +850,6 @@ module Synth {
*/
class TUseBoundGenericArg = TLifetime or TNameRef;
/**
* INTERNAL: Do not use.
*/
class TVariantDef = TStruct or TUnion or TVariant;
/**
* INTERNAL: Do not use.
* Converts a raw element to a synthesized `TAbi`, if possible.
@@ -2056,8 +2051,6 @@ module Synth {
or
result = convertUseTreeListFromRaw(e)
or
result = convertVariantDefFromRaw(e)
or
result = convertVariantListFromRaw(e)
or
result = convertVisibilityFromRaw(e)
@@ -2453,18 +2446,6 @@ module Synth {
result = convertNameRefFromRaw(e)
}
/**
* INTERNAL: Do not use.
* Converts a raw DB element to a synthesized `TVariantDef`, if possible.
*/
TVariantDef convertVariantDefFromRaw(Raw::Element e) {
result = convertStructFromRaw(e)
or
result = convertUnionFromRaw(e)
or
result = convertVariantFromRaw(e)
}
/**
* INTERNAL: Do not use.
* Converts a synthesized `TAbi` to a raw DB element, if possible.
@@ -3664,8 +3645,6 @@ module Synth {
or
result = convertUseTreeListToRaw(e)
or
result = convertVariantDefToRaw(e)
or
result = convertVariantListToRaw(e)
or
result = convertVisibilityToRaw(e)
@@ -4060,16 +4039,4 @@ module Synth {
or
result = convertNameRefToRaw(e)
}
/**
* INTERNAL: Do not use.
* Converts a synthesized `TVariantDef` to a raw DB element, if possible.
*/
Raw::Element convertVariantDefToRaw(TVariantDef e) {
result = convertStructToRaw(e)
or
result = convertUnionToRaw(e)
or
result = convertVariantToRaw(e)
}
}

View File

@@ -11,7 +11,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.GenericParamList
import codeql.rust.elements.Name
import codeql.rust.elements.StructFieldList
import codeql.rust.elements.internal.VariantDefImpl::Impl as VariantDefImpl
import codeql.rust.elements.Visibility
import codeql.rust.elements.WhereClause
@@ -30,7 +29,7 @@ module Generated {
* INTERNAL: Do not reference the `Generated::Union` class directly.
* Use the subclass `Union`, where the following predicates are available.
*/
class Union extends Synth::TUnion, AdtImpl::Adt, VariantDefImpl::VariantDef {
class Union extends Synth::TUnion, AdtImpl::Adt {
override string getAPrimaryQlClass() { result = "Union" }
/**

View File

@@ -11,7 +11,6 @@ import codeql.rust.elements.Attr
import codeql.rust.elements.Expr
import codeql.rust.elements.FieldList
import codeql.rust.elements.Name
import codeql.rust.elements.internal.VariantDefImpl::Impl as VariantDefImpl
import codeql.rust.elements.Visibility
/**
@@ -30,7 +29,7 @@ module Generated {
* INTERNAL: Do not reference the `Generated::Variant` class directly.
* Use the subclass `Variant`, where the following predicates are available.
*/
class Variant extends Synth::TVariant, VariantDefImpl::VariantDef, AddressableImpl::Addressable {
class Variant extends Synth::TVariant, AddressableImpl::Addressable {
override string getAPrimaryQlClass() { result = "Variant" }
/**

View File

@@ -1,21 +0,0 @@
// generated by codegen, do not edit
/**
* This module provides the generated definition of `VariantDef`.
* INTERNAL: Do not import directly.
*/
private import codeql.rust.elements.internal.generated.Synth
private import codeql.rust.elements.internal.generated.Raw
import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `VariantDef` and should not
* be referenced directly.
*/
module Generated {
/**
* INTERNAL: Do not reference the `Generated::VariantDef` class directly.
* Use the subclass `VariantDef`, where the following predicates are available.
*/
class VariantDef extends Synth::TVariantDef, AstNodeImpl::AstNode { }
}

View File

@@ -215,7 +215,6 @@ named_crates(
| @use_bound_generic_args
| @use_tree
| @use_tree_list
| @variant_def
| @variant_list
| @visibility
| @where_clause
@@ -1161,12 +1160,6 @@ use_tree_list_use_trees(
int use_tree: @use_tree ref
);
@variant_def =
@struct
| @union
| @variant
;
variant_lists(
unique int id: @variant_list
);

View File

@@ -2062,7 +2062,7 @@ class _:
"""
@annotate(Variant, add_bases=(Addressable,))
@annotate(Variant, replace_bases={AstNode: Addressable})
class _:
"""
A variant in an enum declaration.

9
rust/schema/ast.py generated
View File

@@ -41,9 +41,6 @@ class TypeRepr(AstNode, ):
class UseBoundGenericArg(AstNode, ):
pass
class VariantDef(AstNode, ):
pass
class Item(Stmt, ):
pass
@@ -628,7 +625,7 @@ class StmtList(AstNode, ):
statements: list["Stmt"] | child
tail_expr: optional["Expr"] | child
class Struct(Adt, Item, VariantDef, ):
class Struct(Adt, Item, ):
attrs: list["Attr"] | child
field_list: optional["FieldList"] | child
generic_param_list: optional["GenericParamList"] | child
@@ -716,7 +713,7 @@ class TypeParam(GenericParam, ):
class UnderscoreExpr(Expr, ):
attrs: list["Attr"] | child
class Union(Adt, Item, VariantDef, ):
class Union(Adt, Item, ):
attrs: list["Attr"] | child
generic_param_list: optional["GenericParamList"] | child
name: optional["Name"] | child
@@ -741,7 +738,7 @@ class UseTree(AstNode, ):
class UseTreeList(AstNode, ):
use_trees: list["UseTree"] | child
class Variant(VariantDef, ):
class Variant(AstNode, ):
attrs: list["Attr"] | child
discriminant: optional["Expr"] | child
field_list: optional["FieldList"] | child