From 1c89b5185a0d9b4b05d5f66be158eb08256457ad Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 27 Mar 2025 15:28:32 +0100 Subject: [PATCH] Rust: rename `RecordFieldList` to `StructFieldList` --- rust/ast-generator/src/main.rs | 8 +- rust/extractor/src/generated/.generated.list | 2 +- rust/extractor/src/generated/top.rs | 122 +++++++++--------- rust/extractor/src/translate/generated.rs | 6 +- rust/ql/.generated.list | 26 ++-- rust/ql/.gitattributes | 12 +- rust/ql/lib/codeql/rust/elements.qll | 2 +- ...ecordFieldList.qll => StructFieldList.qll} | 6 +- rust/ql/lib/codeql/rust/elements/Union.qll | 2 +- ...tor.qll => StructFieldListConstructor.qll} | 6 +- ...ldListImpl.qll => StructFieldListImpl.qll} | 8 +- .../internal/generated/ParentChild.qll | 42 +++--- .../rust/elements/internal/generated/Raw.qll | 36 +++--- ...ecordFieldList.qll => StructFieldList.qll} | 22 ++-- .../elements/internal/generated/Synth.qll | 38 +++--- .../internal/generated/SynthConstructors.qll | 2 +- .../elements/internal/generated/Union.qll | 6 +- rust/ql/lib/rust.dbscheme | 28 ++-- .../generated/.generated_tests.list | 2 +- .../extractor-tests/generated/.gitattributes | 2 +- .../generated/Path/Path_getPart.expected | 25 ---- .../RecordFieldList/RecordFieldList.expected | 0 .../RecordFieldList_getField.expected | 0 .../StructFieldList.ql} | 2 +- .../StructFieldList_getField.ql} | 2 +- .../gen_struct_field_list.rs} | 2 +- rust/schema/annotations.py | 3 +- rust/schema/ast.py | 4 +- 28 files changed, 195 insertions(+), 221 deletions(-) rename rust/ql/lib/codeql/rust/elements/{RecordFieldList.qll => StructFieldList.qll} (57%) rename rust/ql/lib/codeql/rust/elements/internal/{RecordFieldListConstructor.qll => StructFieldListConstructor.qll} (64%) rename rust/ql/lib/codeql/rust/elements/internal/{RecordFieldListImpl.qll => StructFieldListImpl.qll} (67%) rename rust/ql/lib/codeql/rust/elements/internal/generated/{RecordFieldList.qll => StructFieldList.qll} (59%) delete mode 100644 rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.expected delete mode 100644 rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.expected rename rust/ql/test/extractor-tests/generated/{RecordFieldList/RecordFieldList.ql => StructFieldList/StructFieldList.ql} (83%) rename rust/ql/test/extractor-tests/generated/{RecordFieldList/RecordFieldList_getField.ql => StructFieldList/StructFieldList_getField.ql} (82%) rename rust/ql/test/extractor-tests/generated/{RecordFieldList/gen_record_field_list.rs => StructFieldList/gen_struct_field_list.rs} (75%) diff --git a/rust/ast-generator/src/main.rs b/rust/ast-generator/src/main.rs index 712c9864f1e..86c2859ee96 100644 --- a/rust/ast-generator/src/main.rs +++ b/rust/ast-generator/src/main.rs @@ -23,9 +23,7 @@ fn class_name(type_name: &str) -> String { "Literal" => "LiteralExpr".to_owned(), "ArrayExpr" => "ArrayExprInternal".to_owned(), "AsmOptions" => "AsmOptionsList".to_owned(), - _ if type_name.starts_with("Record") && type_name != "RecordFieldList" => { - type_name.replacen("Record", "Struct", 1) - } + _ if type_name.starts_with("Record") => type_name.replacen("Record", "Struct", 1), _ if type_name.ends_with("Type") => format!("{}Repr", type_name), _ => type_name.to_owned(), } @@ -108,8 +106,8 @@ fn node_src_to_schema_class( super_types: &BTreeMap>, ) -> SchemaClass { let name = class_name(&node.name); - let fields = get_fields(node) - .iter() + let fields = get_fields(node) + .iter() .map(|f| { let (ty, child) = match &f.ty { FieldType::String => ("optional[string]".to_string(), false), diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index db7b3cdf235..56c8762bcdd 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs 62e42bde2f16907f6d7303526c4f058a253df8b31fb26cb71edab0bc75fc2b55 62e42bde2f16907f6d7303526c4f058a253df8b31fb26cb71edab0bc75fc2b55 +top.rs 50fa90457102611ea7892153e4beb7512d3704a1c78d9bb8e75eb96b98b31740 50fa90457102611ea7892153e4beb7512d3704a1c78d9bb8e75eb96b98b31740 diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index 34283604506..b65cec68264 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -7510,65 +7510,6 @@ impl From> for trap::Label { } } -#[derive(Debug)] -pub struct RecordFieldList { - pub id: trap::TrapId, - pub fields: Vec>, -} - -impl trap::TrapEntry for RecordFieldList { - fn extract_id(&mut self) -> trap::TrapId { - std::mem::replace(&mut self.id, trap::TrapId::Star) - } - - fn emit(self, id: trap::Label, out: &mut trap::Writer) { - out.add_tuple("record_field_lists", vec![id.into()]); - for (i, v) in self.fields.into_iter().enumerate() { - out.add_tuple("record_field_list_fields", vec![id.into(), i.into(), v.into()]); - } - } -} - -impl trap::TrapClass for RecordFieldList { - fn class_name() -> &'static str { "RecordFieldList" } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme RecordFieldList is a subclass of FieldList - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme RecordFieldList is a subclass of AstNode - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme RecordFieldList is a subclass of Locatable - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - -impl From> for trap::Label { - fn from(value: trap::Label) -> Self { - // SAFETY: this is safe because in the dbscheme RecordFieldList is a subclass of Element - unsafe { - Self::from_untyped(value.as_untyped()) - } - } -} - #[derive(Debug)] pub struct RefExpr { pub id: trap::TrapId, @@ -8093,6 +8034,65 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct StructFieldList { + pub id: trap::TrapId, + pub fields: Vec>, +} + +impl trap::TrapEntry for StructFieldList { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("struct_field_lists", vec![id.into()]); + for (i, v) in self.fields.into_iter().enumerate() { + out.add_tuple("struct_field_list_fields", vec![id.into(), i.into(), v.into()]); + } + } +} + +impl trap::TrapClass for StructFieldList { + fn class_name() -> &'static str { "StructFieldList" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme StructFieldList is a subclass of FieldList + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme StructFieldList is a subclass of AstNode + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme StructFieldList is a subclass of Locatable + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme StructFieldList is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct TryExpr { pub id: trap::TrapId, @@ -10510,7 +10510,7 @@ impl trap::TrapEntry for Struct { out.add_tuple("struct_attrs", vec![id.into(), i.into(), v.into()]); } if let Some(v) = self.field_list { - out.add_tuple("struct_field_lists", vec![id.into(), v.into()]); + out.add_tuple("struct_field_lists_", vec![id.into(), v.into()]); } if let Some(v) = self.generic_param_list { out.add_tuple("struct_generic_param_lists", vec![id.into(), v.into()]); @@ -11172,7 +11172,7 @@ pub struct Union { pub attrs: Vec>, pub generic_param_list: Option>, pub name: Option>, - pub struct_field_list: Option>, + pub struct_field_list: Option>, pub visibility: Option>, pub where_clause: Option>, } diff --git a/rust/extractor/src/translate/generated.rs b/rust/extractor/src/translate/generated.rs index 08bffc15a25..9f8e52e0a45 100644 --- a/rust/extractor/src/translate/generated.rs +++ b/rust/extractor/src/translate/generated.rs @@ -1867,14 +1867,14 @@ impl Translator<'_> { Some(label) } - pub(crate) fn emit_record_field_list(&mut self, node: ast::RecordFieldList) -> Option> { + pub(crate) fn emit_record_field_list(&mut self, node: ast::RecordFieldList) -> Option> { let fields = node.fields().filter_map(|x| self.emit_record_field(x)).collect(); - let label = self.trap.emit(generated::RecordFieldList { + let label = self.trap.emit(generated::StructFieldList { id: TrapId::Star, fields, }); self.emit_location(label, &node); - emit_detached!(RecordFieldList, self, node, label); + emit_detached!(StructFieldList, self, node, label); self.emit_tokens(&node, label.into(), node.syntax().children_with_tokens()); Some(label) } diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index b21354642e0..61529b8b6cc 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -129,7 +129,6 @@ lib/codeql/rust/elements/PrefixExpr.qll 107e7bd111b637fd6d76026062d54c2780760b96 lib/codeql/rust/elements/PtrTypeRepr.qll 2eb2b6f6e5858a10fa1b10d85400ed6db781339bf152162a2fd33213c1ce083b bb99c2da04c80d3c14f47cda1feb9719af801d209becb3d9b20746a2a3b8fc02 lib/codeql/rust/elements/RangeExpr.qll 43785bea08a6a537010db1138e68ae92eed7e481744188dfb3bad119425ff740 5e81cfbdf4617372a73d662a248a0b380c1f40988a5daefb7f00057cae10d3d4 lib/codeql/rust/elements/RangePat.qll b5c0cfc84b8a767d58593fa7102dcf4be3ff8b02ba2f5360c384fa8af4aac830 cc28399dd99630bfa50c54e641a3833abe6643137d010a0a25749d1d70e8c911 -lib/codeql/rust/elements/RecordFieldList.qll e067a0111ef4eb442236a265b6e492ffe17886a18650324a52cc0f9fe98aae50 816d98a3c6b387b5b40cbe221f53f676ea5107e1ddbea628f02b5f9e3b5ddf0c lib/codeql/rust/elements/RefExpr.qll 91a0d3a86002289dc01ffbe8daca13e34e92e522fbb508241a9d51faf1d4a9d2 b6e63d8e6f8956d2501706d129a6f5f24b410ea6539839757c76ba950c410582 lib/codeql/rust/elements/RefPat.qll fe076bdccb454111b38f360837d180274ba8a003b4cffe910b5197cd74188089 2604c8bb2b0b47091d5fc4aa276de46fe3561e346bd98f291c3783cef402ba06 lib/codeql/rust/elements/RefTypeRepr.qll ac41d8b4132f273d65873ea3c59631bc1718b3266ae08075346e6cb1bfe2f17c b7e34851d37008806d4519105a5e3405dda07b999294c6656a0c447ac1635b2a @@ -151,6 +150,7 @@ lib/codeql/rust/elements/StructExpr.qll af9059c01a97755e94f1a8b60c66d9c7663ed070 lib/codeql/rust/elements/StructExprField.qll 3eb9f17ecd1ad38679689eb4ecc169d3a0b5b7a3fc597ae5a957a7aea2f74e4f 8fcd26f266f203004899a60447ba16e7eae4e3a654fbec7f54e26857730ede93 lib/codeql/rust/elements/StructExprFieldList.qll 6f77363f93ce4e55d91cc93cef4451b93b9714a4aec91c5416d488191340a079 4da6b070125150f2d28028e29095df93e0bbdb5bc4bd4c672e060492f36367c4 lib/codeql/rust/elements/StructField.qll cd6ebb8927eb2614aa1241f03702b1db06e6c581acc368966c2809adb62a3cff 792a2040847a5e6ef3efcc33eeffa9df0bf720a5c39204ac5533bf85b2f9e9bd +lib/codeql/rust/elements/StructFieldList.qll 384a8dab7b1bb70151bfc8cb378ebffbea8e5112f92cf26f1c6f2fd0eb9d2e35 6ee3cc6952a134f6f4d6988700f45eb51d23d19f3c08d63a868d9ad8e54be12a lib/codeql/rust/elements/StructPat.qll cdd1e8417d1c8cb3d14356390d71eb2916a295d95f240f48d4c2fb21bf4398cb 69c3456a13ef3e978a9a145b9e232198a30360f771feb41a917e507410611f6c lib/codeql/rust/elements/StructPatField.qll 856aa7d7c6d9b3c17514cbd12a36164e6e9d5923245770d0af3afb759a15204a 1bd1a294d84ad5e4da24e03b4882b215c50473875014859dbf26555d1f4ec2d5 lib/codeql/rust/elements/StructPatFieldList.qll e32d5adc36dc9800454920c784098680b22d3c1c31754bbb65db1a226105b3b0 0ecfd969411a56ebf04f6a4950219b9128b66151c115fcd734d89687f3f5e524 @@ -174,7 +174,7 @@ 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 e8e05763f7004c6a03d0bc4bcc153e12cc9150bb019d165b9ee84657a4c2dfe3 0db02f200220e0af54bf2ec21ccea1d8eba4f9225521d19ca8701786a807b552 +lib/codeql/rust/elements/Union.qll 9539358aa47fbe99c0e63d154bf899427bb6d935f3acd00600c11c6396b18565 520612bafb6912001138562a19a691f8b9ca377d5c4bf7aedf49f1b0938eb955 lib/codeql/rust/elements/Use.qll e27d30ece0456a73732dfd867dfc5abdf48a50de56e7dafcab444b688610af72 7efe59c04dd2f10b4a25b8a17beb51362be0a93d73e5a9e1251cf133cf1227c3 lib/codeql/rust/elements/UseBoundGenericArg.qll f16903f8fff676d3700eaad5490804624391141472ecc3166ccb1f70c794c120 5efda98088d096b42f53ceccae78c05f15c6953525b514d849681cb2cf65b147 lib/codeql/rust/elements/UseBoundGenericArgs.qll 6d3b8bf8e59ef6d10d2f58c6d2eca61b113a524174f62d1f56b724c4179fda04 8fad6ed9e5bf159a2db01e7eb960cc55b940f7b92c4bb5c967120068e4fec80a @@ -367,8 +367,6 @@ lib/codeql/rust/elements/internal/PtrTypeReprImpl.qll 82bb14c7c5764aa6c829d463ed lib/codeql/rust/elements/internal/RangeExprConstructor.qll a0aa90a1c38c5deea56475399016afae2a00a858b961fbbab8ddeb3bc6a08103 0ddf1bcf28aafc56d7334e6138fb268f9b36a429e4cbdd982cd8384e0644076b lib/codeql/rust/elements/internal/RangePatConstructor.qll fe4345cb41d970ab64196ca37eccb26e5b9cf85fab4253cacfd2b31de03bd070 1d09d5ec8203d76aed2dfb7e7f14c0c07d6559c8f589e11860fff8a2c682c1a6 lib/codeql/rust/elements/internal/RangePatImpl.qll ef11ab2c002896036553231741a7cf896fafa09e22e920e15661b9cbe4393cae 24ac2dcce3055a77f3a5e0b38cf13aebefd2eeaefa53674ff144a6225634ac0d -lib/codeql/rust/elements/internal/RecordFieldListConstructor.qll 9f1d916f3784092dcbff7224451c8f4f0daf6f8293a466b0a30ec9b92cd41358 8aafe377714a134287362c4b96439c1c6baa5a31c2c36a544bd5f73e9213477a -lib/codeql/rust/elements/internal/RecordFieldListImpl.qll 9446404c45f0dc4473a63eab64669d9a2d25ac67ae230960dd0edd749ba2b9f0 7548d4c7b07c974035da36d83579a0b8a538e088fe834aec50d32591be9766e1 lib/codeql/rust/elements/internal/RefExprConstructor.qll 9ad08c0f3d980a56a2af8857cb84db589941d20ab3ae5c8ece004ccaccaaf950 4cac3ace31b7ed77a72e989fce9cdbae2247f03c28a3f0c50d67385d02c7f193 lib/codeql/rust/elements/internal/RefPatConstructor.qll d8b88c2c468b08072f6f853306eb61eb88ee1e6c5cfb63958f115a64a9715bb3 0c1d6a8af6a66912698acce47e89d4e3239e67f89c228a36a141f9c685c36394 lib/codeql/rust/elements/internal/RefTypeReprConstructor.qll 8e7012b456ebf1cc7a2c50892c0fffd51f0d5d83e417e1d4cabd4d409e3dddc0 4f3c6368bcea5e8c3f0b83591336f01331dc6dabf9c1e8b67de0fc4d640f65f0 @@ -400,6 +398,8 @@ lib/codeql/rust/elements/internal/StructExprFieldConstructor.qll 6766d7941963904 lib/codeql/rust/elements/internal/StructExprFieldListConstructor.qll fda308db380c608d5df1dc48b30bccb32bce31eabff807d0e623b812000a2a2c 84fb7cb24bf61aec602956f867c722d10907b3edfd4dd6946f1349cf6240b4f1 lib/codeql/rust/elements/internal/StructExprFieldListImpl.qll 73aa0a61c2fe5c3cb345b98c1d0bc60474734068ff405061c87406f252ef29ba 66c75d1a449dd9c11db36492f24de13baa98f99d41284ef69298e7b9beb470dc lib/codeql/rust/elements/internal/StructFieldConstructor.qll 07c7ca8cd5666a0d022573e8d4f9a2e8b237c629c729b9563d783f5e34f232ce 82de0f502272ebdc4f3b15aa314611dd20e82f78ad629e79b5459fdcacf44f9e +lib/codeql/rust/elements/internal/StructFieldListConstructor.qll c4ed03a31f08e63f77411e443635ae20caa82c0b4ce27a8ca0011ddf85602874 9f6c12949ea06f932c141fed8e6f7d2d93e0d3305dfc60db163feb34ada90917 +lib/codeql/rust/elements/internal/StructFieldListImpl.qll 93c2b214e315c2fe6a85235fb05c0bfdcd06a03a2246adf551d8c015d28ab9f2 2f80b04deb63785e5766cf78989bb37d69cc9a0372cce737bd544962fc40bb18 lib/codeql/rust/elements/internal/StructPatConstructor.qll 4289608942b7ca73d5a7760232ef23cd9a1baf63cc1d0dc64e7dfea146194fe4 189aec3a5c376addd75b17a79729837fb4185de4abf45008df3956a2d9cdadb8 lib/codeql/rust/elements/internal/StructPatFieldConstructor.qll 780294d2bbad2062a7c66a0dca370e12551d94dd97540936864cf26cbafd7d0e aa9c717f3ec13927be9c598af06ae0b785fb6645a409acf4eaedf07b0b765079 lib/codeql/rust/elements/internal/StructPatFieldListConstructor.qll f67090a3738f2dc89874325c1ec2d4b4d975a5fdef505f0008a016f33868bebb 1c10b9ae42ed78758f59902c44c3eeebb0bd862c04783f83aa4db5653f12bf0e @@ -579,7 +579,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60 lib/codeql/rust/elements/internal/generated/ParenPat.qll 4f168ef5d5bb87a903251cc31b2e44a759b099ec69c90af31783fbb15778c940 0e34f94a45a13396fd57d94c245dc64d1adde2ab0e22b56946f7e94c04e297fc lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 40ab5c592e7699c621787793743e33988de71ff42ca27599f5ab3ddb70e3f7d8 12c0a6eed2202ee3e892f61da3b3ce77ac3190854cdf3097e8d2be98aa3cb91d -lib/codeql/rust/elements/internal/generated/ParentChild.qll c069ec5489ac1c13222fb2ff55d693005359820b99fe5a55177602b08fd9e2be e16b731291fa166ae99f4f4b22324998cc9fb769106936b3dff26d47cd0d223f +lib/codeql/rust/elements/internal/generated/ParentChild.qll 3a9dd595f34bc5841d21f91882b01f2882b18b70e8c718e81d491b4b33bad82b fb40a76aff319ec5f7dae9a05da083b337887b0918b3702641b39342213ddf6f lib/codeql/rust/elements/internal/generated/ParenthesizedArgList.qll c5fa328ea60d3a3333d7c7bb3480969c1873166c7ac8ebb9d0afad7a8099d1a8 2dbbb6200d96f7db7dea4a55bdeab8d67b14d39a43e0bd54ada019f7e466f163 lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 lib/codeql/rust/elements/internal/generated/Path.qll 9b12afb46fc5a9ad3a811b05472621bbecccb900c47504feb7f29d96b28421ca bcacbffc36fb3e0c9b26523b5963af0ffa9fd6b19f00a2a31bdb2316071546bd @@ -594,8 +594,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 51d1e9e683fc79dddbff lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9 -lib/codeql/rust/elements/internal/generated/Raw.qll dbe82a218ef545a99ea575a988eba077f5fc312c2fe6abf4e22081d484692560 3651395ed9a387daa1217c033004c92909d4e1d81cf93668060e8cd5f6302bf0 -lib/codeql/rust/elements/internal/generated/RecordFieldList.qll 4a23b0d75a90671197246dbbb4e62706c180074abb8ebe60a96df11c47a917a2 09be127977651a24010b090d9681714d83ebd461098f9cf0e0d1973cafb1c782 +lib/codeql/rust/elements/internal/generated/Raw.qll 4a73b51a4e7c995c42d68cf64ff8aff351d898f306ceedf70a009bf86bbf7d84 f7ccdbc4841d87dae7bbf6f58556901176c930a9a797a59dbc04269ca3b516ce lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 3d8c0bd296d33b91a81633f697a43269a6538df06d277262d3990d3f6880ef57 13680f39e89bcd8299c218aba396f3deec804597e6f7cb7d4a7e7c748b6faa77 @@ -617,11 +616,12 @@ lib/codeql/rust/elements/internal/generated/StructExpr.qll c6d861eaa0123b103fd9f lib/codeql/rust/elements/internal/generated/StructExprField.qll 6bdc52ed325fd014495410c619536079b8c404e2247bd2435aa7685dd56c3833 501a30650cf813176ff325a1553da6030f78d14be3f84fea6d38032f4262c6b0 lib/codeql/rust/elements/internal/generated/StructExprFieldList.qll b19b6869a6828c7a39a7312539eb29fd21734ff47dfd02281de74194fd565d7e 3cadebffaa937e367a5e1da6741e4e9e5c9a9c7f7555e28cfa70639afd19db7c lib/codeql/rust/elements/internal/generated/StructField.qll bcbaa836d9b9889c87ba57c6ea733cdc85425168d9df05aca5cfd051851d8cd1 a17034896bc7fa25c84e40b460109d122ca1e85632cf8ac620f66f3eb0ff81b5 +lib/codeql/rust/elements/internal/generated/StructFieldList.qll 8911a44217d091b05f488da4e012cb026aed0630caa84ca301bbcbd054c9a28c a433383fea7e42f20750aa43e6070c23baad761a4264be99257541c1004ead31 lib/codeql/rust/elements/internal/generated/StructPat.qll c76fa005c2fd0448a8803233e1e8818c4123301eb66ac5cf69d0b9eaafc61e98 6e0dffccdce24bca20e87d5ba0f0995c9a1ae8983283e71e7dbfcf6fffc67a58 lib/codeql/rust/elements/internal/generated/StructPatField.qll 5b5c7302dbc4a902ca8e69ff31875c867e295a16a626ba3cef29cd0aa248f179 4e192a0df79947f5cb0d47fdbbba7986137a6a40a1be92ae119873e2fad67edf lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll e34c003e660ba059ba81bb73b3c8d21bd2a47d0251569c46277dc9ccf2947b0a 85113f35ba5f6b9e01ad4072246a4de1ac0e4528348ac564868e96f34a3e09e2 -lib/codeql/rust/elements/internal/generated/Synth.qll ae5702e53d576dccdffa398e2142a696361e70f2fca40c10a3c976f3e4ff1fff ab4d20c73b4668ea0e1103a8a54ba7f39030795df7b9ee010109f15d50999bd2 -lib/codeql/rust/elements/internal/generated/SynthConstructors.qll e4298dc8e52d56672d91df093cc858105b5072be4ae5bed95105e0ffd80e7233 e4298dc8e52d56672d91df093cc858105b5072be4ae5bed95105e0ffd80e7233 +lib/codeql/rust/elements/internal/generated/Synth.qll 409b9ae5c78f47f271eb05a9eb7043df6cd6ca35ce381843714667f1f2dfdf9a aa4d5082abccd7cd47a493447eea79b0a3ff81439c333f05087030e76f0fa8e5 +lib/codeql/rust/elements/internal/generated/SynthConstructors.qll fe007cf6eab5f0cf89ea1ea91e1f9b23e0fcf0f2872f52ef352584503f90aa29 fe007cf6eab5f0cf89ea1ea91e1f9b23e0fcf0f2872f52ef352584503f90aa29 lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e @@ -642,7 +642,7 @@ 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 d91aa6cd02bce27a28d1fba87fe80be3a33d1e560d3dd447c3035ff2738a0821 22343e17c08e53d237e834fb9fb9c97fbdebc95bfda4bab80a0c3274edebf7fd +lib/codeql/rust/elements/internal/generated/Union.qll 83b1ed06279e1f6baa1c2618e09f58a15b83c300837d0da3faf3b8f63cf15aa0 e9d877bb75231a36b3d32cf92a598593eeaf4f5100ac1fa172781bc5b9514349 lib/codeql/rust/elements/internal/generated/Use.qll d42ccf3516a9f79ae8766f93ad5f09d3cdcd7b96844d4c9de64189b56018a7b4 70a9553a8f71f6cbfdd0f59a4b42292d13177613ceb0542436436e0ac2e1f8ee lib/codeql/rust/elements/internal/generated/UseBoundGenericArg.qll 69162794e871291545ea04f61259b2d000671a96f7ca129f7dd9ed6e984067c4 31de9ebc0634b38e2347e0608b4ea888892f1f2732a2892464078cd8a07b4ee8 lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll 05dca015d922935887856f3a0d577dbcf5b8f82bc384bdc9c8c2d0106419716d fcee14ed4f7a639b1ba721bd390fc0cdbfdc7c759e3092aa462d466fe390de45 @@ -658,7 +658,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 7edf1f23fbf953a2baabcd lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll 5fbfcd83eeb4467d0a721e5b4faf61d0b31316d923e6a6f61d1724023ad91cae 5fbfcd83eeb4467d0a721e5b4faf61d0b31316d923e6a6f61d1724023ad91cae +lib/codeql/rust/elements.qll 05fb894d008a9c0478d03fb1639ffc57516b67d9de7f7309331279512f630b4a 05fb894d008a9c0478d03fb1639ffc57516b67d9de7f7309331279512f630b4a 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 @@ -1023,8 +1023,6 @@ test/extractor-tests/generated/RangePat/RangePat.ql 97314b9a5543a7471d722ae188a6 test/extractor-tests/generated/RangePat/RangePat_getEnd.ql 723eb5030ec52d3aa3650a3e2de6cc0195a0030630239b972235963320e0d808 2df3b1a6197c3abd43dc743fd09cbf55165e3191f2b49336777594541e5da96a test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql 564216b2342f56dc8c1aed6306f57b6dafb33de9e3ba337a840a8c077ce95933 2a76ec7a59bada29733a1515bc1ea8bedd37429d1694ca63c7a8fbf94098a4c7 test/extractor-tests/generated/RangePat/RangePat_getStart.ql ad2066efa32fced2dd107031f2a9b9635c3c892e874870a4320522bae9309aa4 b4a8c57a838074e186b823938d1a9372153c193da6c839b5f242ca25c679e83f -test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql 586bccfa550243177d9fdfd6900a473f51a76ed360b537f19cb300330d5dad5b a063373dfdbf06b68c69694ea4ae72a26b906c910f9095894c09e72f8fb52819 -test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql 2eb92ef8528204f3f105c19a36cdc06b3b6d20242463ff2ed1fb81c544812a71 d69091899e7157099f117e14fe60cd3705cfda45f28f6a6a2b7234a4a9c1e664 test/extractor-tests/generated/RefExpr/RefExpr.ql 27d5dceb9e50668e77143ff5c4aa07cbe15aeea9829de70f1ddfe18d83690106 b95058b7a0bad4bddb857794901d9b651b2f9e4dd3554e5349a70a52cbbfaff6 test/extractor-tests/generated/RefExpr/RefExpr_getAttr.ql 477fb3fee61395fabf78f76360ea27656432cb9db62e6f1dab1e9f3c75c83d39 5210f2ac54c082b616d8dcb091659cdad08a5d4ae06bf61193c33f208237482f test/extractor-tests/generated/RefExpr/RefExpr_getExpr.ql 180d6417fd7322cabf4143d0ddd7810f65506b172a5c82484b3ef398041636b2 a291f0bec1ec5b3fa6d088b3d1a658889b9a3521c39ff3bb7a5ab22a56b8b20a @@ -1095,6 +1093,8 @@ test/extractor-tests/generated/StructField/StructField_getDefault.ql deccc63b818 test/extractor-tests/generated/StructField/StructField_getName.ql 4c5a7e00b758a744a719bff63d493ee7d31ff8b3010e00c1d1449034d00130ec 9b284d848e5c86eac089f33deca7586441a89d927e7703cb4f98bb7c65a7238c test/extractor-tests/generated/StructField/StructField_getTypeRepr.ql 3f36890b9ced576327d0fb6e3c80c6482c3a6d6f751fa769b24b2c14a46f8ee8 aed0681a3928b965f1448954d3a0369238a3cd715b97a0d988d15b971bf45356 test/extractor-tests/generated/StructField/StructField_getVisibility.ql 335d097fabbc9720b065248cd1c295fe8dc040bf646ce491244b6840d9a847d3 9a9073eb52cd401b07beb4eb0aef7a15d5d398d0c76c35416ffcb059a360d654 +test/extractor-tests/generated/StructFieldList/StructFieldList.ql 02635fb8b0bccb4cb8be71a2b103c6854192dd0300669127ce74590566b0b163 62e4151cbc47ec7bd10cb9f711587454d8fcf64fb54f279b82eefcf20028c37f +test/extractor-tests/generated/StructFieldList/StructFieldList_getField.ql b70e569d48109f57a1a765fcab2329adce382a17258c4e93a57f540a408b1836 1d6a65b7ac1ed8fd0e966132ec9ecbb425fa7ca501a2cd1db7269f9534415f30 test/extractor-tests/generated/StructPat/StructPat.ql 2fa9b13ad6752a1296908c76caf3778dfd7d31e1ffc581011366208dfc3288a4 5a61ae9056a153b526d07c451a55f3959ce90adf762fe6c31f434fae27086d5d test/extractor-tests/generated/StructPat/StructPat_getPath.ql 03fb1254cc797239de302fbf1ad1b4e7e926e2ec4423221fbec06425e3647f63 9ab60ad1f16d4fb04d3de9f8f05d959fc90c42bb8f0dfc04ccc906897f5c1633 test/extractor-tests/generated/StructPat/StructPat_getResolvedCrateOrigin.ql e3188ae0bb8835ad4aed5c775b52afb6cc7f9c520a8f62140d6cc590f2b8ce5d fd3e6eaf185e933e5ab1566cc49ef3497e50608070831879e01cf5a5ec23eae5 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index 82583c07ba8..382565f3b86 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -131,7 +131,6 @@ /lib/codeql/rust/elements/PtrTypeRepr.qll linguist-generated /lib/codeql/rust/elements/RangeExpr.qll linguist-generated /lib/codeql/rust/elements/RangePat.qll linguist-generated -/lib/codeql/rust/elements/RecordFieldList.qll linguist-generated /lib/codeql/rust/elements/RefExpr.qll linguist-generated /lib/codeql/rust/elements/RefPat.qll linguist-generated /lib/codeql/rust/elements/RefTypeRepr.qll linguist-generated @@ -153,6 +152,7 @@ /lib/codeql/rust/elements/StructExprField.qll linguist-generated /lib/codeql/rust/elements/StructExprFieldList.qll linguist-generated /lib/codeql/rust/elements/StructField.qll linguist-generated +/lib/codeql/rust/elements/StructFieldList.qll linguist-generated /lib/codeql/rust/elements/StructPat.qll linguist-generated /lib/codeql/rust/elements/StructPatField.qll linguist-generated /lib/codeql/rust/elements/StructPatFieldList.qll linguist-generated @@ -369,8 +369,6 @@ /lib/codeql/rust/elements/internal/RangeExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RangePatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RangePatImpl.qll linguist-generated -/lib/codeql/rust/elements/internal/RecordFieldListConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/RecordFieldListImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RefExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RefPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RefTypeReprConstructor.qll linguist-generated @@ -402,6 +400,8 @@ /lib/codeql/rust/elements/internal/StructExprFieldListConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/StructExprFieldListImpl.qll linguist-generated /lib/codeql/rust/elements/internal/StructFieldConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/StructFieldListConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/StructFieldListImpl.qll linguist-generated /lib/codeql/rust/elements/internal/StructPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/StructPatFieldConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/StructPatFieldListConstructor.qll linguist-generated @@ -597,7 +597,6 @@ /lib/codeql/rust/elements/internal/generated/RangeExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RangePat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Raw.qll linguist-generated -/lib/codeql/rust/elements/internal/generated/RecordFieldList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll linguist-generated @@ -619,6 +618,7 @@ /lib/codeql/rust/elements/internal/generated/StructExprField.qll linguist-generated /lib/codeql/rust/elements/internal/generated/StructExprFieldList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/StructField.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/StructFieldList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/StructPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/StructPatField.qll linguist-generated /lib/codeql/rust/elements/internal/generated/StructPatFieldList.qll linguist-generated @@ -1025,8 +1025,6 @@ /test/extractor-tests/generated/RangePat/RangePat_getEnd.ql linguist-generated /test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql linguist-generated /test/extractor-tests/generated/RangePat/RangePat_getStart.ql linguist-generated -/test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql linguist-generated -/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql linguist-generated /test/extractor-tests/generated/RefExpr/RefExpr.ql linguist-generated /test/extractor-tests/generated/RefExpr/RefExpr_getAttr.ql linguist-generated /test/extractor-tests/generated/RefExpr/RefExpr_getExpr.ql linguist-generated @@ -1097,6 +1095,8 @@ /test/extractor-tests/generated/StructField/StructField_getName.ql linguist-generated /test/extractor-tests/generated/StructField/StructField_getTypeRepr.ql linguist-generated /test/extractor-tests/generated/StructField/StructField_getVisibility.ql linguist-generated +/test/extractor-tests/generated/StructFieldList/StructFieldList.ql linguist-generated +/test/extractor-tests/generated/StructFieldList/StructFieldList_getField.ql linguist-generated /test/extractor-tests/generated/StructPat/StructPat.ql linguist-generated /test/extractor-tests/generated/StructPat/StructPat_getPath.ql linguist-generated /test/extractor-tests/generated/StructPat/StructPat_getResolvedCrateOrigin.ql linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index 62705408baf..21c254b5d67 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -134,7 +134,6 @@ import codeql.rust.elements.PrefixExpr import codeql.rust.elements.PtrTypeRepr import codeql.rust.elements.RangeExpr import codeql.rust.elements.RangePat -import codeql.rust.elements.RecordFieldList import codeql.rust.elements.RefExpr import codeql.rust.elements.RefPat import codeql.rust.elements.RefTypeRepr @@ -156,6 +155,7 @@ import codeql.rust.elements.StructExpr import codeql.rust.elements.StructExprField import codeql.rust.elements.StructExprFieldList import codeql.rust.elements.StructField +import codeql.rust.elements.StructFieldList import codeql.rust.elements.StructPat import codeql.rust.elements.StructPatField import codeql.rust.elements.StructPatFieldList diff --git a/rust/ql/lib/codeql/rust/elements/RecordFieldList.qll b/rust/ql/lib/codeql/rust/elements/StructFieldList.qll similarity index 57% rename from rust/ql/lib/codeql/rust/elements/RecordFieldList.qll rename to rust/ql/lib/codeql/rust/elements/StructFieldList.qll index 4fcb9190e8f..6eee3bd61a8 100644 --- a/rust/ql/lib/codeql/rust/elements/RecordFieldList.qll +++ b/rust/ql/lib/codeql/rust/elements/StructFieldList.qll @@ -1,9 +1,9 @@ // generated by codegen, do not edit /** - * This module provides the public class `RecordFieldList`. + * This module provides the public class `StructFieldList`. */ -private import internal.RecordFieldListImpl +private import internal.StructFieldListImpl import codeql.rust.elements.FieldList import codeql.rust.elements.StructField @@ -13,4 +13,4 @@ import codeql.rust.elements.StructField * todo!() * ``` */ -final class RecordFieldList = Impl::RecordFieldList; +final class StructFieldList = Impl::StructFieldList; diff --git a/rust/ql/lib/codeql/rust/elements/Union.qll b/rust/ql/lib/codeql/rust/elements/Union.qll index c5fd86be7e9..a9edce9d2fe 100644 --- a/rust/ql/lib/codeql/rust/elements/Union.qll +++ b/rust/ql/lib/codeql/rust/elements/Union.qll @@ -8,7 +8,7 @@ import codeql.rust.elements.Attr import codeql.rust.elements.GenericParamList import codeql.rust.elements.Item import codeql.rust.elements.Name -import codeql.rust.elements.RecordFieldList +import codeql.rust.elements.StructFieldList import codeql.rust.elements.VariantDef import codeql.rust.elements.Visibility import codeql.rust.elements.WhereClause diff --git a/rust/ql/lib/codeql/rust/elements/internal/RecordFieldListConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/StructFieldListConstructor.qll similarity index 64% rename from rust/ql/lib/codeql/rust/elements/internal/RecordFieldListConstructor.qll rename to rust/ql/lib/codeql/rust/elements/internal/StructFieldListConstructor.qll index 184df0deb03..25f426f65ce 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/RecordFieldListConstructor.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/StructFieldListConstructor.qll @@ -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 - * `RecordFieldList` synthesized instances. + * `StructFieldList` synthesized instances. * INTERNAL: Do not use. */ private import codeql.rust.elements.internal.generated.Raw /** - * The characteristic predicate of `RecordFieldList` synthesized instances. + * The characteristic predicate of `StructFieldList` synthesized instances. * INTERNAL: Do not use. */ -predicate constructRecordFieldList(Raw::RecordFieldList id) { any() } +predicate constructStructFieldList(Raw::StructFieldList id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/RecordFieldListImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/StructFieldListImpl.qll similarity index 67% rename from rust/ql/lib/codeql/rust/elements/internal/RecordFieldListImpl.qll rename to rust/ql/lib/codeql/rust/elements/internal/StructFieldListImpl.qll index 9d690d260ac..8626d38e058 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/RecordFieldListImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/StructFieldListImpl.qll @@ -1,14 +1,14 @@ // generated by codegen, remove this comment if you wish to edit this file /** - * This module provides a hand-modifiable wrapper around the generated class `RecordFieldList`. + * This module provides a hand-modifiable wrapper around the generated class `StructFieldList`. * * INTERNAL: Do not use. */ -private import codeql.rust.elements.internal.generated.RecordFieldList +private import codeql.rust.elements.internal.generated.StructFieldList /** - * INTERNAL: This module contains the customizable definition of `RecordFieldList` and should not + * INTERNAL: This module contains the customizable definition of `StructFieldList` and should not * be referenced directly. */ module Impl { @@ -18,5 +18,5 @@ module Impl { * todo!() * ``` */ - class RecordFieldList extends Generated::RecordFieldList { } + class StructFieldList extends Generated::StructFieldList { } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index 2103e7ee9a5..4268ef3f840 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -2737,25 +2737,6 @@ private module Impl { ) } - private Element getImmediateChildOfRecordFieldList( - RecordFieldList e, int index, string partialPredicateCall - ) { - exists(int b, int bFieldList, int n, int nField | - b = 0 and - bFieldList = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfFieldList(e, i, _)) | i) and - n = bFieldList and - nField = n + 1 + max(int i | i = -1 or exists(e.getField(i)) | i) and - ( - none() - or - result = getImmediateChildOfFieldList(e, index - b, partialPredicateCall) - or - result = e.getField(index - n) and - partialPredicateCall = "Field(" + (index - n).toString() + ")" - ) - ) - } - private Element getImmediateChildOfRefExpr(RefExpr e, int index, string partialPredicateCall) { exists(int b, int bExpr, int n, int nAttr, int nExpr | b = 0 and @@ -2904,6 +2885,25 @@ private module Impl { ) } + private Element getImmediateChildOfStructFieldList( + StructFieldList e, int index, string partialPredicateCall + ) { + exists(int b, int bFieldList, int n, int nField | + b = 0 and + bFieldList = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfFieldList(e, i, _)) | i) and + n = bFieldList and + nField = n + 1 + max(int i | i = -1 or exists(e.getField(i)) | i) and + ( + none() + or + result = getImmediateChildOfFieldList(e, index - b, partialPredicateCall) + or + result = e.getField(index - n) and + partialPredicateCall = "Field(" + (index - n).toString() + ")" + ) + ) + } + private Element getImmediateChildOfTryExpr(TryExpr e, int index, string partialPredicateCall) { exists(int b, int bExpr, int n, int nAttr, int nExpr | b = 0 and @@ -4334,8 +4334,6 @@ private module Impl { or result = getImmediateChildOfRangePat(e, index, partialAccessor) or - result = getImmediateChildOfRecordFieldList(e, index, partialAccessor) - or result = getImmediateChildOfRefExpr(e, index, partialAccessor) or result = getImmediateChildOfRefPat(e, index, partialAccessor) @@ -4352,6 +4350,8 @@ private module Impl { or result = getImmediateChildOfSliceTypeRepr(e, index, partialAccessor) or + result = getImmediateChildOfStructFieldList(e, index, partialAccessor) + or result = getImmediateChildOfTryExpr(e, index, partialAccessor) or result = getImmediateChildOfTupleExpr(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 891a2228936..34d29ba230e 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -2743,22 +2743,6 @@ module Raw { Pat getStart() { range_pat_starts(this, result) } } - /** - * INTERNAL: Do not use. - * A field list of a struct expression. For example: - * ```rust - * todo!() - * ``` - */ - class RecordFieldList extends @record_field_list, FieldList { - override string toString() { result = "RecordFieldList" } - - /** - * Gets the `index`th field of this record field list (0-based). - */ - StructField getField(int index) { record_field_list_fields(this, index, result) } - } - /** * INTERNAL: Do not use. * A reference expression. For example: @@ -2966,6 +2950,22 @@ module Raw { TypeRepr getTypeRepr() { slice_type_repr_type_reprs(this, result) } } + /** + * INTERNAL: Do not use. + * A field list of a struct expression. For example: + * ```rust + * todo!() + * ``` + */ + class StructFieldList extends @struct_field_list, FieldList { + override string toString() { result = "StructFieldList" } + + /** + * Gets the `index`th field of this struct field list (0-based). + */ + StructField getField(int index) { struct_field_list_fields(this, index, result) } + } + /** * INTERNAL: Do not use. * A TryExpr. For example: @@ -3854,7 +3854,7 @@ module Raw { /** * Gets the field list of this struct, if it exists. */ - FieldList getFieldList() { struct_field_lists(this, result) } + FieldList getFieldList() { struct_field_lists_(this, result) } /** * Gets the generic parameter list of this struct, if it exists. @@ -4124,7 +4124,7 @@ module Raw { /** * Gets the struct field list of this union, if it exists. */ - RecordFieldList getStructFieldList() { union_struct_field_lists(this, result) } + StructFieldList getStructFieldList() { union_struct_field_lists(this, result) } /** * Gets the visibility of this union, if it exists. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/RecordFieldList.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/StructFieldList.qll similarity index 59% rename from rust/ql/lib/codeql/rust/elements/internal/generated/RecordFieldList.qll rename to rust/ql/lib/codeql/rust/elements/internal/generated/StructFieldList.qll index f625171ea02..aabd886f6b7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/RecordFieldList.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/StructFieldList.qll @@ -1,6 +1,6 @@ // generated by codegen, do not edit /** - * This module provides the generated definition of `RecordFieldList`. + * This module provides the generated definition of `StructFieldList`. * INTERNAL: Do not import directly. */ @@ -10,7 +10,7 @@ import codeql.rust.elements.internal.FieldListImpl::Impl as FieldListImpl import codeql.rust.elements.StructField /** - * INTERNAL: This module contains the fully generated definition of `RecordFieldList` and should not + * INTERNAL: This module contains the fully generated definition of `StructFieldList` and should not * be referenced directly. */ module Generated { @@ -19,29 +19,29 @@ module Generated { * ```rust * todo!() * ``` - * INTERNAL: Do not reference the `Generated::RecordFieldList` class directly. - * Use the subclass `RecordFieldList`, where the following predicates are available. + * INTERNAL: Do not reference the `Generated::StructFieldList` class directly. + * Use the subclass `StructFieldList`, where the following predicates are available. */ - class RecordFieldList extends Synth::TRecordFieldList, FieldListImpl::FieldList { - override string getAPrimaryQlClass() { result = "RecordFieldList" } + class StructFieldList extends Synth::TStructFieldList, FieldListImpl::FieldList { + override string getAPrimaryQlClass() { result = "StructFieldList" } /** - * Gets the `index`th field of this record field list (0-based). + * Gets the `index`th field of this struct field list (0-based). */ StructField getField(int index) { result = - Synth::convertStructFieldFromRaw(Synth::convertRecordFieldListToRaw(this) - .(Raw::RecordFieldList) + Synth::convertStructFieldFromRaw(Synth::convertStructFieldListToRaw(this) + .(Raw::StructFieldList) .getField(index)) } /** - * Gets any of the fields of this record field list. + * Gets any of the fields of this struct field list. */ final StructField getAField() { result = this.getField(_) } /** - * Gets the number of fields of this record field list. + * Gets the number of fields of this struct field list. */ final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index d6430eff305..6d7c69fde13 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -466,10 +466,6 @@ module Synth { * INTERNAL: Do not use. */ TRangePat(Raw::RangePat id) { constructRangePat(id) } or - /** - * INTERNAL: Do not use. - */ - TRecordFieldList(Raw::RecordFieldList id) { constructRecordFieldList(id) } or /** * INTERNAL: Do not use. */ @@ -546,6 +542,10 @@ module Synth { * INTERNAL: Do not use. */ TStructField(Raw::StructField id) { constructStructField(id) } or + /** + * INTERNAL: Do not use. + */ + TStructFieldList(Raw::StructFieldList id) { constructStructFieldList(id) } or /** * INTERNAL: Do not use. */ @@ -754,7 +754,7 @@ module Synth { /** * INTERNAL: Do not use. */ - class TFieldList = TRecordFieldList or TTupleFieldList; + class TFieldList = TStructFieldList or TTupleFieldList; /** * INTERNAL: Do not use. @@ -1524,12 +1524,6 @@ module Synth { */ TRangePat convertRangePatFromRaw(Raw::Element e) { result = TRangePat(e) } - /** - * INTERNAL: Do not use. - * Converts a raw element to a synthesized `TRecordFieldList`, if possible. - */ - TRecordFieldList convertRecordFieldListFromRaw(Raw::Element e) { result = TRecordFieldList(e) } - /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TRefExpr`, if possible. @@ -1646,6 +1640,12 @@ module Synth { */ TStructField convertStructFieldFromRaw(Raw::Element e) { result = TStructField(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TStructFieldList`, if possible. + */ + TStructFieldList convertStructFieldListFromRaw(Raw::Element e) { result = TStructFieldList(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TStructPat`, if possible. @@ -2177,7 +2177,7 @@ module Synth { * Converts a raw DB element to a synthesized `TFieldList`, if possible. */ TFieldList convertFieldListFromRaw(Raw::Element e) { - result = convertRecordFieldListFromRaw(e) + result = convertStructFieldListFromRaw(e) or result = convertTupleFieldListFromRaw(e) } @@ -3124,12 +3124,6 @@ module Synth { */ Raw::Element convertRangePatToRaw(TRangePat e) { e = TRangePat(result) } - /** - * INTERNAL: Do not use. - * Converts a synthesized `TRecordFieldList` to a raw DB element, if possible. - */ - Raw::Element convertRecordFieldListToRaw(TRecordFieldList e) { e = TRecordFieldList(result) } - /** * INTERNAL: Do not use. * Converts a synthesized `TRefExpr` to a raw DB element, if possible. @@ -3246,6 +3240,12 @@ module Synth { */ Raw::Element convertStructFieldToRaw(TStructField e) { e = TStructField(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TStructFieldList` to a raw DB element, if possible. + */ + Raw::Element convertStructFieldListToRaw(TStructFieldList e) { e = TStructFieldList(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TStructPat` to a raw DB element, if possible. @@ -3777,7 +3777,7 @@ module Synth { * Converts a synthesized `TFieldList` to a raw DB element, if possible. */ Raw::Element convertFieldListToRaw(TFieldList e) { - result = convertRecordFieldListToRaw(e) + result = convertStructFieldListToRaw(e) or result = convertTupleFieldListToRaw(e) } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll index 226ee7aa76d..9be635b767e 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll @@ -114,7 +114,6 @@ import codeql.rust.elements.internal.PrefixExprConstructor import codeql.rust.elements.internal.PtrTypeReprConstructor import codeql.rust.elements.internal.RangeExprConstructor import codeql.rust.elements.internal.RangePatConstructor -import codeql.rust.elements.internal.RecordFieldListConstructor import codeql.rust.elements.internal.RefExprConstructor import codeql.rust.elements.internal.RefPatConstructor import codeql.rust.elements.internal.RefTypeReprConstructor @@ -134,6 +133,7 @@ import codeql.rust.elements.internal.StructExprConstructor import codeql.rust.elements.internal.StructExprFieldConstructor import codeql.rust.elements.internal.StructExprFieldListConstructor import codeql.rust.elements.internal.StructFieldConstructor +import codeql.rust.elements.internal.StructFieldListConstructor import codeql.rust.elements.internal.StructPatConstructor import codeql.rust.elements.internal.StructPatFieldConstructor import codeql.rust.elements.internal.StructPatFieldListConstructor diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Union.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Union.qll index a6d2fcc92f9..3959835cde0 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Union.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Union.qll @@ -10,7 +10,7 @@ import codeql.rust.elements.Attr import codeql.rust.elements.GenericParamList import codeql.rust.elements.internal.ItemImpl::Impl as ItemImpl import codeql.rust.elements.Name -import codeql.rust.elements.RecordFieldList +import codeql.rust.elements.StructFieldList import codeql.rust.elements.internal.VariantDefImpl::Impl as VariantDefImpl import codeql.rust.elements.Visibility import codeql.rust.elements.WhereClause @@ -78,9 +78,9 @@ module Generated { /** * Gets the struct field list of this union, if it exists. */ - RecordFieldList getStructFieldList() { + StructFieldList getStructFieldList() { result = - Synth::convertRecordFieldListFromRaw(Synth::convertUnionToRaw(this) + Synth::convertStructFieldListFromRaw(Synth::convertUnionToRaw(this) .(Raw::Union) .getStructFieldList()) } diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index 328c4b3865c..256e80c2dce 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -481,7 +481,7 @@ extern_item_list_extern_items( ); @field_list = - @record_field_list + @struct_field_list | @tuple_field_list ; @@ -2364,17 +2364,6 @@ range_pat_starts( int start: @pat ref ); -record_field_lists( - unique int id: @record_field_list -); - -#keyset[id, index] -record_field_list_fields( - int id: @record_field_list ref, - int index: int ref, - int field: @struct_field ref -); - ref_exprs( unique int id: @ref_expr ); @@ -2518,6 +2507,17 @@ slice_type_repr_type_reprs( int type_repr: @type_repr ref ); +struct_field_lists( + unique int id: @struct_field_list +); + +#keyset[id, index] +struct_field_list_fields( + int id: @struct_field_list ref, + int index: int ref, + int field: @struct_field ref +); + try_exprs( unique int id: @try_expr ); @@ -3275,7 +3275,7 @@ struct_attrs( ); #keyset[id] -struct_field_lists( +struct_field_lists_( int id: @struct ref, int field_list: @field_list ref ); @@ -3511,7 +3511,7 @@ union_names( #keyset[id] union_struct_field_lists( int id: @union ref, - int struct_field_list: @record_field_list ref + int struct_field_list: @struct_field_list ref ); #keyset[id] diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list index 094b0a5c514..56cb7ed62e1 100644 --- a/rust/ql/test/extractor-tests/generated/.generated_tests.list +++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list @@ -89,7 +89,6 @@ PrefixExpr/gen_prefix_expr.rs c4b53e87f370713b9a9e257be26d082b0761497bac19b1d740 PtrTypeRepr/gen_ptr_type_repr.rs 290d64a8ab4e8946b2e37496e7d2837529135e99b61cfb16a98c00f4d6ff8679 290d64a8ab4e8946b2e37496e7d2837529135e99b61cfb16a98c00f4d6ff8679 RangeExpr/gen_range_expr.rs 3f27cff9cc76b2703beff622d1453b84121e1970a869e45f9428deac92c4ecb0 3f27cff9cc76b2703beff622d1453b84121e1970a869e45f9428deac92c4ecb0 RangePat/gen_range_pat.rs 18b5169c3ab9230c95d86c4897f8343b2176d9602c9ea371c70c1eb0dbf89a28 18b5169c3ab9230c95d86c4897f8343b2176d9602c9ea371c70c1eb0dbf89a28 -RecordFieldList/gen_record_field_list.rs f28f14c3d8ff7ae7b5f0bac076165cc7e98a2fdc5377c2a32a0e2e231a6173d9 f28f14c3d8ff7ae7b5f0bac076165cc7e98a2fdc5377c2a32a0e2e231a6173d9 RefExpr/gen_ref_expr.rs 82695467551def4a00c78aa1ea6a1460e9edbef7df2672f13daccb0ee5d6b4c6 82695467551def4a00c78aa1ea6a1460e9edbef7df2672f13daccb0ee5d6b4c6 RefPat/gen_ref_pat.rs aba7518649d9a37928e59a40d42f76cc0f4735e8daf711a3def6d2f0520e1f54 aba7518649d9a37928e59a40d42f76cc0f4735e8daf711a3def6d2f0520e1f54 RefTypeRepr/gen_ref_type_repr.rs 39a79cf148b7ee30e23a12c9349854dbe83aee1790153a388c43ff749907f8ea 39a79cf148b7ee30e23a12c9349854dbe83aee1790153a388c43ff749907f8ea @@ -109,6 +108,7 @@ StructExpr/gen_struct_expr.rs 8dd9a578625a88623c725b8afdfd8b636e1c3c991fe96c55b2 StructExprField/gen_struct_expr_field.rs 4ccca8e8ad462b4873f5604f0afdd1836027b8d39e36fbe7d6624ef3e744a084 4ccca8e8ad462b4873f5604f0afdd1836027b8d39e36fbe7d6624ef3e744a084 StructExprFieldList/gen_struct_expr_field_list.rs 30a48484dbeca1fd8ead4b7b80f97bd583259e35dce2b590329c86a2d0e152de 30a48484dbeca1fd8ead4b7b80f97bd583259e35dce2b590329c86a2d0e152de StructField/gen_struct_field.rs 024d30845e244dd535dfb6c30f16de0eec5acd3a257110eeffd260ec82f9edb2 024d30845e244dd535dfb6c30f16de0eec5acd3a257110eeffd260ec82f9edb2 +StructFieldList/gen_struct_field_list.rs 9ee6167b3b2edd2ad49f8fe02d6ef67fb1dacf6807014a6a16597d2f40d3bbae 9ee6167b3b2edd2ad49f8fe02d6ef67fb1dacf6807014a6a16597d2f40d3bbae StructPat/gen_struct_pat.rs 3f972ff8a76acb61ef48bdea92d2fac8b1005449d746e6188fd5486b1f542e5c 3f972ff8a76acb61ef48bdea92d2fac8b1005449d746e6188fd5486b1f542e5c StructPatField/gen_struct_pat_field.rs dfdab8cef7dcfee40451744c8d2c7c4ae67fdb8bd054b894c08d62997942f364 dfdab8cef7dcfee40451744c8d2c7c4ae67fdb8bd054b894c08d62997942f364 StructPatFieldList/gen_struct_pat_field_list.rs 92490d79c975d25fd0d2e4a830a80abd896c5eb3b30fc54a3b386603ff09d693 92490d79c975d25fd0d2e4a830a80abd896c5eb3b30fc54a3b386603ff09d693 diff --git a/rust/ql/test/extractor-tests/generated/.gitattributes b/rust/ql/test/extractor-tests/generated/.gitattributes index fc79fcbcee7..133c01c05cd 100644 --- a/rust/ql/test/extractor-tests/generated/.gitattributes +++ b/rust/ql/test/extractor-tests/generated/.gitattributes @@ -91,7 +91,6 @@ /PtrTypeRepr/gen_ptr_type_repr.rs linguist-generated /RangeExpr/gen_range_expr.rs linguist-generated /RangePat/gen_range_pat.rs linguist-generated -/RecordFieldList/gen_record_field_list.rs linguist-generated /RefExpr/gen_ref_expr.rs linguist-generated /RefPat/gen_ref_pat.rs linguist-generated /RefTypeRepr/gen_ref_type_repr.rs linguist-generated @@ -111,6 +110,7 @@ /StructExprField/gen_struct_expr_field.rs linguist-generated /StructExprFieldList/gen_struct_expr_field_list.rs linguist-generated /StructField/gen_struct_field.rs linguist-generated +/StructFieldList/gen_struct_field_list.rs linguist-generated /StructPat/gen_struct_pat.rs linguist-generated /StructPatField/gen_struct_pat_field.rs linguist-generated /StructPatFieldList/gen_struct_pat_field_list.rs linguist-generated diff --git a/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected b/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected deleted file mode 100644 index 54cad7249d6..00000000000 --- a/rust/ql/test/extractor-tests/generated/Path/Path_getPart.expected +++ /dev/null @@ -1,25 +0,0 @@ -| gen_path.rs:5:9:5:18 | some_crate | gen_path.rs:5:9:5:18 | some_crate | -| gen_path.rs:5:9:5:31 | ...::some_module | gen_path.rs:5:21:5:31 | some_module | -| gen_path.rs:5:9:5:42 | ...::some_item | gen_path.rs:5:34:5:42 | some_item | -| gen_path.rs:6:5:6:7 | foo | gen_path.rs:6:5:6:7 | foo | -| gen_path.rs:6:5:6:12 | ...::bar | gen_path.rs:6:10:6:12 | bar | -| gen_path_expr.rs:5:13:5:20 | variable | gen_path_expr.rs:5:13:5:20 | variable | -| gen_path_expr.rs:6:13:6:15 | foo | gen_path_expr.rs:6:13:6:15 | foo | -| gen_path_expr.rs:6:13:6:20 | ...::bar | gen_path_expr.rs:6:18:6:20 | bar | -| gen_path_expr.rs:7:13:7:15 | <...> | gen_path_expr.rs:7:13:7:15 | <...> | -| gen_path_expr.rs:7:13:7:20 | ...::foo | gen_path_expr.rs:7:18:7:20 | foo | -| gen_path_expr.rs:7:14:7:14 | T | gen_path_expr.rs:7:14:7:14 | T | -| gen_path_expr.rs:8:13:8:31 | <...> | gen_path_expr.rs:8:13:8:31 | <...> | -| gen_path_expr.rs:8:13:8:36 | ...::foo | gen_path_expr.rs:8:34:8:36 | foo | -| gen_path_expr.rs:8:14:8:21 | TypeRepr | gen_path_expr.rs:8:14:8:21 | TypeRepr | -| gen_path_expr.rs:8:26:8:30 | Trait | gen_path_expr.rs:8:26:8:30 | Trait | -| gen_path_pat.rs:5:11:5:11 | x | gen_path_pat.rs:5:11:5:11 | x | -| gen_path_pat.rs:6:9:6:11 | Foo | gen_path_pat.rs:6:9:6:11 | Foo | -| gen_path_pat.rs:6:9:6:16 | ...::Bar | gen_path_pat.rs:6:14:6:16 | Bar | -| gen_path_type_repr.rs:5:14:5:16 | std | gen_path_type_repr.rs:5:14:5:16 | std | -| gen_path_type_repr.rs:5:14:5:29 | ...::collections | gen_path_type_repr.rs:5:19:5:29 | collections | -| gen_path_type_repr.rs:5:14:5:48 | ...::HashMap::<...> | gen_path_type_repr.rs:5:32:5:48 | HashMap::<...> | -| gen_path_type_repr.rs:5:40:5:42 | i32 | gen_path_type_repr.rs:5:40:5:42 | i32 | -| gen_path_type_repr.rs:5:45:5:47 | i32 | gen_path_type_repr.rs:5:45:5:47 | i32 | -| gen_path_type_repr.rs:6:14:6:14 | X | gen_path_type_repr.rs:6:14:6:14 | X | -| gen_path_type_repr.rs:6:14:6:20 | ...::Item | gen_path_type_repr.rs:6:17:6:20 | Item | diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.expected b/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.expected deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.expected b/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.expected deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql b/rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList.ql similarity index 83% rename from rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql rename to rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList.ql index 6fdb617e311..62725f6189b 100644 --- a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList.ql +++ b/rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList.ql @@ -2,7 +2,7 @@ import codeql.rust.elements import TestUtils -from RecordFieldList x, int getNumberOfFields +from StructFieldList x, int getNumberOfFields where toBeTested(x) and not x.isUnknown() and diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql b/rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList_getField.ql similarity index 82% rename from rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql rename to rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList_getField.ql index 8a20f3de13f..f1c7d0b58dc 100644 --- a/rust/ql/test/extractor-tests/generated/RecordFieldList/RecordFieldList_getField.ql +++ b/rust/ql/test/extractor-tests/generated/StructFieldList/StructFieldList_getField.ql @@ -2,6 +2,6 @@ import codeql.rust.elements import TestUtils -from RecordFieldList x, int index +from StructFieldList x, int index where toBeTested(x) and not x.isUnknown() select x, index, x.getField(index) diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldList/gen_record_field_list.rs b/rust/ql/test/extractor-tests/generated/StructFieldList/gen_struct_field_list.rs similarity index 75% rename from rust/ql/test/extractor-tests/generated/RecordFieldList/gen_record_field_list.rs rename to rust/ql/test/extractor-tests/generated/StructFieldList/gen_struct_field_list.rs index 7e12ad879b2..bdec77ecaae 100644 --- a/rust/ql/test/extractor-tests/generated/RecordFieldList/gen_record_field_list.rs +++ b/rust/ql/test/extractor-tests/generated/StructFieldList/gen_struct_field_list.rs @@ -1,6 +1,6 @@ // generated by codegen, do not edit -fn test_record_field_list() -> () { +fn test_struct_field_list() -> () { // A field list of a struct expression. For example: todo!() } diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index 56c9fc34b1b..a5c3ff56651 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -1489,7 +1489,7 @@ class _: """ -@annotate(RecordFieldList) +@annotate(StructFieldList) class _: """ A field list of a struct expression. For example: @@ -1627,6 +1627,7 @@ class _: todo!() ``` """ + field_list: _ | ql.db_table_name("struct_field_lists_") @annotate(TokenTree) diff --git a/rust/schema/ast.py b/rust/schema/ast.py index 1f73ccf90f6..e5be9e1a0a0 100644 --- a/rust/schema/ast.py +++ b/rust/schema/ast.py @@ -543,7 +543,7 @@ class StructField(AstNode, ): type_repr: optional["TypeRepr"] | child visibility: optional["Visibility"] | child -class RecordFieldList(FieldList, ): +class StructFieldList(FieldList, ): fields: list["StructField"] | child class StructPat(Pat, ): @@ -716,7 +716,7 @@ class Union(Item, VariantDef, ): attrs: list["Attr"] | child generic_param_list: optional["GenericParamList"] | child name: optional["Name"] | child - struct_field_list: optional["RecordFieldList"] | child + struct_field_list: optional["StructFieldList"] | child visibility: optional["Visibility"] | child where_clause: optional["WhereClause"] | child