mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Rust: add more thourough canonical path testing
This commit is contained in:
@@ -8,6 +8,7 @@ use log::Level;
|
||||
use ra_ap_base_db::CrateOrigin;
|
||||
use ra_ap_hir::db::ExpandDatabase;
|
||||
use ra_ap_hir::{Adt, ItemContainer, Module, Semantics, Type};
|
||||
use ra_ap_hir_def::ModuleId;
|
||||
use ra_ap_hir_def::type_ref::Mutability;
|
||||
use ra_ap_hir_expand::ExpandTo;
|
||||
use ra_ap_ide_db::line_index::{LineCol, LineIndex};
|
||||
@@ -346,6 +347,10 @@ impl<'a> Translator<'a> {
|
||||
}
|
||||
|
||||
fn canonical_path_from_hir_module(&self, item: Module) -> Option<String> {
|
||||
if ModuleId::from(item).is_block_module() {
|
||||
// this means this is a block module, i.e. a virtual module for a block scope
|
||||
return None;
|
||||
}
|
||||
if item.is_crate_root() {
|
||||
return Some("crate".into());
|
||||
}
|
||||
|
||||
20
rust/ql/.generated.list
generated
20
rust/ql/.generated.list
generated
@@ -4,7 +4,7 @@ lib/codeql/rust/elements/ArrayExpr.qll a3e6e122632f4011644ec31b37f88b32fe3f2b7e3
|
||||
lib/codeql/rust/elements/ArrayType.qll affd43d308200d60d08e8924cdbb2a17a827ebaa62a296e07bb9ce97451e3c4c 80589a7f79bf2ac293a027faf2589b3027a6c4a286533f2ffccad259a306a8cb
|
||||
lib/codeql/rust/elements/AsmExpr.qll 2f1c78e92b56d66a559543b2103d8f880dd4fa4c6907346f668b3714cf2355e9 12e174fc469c067c957f6c1a5969ab56a71a07c537ca930a564cce81c7ab4481
|
||||
lib/codeql/rust/elements/AssocItem.qll 5e514287bbe353d1d637991e7af836e5659ad66922df99af68ab61399e7f8f9a 3733af54938271161ee2720c32ac43228d519b5c46b7cea1e4bbe3dc634f8857
|
||||
lib/codeql/rust/elements/AssocItemList.qll 1eed81b9936157f106a98d737a90b95836874c0adb47997871b7d372b3d31c1d 9189da6f7fd601f88efa441a5c65ea00d3cdd30e36b6b65cc0b7a4059b61c834
|
||||
lib/codeql/rust/elements/AssocItemList.qll ee719e7105a1936e2dd6cda0c55c73ff2704b6461861b2503ed86198484e4c06 de26c8127fd643b8b4567c0ce39511050f7ceefa0075a48a8ad03d50f56a1142
|
||||
lib/codeql/rust/elements/AssocTypeArg.qll 4740b296f596f58ed8d2788f55ffc1557ea22329b17b9374c885c4fd395d6eff 0191ca01b917d611ecd25f8171bbacd88335cf6a447f2f9da84dda816a170a65
|
||||
lib/codeql/rust/elements/AstNode.qll 5ee6355afb1cafd6dfe408b8c21836a1ba2aeb709fb618802aa09f9342646084 dee708f19c1b333cbd9609819db3dfdb48a0c90d26266c380f31357b1e2d6141
|
||||
lib/codeql/rust/elements/Attr.qll 53887a49513b95e38344b57d824a7474331467561f1edf38d5ca608d8cefa0cd 2e9eeb32ba6cc186691897979e30d32bc6eaff523e37064ee84cf09ded5afe17
|
||||
@@ -132,7 +132,7 @@ lib/codeql/rust/elements/StmtList.qll 6f990782d5a5307d6d8a3256eb510aedfdaf7bd0e4
|
||||
lib/codeql/rust/elements/Struct.qll 96b7020c7670d5ea7effa6e390d3a163dba05ca5206cfdd1284f4a41e5664c6a 3fea0d13b8da0f210f3ad9004189efc3c56bcc90e67d6ef7817c6767f6aff273
|
||||
lib/codeql/rust/elements/Token.qll e2de97c32e12c7ac9369f8dccabc22d89bfcbf7f6acd99f1aa7faa38eb4ac2b2 888d7e1743e802790e78bae694fedb4aba361b600fb9d9ecf022436f2138e13c
|
||||
lib/codeql/rust/elements/TokenTree.qll 68e579812960d855a8a7a370ce55566a0df5adc62b7e6ba19d775fff961ea67b af2520f272e937c898c51693c1157a61caac9c25826918981803b12b5a9cb246
|
||||
lib/codeql/rust/elements/Trait.qll 6522741fb9f1fce1fe570c078e8c8a064d3bd4520c95cd5bb2d1eb1bb8a24861 be8dbf5418fd05f2dc9d72379ae6b78cb2469b0c0f8092e176c5937a46788e79
|
||||
lib/codeql/rust/elements/Trait.qll f78a917c2f2e5a0dfcd7c36e95ad67b1fa218484ee509610db8ca38453bebd4c 2a12f03870ebf86e104bdc3b61aae8512bfafbbf79a0cff5c3c27a04635926af
|
||||
lib/codeql/rust/elements/TraitAlias.qll cb2af66ca1da20122b800097dbaaa904e5b6e753571fcfd6821e779be273d742 da8666db52609a5d04b847dfcecf753644f813597d58a4aa1a7e2d35ede96ef8
|
||||
lib/codeql/rust/elements/TryExpr.qll d2c5eb215f1b46a86b82e7d99fe1dcfb2b4cb42811f331e54cc602b40a10a0eb 8c207264924428e969060f4cb903b37e27f8ff74e45be7d13a2ead44a572b36a
|
||||
lib/codeql/rust/elements/TupleExpr.qll 561486554f0c397bc37c87894c56507771174bfb25f19b3bf258a94f67573e56 d523246820853ff0a7c6b5f9dbe73d42513cadd6d6b76ea7e64147140ac93c15
|
||||
@@ -175,7 +175,7 @@ lib/codeql/rust/elements/internal/AsmExprConstructor.qll 36c68023b58beec30af9f05
|
||||
lib/codeql/rust/elements/internal/AsmExprImpl.qll c34419c96378e2ae2ebb17d16f9efb4c97d3558919c252be9203aee223ac30a2 1d99c8fa35fabf931e564383c06c95fb39201fd588b759d28aef2fda7ed2c247
|
||||
lib/codeql/rust/elements/internal/AssocItemImpl.qll f462dacb8e60db8d8ffae44307c990370210c57b66721fd072c34b5ae76d3cc9 7fdb8faff0f310c1cb2bdd52f18368c8d78873467800c41ab3d1989f3196d845
|
||||
lib/codeql/rust/elements/internal/AssocItemListConstructor.qll 1977164a68d52707ddee2f16e4d5a3de07280864510648750016010baec61637 bb750f1a016b42a32583b423655279e967be5def66f6b68c5018ec1e022e25e1
|
||||
lib/codeql/rust/elements/internal/AssocItemListImpl.qll 0b07ae91f9ec7bc72f6d25dfdef3e64a43bcbda90b98b13cb90020d311c31b3d 1600194504ecc29ae10029fc5347bd76a40fa0d61dc6edccc6e66bbbba1b8fbe
|
||||
lib/codeql/rust/elements/internal/AssocItemListImpl.qll 92369e446494617359283109c9d91d307e0efd8edb50e0d2f41b83213cf494c0 58e60fa0a55d6fa9fb6cee22544880842d88c6380efc28fb40f3c37b6851d509
|
||||
lib/codeql/rust/elements/internal/AssocTypeArgConstructor.qll 58b4ac5a532e55d71f77a5af8eadaf7ba53a8715c398f48285dac1db3a6c87a3 f0d889f32d9ea7bd633b495df014e39af24454608253200c05721022948bd856
|
||||
lib/codeql/rust/elements/internal/AssocTypeArgImpl.qll 429f12a1a53c81634fc35331bb31cbab0321e5343d3d1170c77a59385cad0213 e6139425973e78b0ea932446165a643e2836cd4706ec9375e08652ccb6a8de68
|
||||
lib/codeql/rust/elements/internal/AttrConstructor.qll de1dd30692635810277430291ba3889a456344dbd25938d9f8289ab22506d5cd 57b62b2b07dee4a9daeed241e0b4514ba36fd5ec0abb089869a4d5b2c79d6e72
|
||||
@@ -398,7 +398,7 @@ lib/codeql/rust/elements/internal/TokenTreeImpl.qll c61574f2b551db24640258117e0c
|
||||
lib/codeql/rust/elements/internal/TraitAliasConstructor.qll d2f159cac53b9d65ec8176b8c8ccb944541cd35c64f0d1ceabb32cd975c000bf 6564981793de762af2775cc729e25054ea788648509d151cbfdbdf99fc9ed364
|
||||
lib/codeql/rust/elements/internal/TraitAliasImpl.qll f338dba5388973ec0c5928d4c60664737f75a93d0c7db5fb34053bc41c107641 f2e437469e4ba1d8dd321bc670978e7eed76508e728d1e08e52ddcf52a461d3a
|
||||
lib/codeql/rust/elements/internal/TraitConstructor.qll 1f790e63c32f1a22ae1b039ca585b5fe6ffef6339c1e2bf8bca108febb433035 535cebd676001bfbbb724d8006fa2da94e585951b8fd54c7dc092732214615b5
|
||||
lib/codeql/rust/elements/internal/TraitImpl.qll bd7f1cb81db69b32a8f540d6281af335fe4a4bc8b3667fb4464734d602359bb3 315f9107b1f74c51f99ec98a6af3d2a06bd11c81946990224002359db557c93f
|
||||
lib/codeql/rust/elements/internal/TraitImpl.qll 776a0c10c944146b89d616e3bf1311502de9e1e84f0c9d5d7de5aecfc97b87e3 3795d920e98620b30f7e2c218cfb57ae91b37956f9165325b5da6705df8beffa
|
||||
lib/codeql/rust/elements/internal/TryExprConstructor.qll 98e3077ebc4d76f687488b344f532b698512af215b66f0a74b5cea8ed180836c b95603c10c262911eeffdf4ccba14849e8443916b360e287963d5f2582d8e434
|
||||
lib/codeql/rust/elements/internal/TryExprImpl.qll 00635685db339557cfb89fad0bfc134e53efc6d88c68cce400b72c2dd428ef9f 43559b46e45c009f985b58896b542881b81a3e6b82a6f51b784e8a712ae3da2b
|
||||
lib/codeql/rust/elements/internal/TupleExprConstructor.qll 71c38786723225d3d90399b8a085b2b2664c62256654db9e1288fadd56745b9d 639ad70b49ebadc027127fbdc9de14e5180169a4285908233bc38ccac6f14110
|
||||
@@ -461,7 +461,7 @@ lib/codeql/rust/elements/internal/generated/ArrayExpr.qll 2ca97b602a707fe2c56600
|
||||
lib/codeql/rust/elements/internal/generated/ArrayType.qll 225ac477f67865d72b2a2e17420f5e52c25452a3c14f7ff367f873a859f97783 0030e3bf296dd5b69ea912fc85dc7120b060780033083127257cdca792dc3f4b
|
||||
lib/codeql/rust/elements/internal/generated/AsmExpr.qll b5fef59589c02c17857a4a7f5c7b5efb747a1e98710167efa5c2e88cffd7bcbb b43b297a3b4894e8dd92ef3a23b76f2684c303d41e6030398e69b7754ebea9cd
|
||||
lib/codeql/rust/elements/internal/generated/AssocItem.qll aa7c06e001b67e4a59476fa7299e09f8da16c93f91aff0ec9812c64386e7c023 0032b45e34e6aba9c4b3d319b108efa0de8ad679b5f254a1ec7c606877ff5e95
|
||||
lib/codeql/rust/elements/internal/generated/AssocItemList.qll d1ccbc5cb8bd41895d954101046a7810c4dcd402b981e2b4d78ecdae994ecdb3 50a5b5b5073c8926efdaf0a9a3d9d86f03ef850f94503629392a0a762b20cb9b
|
||||
lib/codeql/rust/elements/internal/generated/AssocItemList.qll c53d95395352bb3568198fd18da62e23511c64f19b5aaae4122bd696d402ebf5 3c244f2f0f053903576cdf2b1a15874dee0371caf9fecb5353aceab3c403f532
|
||||
lib/codeql/rust/elements/internal/generated/AssocTypeArg.qll 2a5bff8856c2c87f571629236218d23a7eb10fcc8e8e03f4f6957707972a96f8 1ceb581c640a9b0e9540655aebe7280101f33a6a8ff09d81f7d94ebb4d85c480
|
||||
lib/codeql/rust/elements/internal/generated/AstNode.qll 1cbfae6a732a1de54b56669ee69d875b0e1d15e58d9aa621df9337c59db5619d 37e16a0c70ae69c5dc1b6df241b9acca96a6326d6cca15456699c44a81c93666
|
||||
lib/codeql/rust/elements/internal/generated/Attr.qll 2e7983b2c462750065ed58cc10c62e42012ddf0dd32f5439df7c6d6bf8ff349d e8270d33a50f088a83a2dfaa5b0a63ec775a6c97c8bf3a9383ce7a1ba8fe8fa3
|
||||
@@ -565,7 +565,7 @@ lib/codeql/rust/elements/internal/generated/PtrType.qll 40099c5a4041314b66932dfd
|
||||
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590
|
||||
lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9
|
||||
lib/codeql/rust/elements/internal/generated/RangePat.qll efd93730de217cf50dcba5875595263a5eadf9f7e4e1272401342a094d158614 229b251b3d118932e31e78ac4dfb75f48b766f240f20d436062785606d44467b
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll c00127736b6e4b9899bdc0f95b2de0b40d92e80c0f9aaa9e288b8a298fb37c07 b3b03bf0fa514d3a5dda7cc26cf0f50f5fb98838f1bdb2b4b4dc7e93ab0beb28
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll ba1bace74a88ccfdc45dbc3770ce3661446ef6f89a934a969d440d9253d162c1 60d38756cb1f876260473bfc18b7fbeac5c984ef1675f452cdefaa422c04ae16
|
||||
lib/codeql/rust/elements/internal/generated/RecordExpr.qll eb6cb662e463f9260efae1a6ce874fa781172063b916ef1963f861e9942d308d 1a21cbccc8f3799ff13281e822818ebfb21d81591720a427cac3625512cb9d40
|
||||
lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1
|
||||
lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0
|
||||
@@ -594,7 +594,7 @@ lib/codeql/rust/elements/internal/generated/Synth.qll 68126fecadf402b76a30b6e916
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f
|
||||
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 a570fa93d0b78a35766b00d5ca256c102f824564248b9d8b678a981d6eea3e2e d9c7475e5102e21cfdee3b1791f89a4f9cdba5a4200349ff706532b704c02664
|
||||
lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e
|
||||
lib/codeql/rust/elements/internal/generated/TraitAlias.qll 0a3b568100baaca129a12140b0742a1c8e507ef5b2f2c191ff7452c882ba4064 c32e74569f885c683f8d3977682fcbc8b7699b00d5e538cc6b08acdfffa56bc8
|
||||
lib/codeql/rust/elements/internal/generated/TryExpr.qll 75bf9fdda5238155d2268806d415e341fa57f293dcadef003b4a11562c4cd877 935c746f822cf183cdf36bef2332f01e7ce38aa09aa8476d64c1062c5e8f13dd
|
||||
lib/codeql/rust/elements/internal/generated/TupleExpr.qll 75186da7c077287b9a86fc9194221ab565d458c08a5f80b763e73be5b646b29f 0250d75c43e2e6f56cdc8a0c00cc42b3d459ea8d48172d236c8cdf0fe96dfed2
|
||||
@@ -639,9 +639,6 @@ test/extractor-tests/generated/ArrayType/ArrayType_getTy.ql 1c23613e509ada3ffc1f
|
||||
test/extractor-tests/generated/AsmExpr/AsmExpr.ql 1273efcd8aab7de2a04ead74075d25c8a22afc9f0e6a3fb4322e3508a2cb6f84 cdd5389a269c048f56afaf3e93a0fb076ba1f445d6dcfc6621d8a324cac2f421
|
||||
test/extractor-tests/generated/AsmExpr/AsmExpr_getAttr.ql 93e644147ddc4de00c882c32d17ff3c22822e116b67361d52217619153b7d4c4 4c0c3f72707f41e879426ff75c5631e9283dc0507316740bec22216c5feb04e9
|
||||
test/extractor-tests/generated/AsmExpr/AsmExpr_getExpr.ql 4a37390e948fe336b592342b0c2b63afeac3000ce1416f5875cc9b0ce5a826e4 d32df64ddc3ce1b0536018ddcff30a24d9099c67e6bcbe9a4693ffb6e478361d
|
||||
test/extractor-tests/generated/AssocItemList/AssocItemList.ql 0ea572b1350f87cc09ce4dc1794b392cc9ad292abb8439c106a7a1afe166868b 6e7493a3ace65c68b714e31234e149f3fc44941c3b4d125892531102b1060b2f
|
||||
test/extractor-tests/generated/AssocItemList/AssocItemList_getAssocItem.ql 8149d905f6fc6caeb51fa1ddec787d0d90f4642687461c7b1a9d4ab93a27d65d 8fb9caad7d88a89dd71e5cc8e17496afbdf33800e58179f424ef482b1b765bb1
|
||||
test/extractor-tests/generated/AssocItemList/AssocItemList_getAttr.ql 06526c4a28fd4fdce04ca15fbadc2205b13dcc2d2de24177c370d812e02540e6 79c8ce6e1f8acc1aaca498531e2c1a0e7e2c0f2459d7fc9fe485fd82263c433f
|
||||
test/extractor-tests/generated/AssocTypeArg/AssocTypeArg.ql 2bf498a1e318cadf66f9f6341b41247c09070dbbab6d15ed4d3cd986a7f7da85 24d62bb3cb0a97c0e6180221e6cc8be86d9616021f8ef53175bbeabb5151a613
|
||||
test/extractor-tests/generated/AssocTypeArg/AssocTypeArg_getConstArg.ql c81e25fd7885f13c0500e8f9b84195876e70f2b25ad604046f497818226c8542 62ac0e7c82da169c248e4f9e0e8f866d2f4e599b03a287c2bd407b95a5d9efc8
|
||||
test/extractor-tests/generated/AssocTypeArg/AssocTypeArg_getGenericArgList.ql 4d20375752c000aab8d2e4988fff1a5c95689d114c8d63f37b389b95000ee873 957e360a4eeefa2536958770a7d150fda610d1d45c09900dbe66e470e361e294
|
||||
@@ -1042,6 +1039,9 @@ test/extractor-tests/generated/Struct/Struct_getName.ql 8f1d9da4013307b4d23a1ce5
|
||||
test/extractor-tests/generated/Struct/Struct_getVisibility.ql 17139d3f91e02a0fc12ad8443fe166fe11003301fee0c303f13aa6d1138e82d5 07bdc1fbcc0ea40508364ea632fce899cbe734159f5c377ea2029bc41bc9a3b4
|
||||
test/extractor-tests/generated/Struct/Struct_getWhereClause.ql d0db2c9811ed4568359e84255f04f0c75ae65a80d40981a1545d6cddf53e9c09 1133a46bc502757aaab61a8ac94b4a256b590548c5e27ec6a239ffd5a4a81577
|
||||
test/extractor-tests/generated/TokenTree/TokenTree.ql ba2ef197e0566640b57503579f3bc811a16fec56f4817117395bf81da08922a6 2e7b105cb917a444171669eb06f5491a4b222b1f81fa79209a138ab97db85aff
|
||||
test/extractor-tests/generated/Trait/AssocItemList.ql 0ea572b1350f87cc09ce4dc1794b392cc9ad292abb8439c106a7a1afe166868b 6e7493a3ace65c68b714e31234e149f3fc44941c3b4d125892531102b1060b2f
|
||||
test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.ql 8149d905f6fc6caeb51fa1ddec787d0d90f4642687461c7b1a9d4ab93a27d65d 8fb9caad7d88a89dd71e5cc8e17496afbdf33800e58179f424ef482b1b765bb1
|
||||
test/extractor-tests/generated/Trait/AssocItemList_getAttr.ql 06526c4a28fd4fdce04ca15fbadc2205b13dcc2d2de24177c370d812e02540e6 79c8ce6e1f8acc1aaca498531e2c1a0e7e2c0f2459d7fc9fe485fd82263c433f
|
||||
test/extractor-tests/generated/Trait/Trait.ql cc4a3abeef253e33d619af0da3ef3be4c45cb0266b9ef055a3fdc4a8f73d6f41 23487e8ace3bc3606b9801cf34810f14755d192265d39c83b7523603f263177d
|
||||
test/extractor-tests/generated/Trait/Trait_getAssocItemList.ql 05e6896f60afabf931a244e42f75ee55e09c749954a751d8895846de3121f58f def1f07d9945e8d9b45a659a285b0eb72b37509d20624c88e0a2d34abf7f0c72
|
||||
test/extractor-tests/generated/Trait/Trait_getAttr.ql 9711125fa4fc0212b6357f06d1bc50df50b46168d139b649034296c64d732e21 901b6a9d04055b563f13d8742bd770c76ed1b2ccf9a7236a64de9d6d287fbd52
|
||||
|
||||
6
rust/ql/.gitattributes
generated
vendored
6
rust/ql/.gitattributes
generated
vendored
@@ -641,9 +641,6 @@
|
||||
/test/extractor-tests/generated/AsmExpr/AsmExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsmExpr/AsmExpr_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AsmExpr/AsmExpr_getExpr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocItemList/AssocItemList.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocItemList/AssocItemList_getAssocItem.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocItemList/AssocItemList_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocTypeArg/AssocTypeArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocTypeArg/AssocTypeArg_getConstArg.ql linguist-generated
|
||||
/test/extractor-tests/generated/AssocTypeArg/AssocTypeArg_getGenericArgList.ql linguist-generated
|
||||
@@ -1044,6 +1041,9 @@
|
||||
/test/extractor-tests/generated/Struct/Struct_getVisibility.ql linguist-generated
|
||||
/test/extractor-tests/generated/Struct/Struct_getWhereClause.ql linguist-generated
|
||||
/test/extractor-tests/generated/TokenTree/TokenTree.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/AssocItemList.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/AssocItemList_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait_getAssocItemList.ql linguist-generated
|
||||
/test/extractor-tests/generated/Trait/Trait_getAttr.ql linguist-generated
|
||||
|
||||
@@ -9,9 +9,6 @@ import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Attr
|
||||
|
||||
/**
|
||||
* A AssocItemList. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* A list of `AssocItem` elements, as appearing for example in a `Trait`.
|
||||
*/
|
||||
final class AssocItemList = Impl::AssocItemList;
|
||||
|
||||
10
rust/ql/lib/codeql/rust/elements/Trait.qll
generated
10
rust/ql/lib/codeql/rust/elements/Trait.qll
generated
@@ -15,8 +15,14 @@ import codeql.rust.elements.WhereClause
|
||||
|
||||
/**
|
||||
* A Trait. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* trait Frobinizable {
|
||||
* type Frobinator;
|
||||
* type Result: Copy;
|
||||
* fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
* }
|
||||
*
|
||||
* pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
* ```
|
||||
*/
|
||||
final class Trait = Impl::Trait;
|
||||
|
||||
@@ -13,10 +13,7 @@ private import codeql.rust.elements.internal.generated.AssocItemList
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* A AssocItemList. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* A list of `AssocItem` elements, as appearing for example in a `Trait`.
|
||||
*/
|
||||
class AssocItemList extends Generated::AssocItemList { }
|
||||
}
|
||||
|
||||
@@ -14,8 +14,14 @@ private import codeql.rust.elements.internal.generated.Trait
|
||||
module Impl {
|
||||
/**
|
||||
* A Trait. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* trait Frobinizable {
|
||||
* type Frobinator;
|
||||
* type Result: Copy;
|
||||
* fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
* }
|
||||
*
|
||||
* pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
* ```
|
||||
*/
|
||||
class Trait extends Generated::Trait { }
|
||||
|
||||
@@ -16,10 +16,7 @@ import codeql.rust.elements.Attr
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A AssocItemList. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* A list of `AssocItem` elements, as appearing for example in a `Trait`.
|
||||
* INTERNAL: Do not reference the `Generated::AssocItemList` class directly.
|
||||
* Use the subclass `AssocItemList`, where the following predicates are available.
|
||||
*/
|
||||
|
||||
@@ -88,10 +88,7 @@ module Raw {
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A AssocItemList. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* A list of `AssocItem` elements, as appearing for example in a `Trait`.
|
||||
*/
|
||||
class AssocItemList extends @assoc_item_list, AstNode {
|
||||
override string toString() { result = "AssocItemList" }
|
||||
@@ -3718,8 +3715,14 @@ module Raw {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A Trait. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* trait Frobinizable {
|
||||
* type Frobinator;
|
||||
* type Result: Copy;
|
||||
* fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
* }
|
||||
*
|
||||
* pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
* ```
|
||||
*/
|
||||
class Trait extends @trait, Item {
|
||||
|
||||
@@ -22,8 +22,14 @@ import codeql.rust.elements.WhereClause
|
||||
module Generated {
|
||||
/**
|
||||
* A Trait. For example:
|
||||
* ```rust
|
||||
* todo!()
|
||||
* ```
|
||||
* trait Frobinizable {
|
||||
* type Frobinator;
|
||||
* type Result: Copy;
|
||||
* fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
* }
|
||||
*
|
||||
* pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
* ```
|
||||
* INTERNAL: Do not reference the `Generated::Trait` class directly.
|
||||
* Use the subclass `Trait`, where the following predicates are available.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
| canonical_paths.rs:1:1:23:1 | Module | crate::canonical_paths::a |
|
||||
| canonical_paths.rs:2:5:2:22 | Struct | crate::canonical_paths::a::Struct |
|
||||
| canonical_paths.rs:4:5:6:5 | Trait | crate::canonical_paths::a::Trait |
|
||||
| canonical_paths.rs:5:9:5:20 | f | crate::canonical_paths::a::Trait::f |
|
||||
| canonical_paths.rs:8:5:10:5 | Impl | None |
|
||||
| canonical_paths.rs:9:9:9:22 | f | <crate::canonical_paths::a::Struct as crate::canonical_paths::a::Trait>::f |
|
||||
| canonical_paths.rs:12:5:14:5 | Impl | None |
|
||||
| canonical_paths.rs:13:9:13:22 | g | <crate::canonical_paths::a::Struct>::g |
|
||||
| canonical_paths.rs:16:5:18:5 | Trait | crate::canonical_paths::a::TraitWithBlanketImpl |
|
||||
| canonical_paths.rs:17:9:17:20 | h | crate::canonical_paths::a::TraitWithBlanketImpl::h |
|
||||
| canonical_paths.rs:20:5:22:5 | Impl | None |
|
||||
| canonical_paths.rs:21:9:21:22 | h | <_ as crate::canonical_paths::a::TraitWithBlanketImpl>::h |
|
||||
| canonical_paths.rs:25:1:45:1 | Module | crate::canonical_paths::without |
|
||||
| canonical_paths.rs:26:5:44:5 | canonicals | crate::canonical_paths::without::canonicals |
|
||||
| canonical_paths.rs:27:9:27:27 | Struct | None |
|
||||
| canonical_paths.rs:29:9:31:9 | Trait | None |
|
||||
| canonical_paths.rs:30:13:30:24 | g | None |
|
||||
| canonical_paths.rs:33:9:35:9 | Impl | None |
|
||||
| canonical_paths.rs:34:13:34:26 | g | None |
|
||||
| canonical_paths.rs:37:9:39:9 | Impl | None |
|
||||
| canonical_paths.rs:38:13:38:26 | g | None |
|
||||
| canonical_paths.rs:41:9:43:9 | Impl | None |
|
||||
| canonical_paths.rs:42:13:42:26 | f | None |
|
||||
| lib.rs:1:1:1:20 | Module | crate::canonical_paths |
|
||||
@@ -0,0 +1,12 @@
|
||||
import rust
|
||||
import TestUtils
|
||||
|
||||
from Item i, string path
|
||||
where
|
||||
toBeTested(i) and
|
||||
(
|
||||
path = i.getCanonicalPath()
|
||||
or
|
||||
not i.hasCanonicalPath() and path = "None"
|
||||
)
|
||||
select i, path
|
||||
@@ -0,0 +1,45 @@
|
||||
mod a {
|
||||
pub struct Struct;
|
||||
|
||||
pub trait Trait {
|
||||
fn f(&self);
|
||||
}
|
||||
|
||||
impl Trait for Struct {
|
||||
fn f(&self) {}
|
||||
}
|
||||
|
||||
impl Struct {
|
||||
fn g(&self) {}
|
||||
}
|
||||
|
||||
trait TraitWithBlanketImpl {
|
||||
fn h(&self);
|
||||
}
|
||||
|
||||
impl<T: Eq> TraitWithBlanketImpl for T {
|
||||
fn h(&self) {}
|
||||
}
|
||||
}
|
||||
|
||||
mod without {
|
||||
fn canonicals() {
|
||||
struct OtherStruct;
|
||||
|
||||
trait OtherTrait {
|
||||
fn g(&self);
|
||||
}
|
||||
|
||||
impl OtherTrait for OtherStruct {
|
||||
fn g(&self) {}
|
||||
}
|
||||
|
||||
impl OtherTrait for crate::canonical_paths::a::Struct {
|
||||
fn g(&self) {}
|
||||
}
|
||||
|
||||
impl crate::canonical_paths::a::Trait for OtherStruct {
|
||||
fn f(&self) {}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ ArgList/gen_arg_list.rs 569d0b9b0479de5453ae0f89e4f90e32b02ee84dfb3d815821d722ec
|
||||
ArrayExpr/gen_array_expr.rs e4863b428ea2b5cfd59773f201e58fd905f7363512e54e4fdebd02c297bd85ff e4863b428ea2b5cfd59773f201e58fd905f7363512e54e4fdebd02c297bd85ff
|
||||
ArrayType/gen_array_type.rs 3cb5f35006648d676ead1088aa330cd34beaabaaad7b9aa952e6375bc1cec5cb 3cb5f35006648d676ead1088aa330cd34beaabaaad7b9aa952e6375bc1cec5cb
|
||||
AsmExpr/gen_asm_expr.rs 00b21fd66fe12785174bd0160d0317a6c78ff05dbba73313eb07b56531cf3158 00b21fd66fe12785174bd0160d0317a6c78ff05dbba73313eb07b56531cf3158
|
||||
AssocItemList/gen_assoc_item_list.rs 78c835e9f031147eb4a39052db3e61b567a1d9149903dd865b2e343cdb2c8c1f 78c835e9f031147eb4a39052db3e61b567a1d9149903dd865b2e343cdb2c8c1f
|
||||
AssocTypeArg/gen_assoc_type_arg.rs 00ec0e22c4d73338de605dc3b1b1306bc83a95f87376ce976f08d2f9923cc2b4 00ec0e22c4d73338de605dc3b1b1306bc83a95f87376ce976f08d2f9923cc2b4
|
||||
Attr/gen_attr.rs cd6e50f5ebb17066209682b1a9f22ff116584ffef180d8ab51e2ba5cab6a91ec cd6e50f5ebb17066209682b1a9f22ff116584ffef180d8ab51e2ba5cab6a91ec
|
||||
AwaitExpr/gen_await_expr.rs cbfa17a0b84bb0033b1f577c1f2a7ff187506c6211faaf6d90c371d4186b9aa2 cbfa17a0b84bb0033b1f577c1f2a7ff187506c6211faaf6d90c371d4186b9aa2
|
||||
@@ -112,7 +111,7 @@ Static/gen_static.rs ff01782c2f0f702373fc6df45ac9277fbdd8d4fad69dbe5f984a14790a4
|
||||
StmtList/gen_stmt_list.rs bb3791a613b91a2086c19cb0eddbf978bb37bbb2bd79d3e61b40be35c71daaad bb3791a613b91a2086c19cb0eddbf978bb37bbb2bd79d3e61b40be35c71daaad
|
||||
Struct/gen_struct.rs 09c5c164d7c8a3991fad1a118d66c12c24d2ebf30fbea6205f7690ca9f24dbb2 09c5c164d7c8a3991fad1a118d66c12c24d2ebf30fbea6205f7690ca9f24dbb2
|
||||
TokenTree/gen_token_tree.rs dde6595ee4e8f3fcdecfb054438b08e1a7db10d83d9fff121794df814c7aee0e dde6595ee4e8f3fcdecfb054438b08e1a7db10d83d9fff121794df814c7aee0e
|
||||
Trait/gen_trait.rs abef0d860253d9979d68c1e3051dd1de5d8b64a1575140dda1694e3516badba9 abef0d860253d9979d68c1e3051dd1de5d8b64a1575140dda1694e3516badba9
|
||||
Trait/gen_trait.rs bac694993e224f9c6dd86cfb28c54846ae1b3bae45a1e58d3149c884184487ea bac694993e224f9c6dd86cfb28c54846ae1b3bae45a1e58d3149c884184487ea
|
||||
TraitAlias/gen_trait_alias.rs c0c2d370674a20173db33e118e011328a880ba8ab42788ca735bb3d80b4b64a8 c0c2d370674a20173db33e118e011328a880ba8ab42788ca735bb3d80b4b64a8
|
||||
TryExpr/gen_try_expr.rs 2c7d8a5f3d65a084b645b5e4659fbbd3fbe65994fed1e6474ebd83df06f8d725 2c7d8a5f3d65a084b645b5e4659fbbd3fbe65994fed1e6474ebd83df06f8d725
|
||||
TupleExpr/gen_tuple_expr.rs 8ecd1b6ecc58a0319eed434a423cc6f41bdf1901b1950e6e79735d7f7b2f8374 8ecd1b6ecc58a0319eed434a423cc6f41bdf1901b1950e6e79735d7f7b2f8374
|
||||
|
||||
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
@@ -5,7 +5,6 @@
|
||||
/ArrayExpr/gen_array_expr.rs linguist-generated
|
||||
/ArrayType/gen_array_type.rs linguist-generated
|
||||
/AsmExpr/gen_asm_expr.rs linguist-generated
|
||||
/AssocItemList/gen_assoc_item_list.rs linguist-generated
|
||||
/AssocTypeArg/gen_assoc_type_arg.rs linguist-generated
|
||||
/Attr/gen_attr.rs linguist-generated
|
||||
/AwaitExpr/gen_await_expr.rs linguist-generated
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// generated by codegen, do not edit
|
||||
|
||||
fn test_assoc_item_list() -> () {
|
||||
// A AssocItemList. For example:
|
||||
todo!()
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:4:20:8:1 | AssocItemList | getNumberOfAssocItems: | 3 | getNumberOfAttrs: | 0 |
|
||||
| gen_trait.rs:10:52:10:53 | AssocItemList | getNumberOfAssocItems: | 0 | getNumberOfAttrs: | 0 |
|
||||
@@ -0,0 +1,3 @@
|
||||
| gen_trait.rs:4:20:8:1 | AssocItemList | 0 | gen_trait.rs:5:3:5:18 | TypeAlias |
|
||||
| gen_trait.rs:4:20:8:1 | AssocItemList | 1 | gen_trait.rs:6:3:6:20 | TypeAlias |
|
||||
| gen_trait.rs:4:20:8:1 | AssocItemList | 2 | gen_trait.rs:7:3:7:72 | frobinize_with |
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:3:1:8:1 | Trait | hasCanonicalPath: | yes | hasCrateOrigin: | yes | hasAssocItemList: | yes | getNumberOfAttrs: | 0 | hasGenericParamList: | no | isAuto: | no | isUnsafe: | no | hasName: | yes | hasTypeBoundList: | no | hasVisibility: | no | hasWhereClause: | no |
|
||||
| gen_trait.rs:10:1:10:53 | Trait | hasCanonicalPath: | yes | hasCrateOrigin: | yes | hasAssocItemList: | yes | getNumberOfAttrs: | 0 | hasGenericParamList: | yes | isAuto: | no | isUnsafe: | no | hasName: | yes | hasTypeBoundList: | no | hasVisibility: | no | hasWhereClause: | yes |
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:3:1:8:1 | Trait | gen_trait.rs:4:20:8:1 | AssocItemList |
|
||||
| gen_trait.rs:10:1:10:53 | Trait | gen_trait.rs:10:52:10:53 | AssocItemList |
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:3:1:8:1 | Trait | crate::gen_trait::Frobinizable |
|
||||
| gen_trait.rs:10:1:10:53 | Trait | crate::gen_trait::Foo |
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:3:1:8:1 | Trait | repo::test |
|
||||
| gen_trait.rs:10:1:10:53 | Trait | repo::test |
|
||||
@@ -0,0 +1 @@
|
||||
| gen_trait.rs:10:1:10:53 | Trait | gen_trait.rs:10:10:10:26 | GenericParamList |
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
| gen_trait.rs:3:1:8:1 | Trait | gen_trait.rs:4:7:4:18 | Name |
|
||||
| gen_trait.rs:10:1:10:53 | Trait | gen_trait.rs:10:7:10:9 | Name |
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
| gen_trait.rs:10:1:10:53 | Trait | gen_trait.rs:10:28:10:50 | WhereClause |
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
// generated by codegen, do not edit
|
||||
|
||||
fn test_trait() -> () {
|
||||
// A Trait. For example:
|
||||
todo!()
|
||||
// A Trait. For example:
|
||||
trait Frobinizable {
|
||||
type Frobinator;
|
||||
type Result: Copy;
|
||||
fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
}
|
||||
|
||||
pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
|
||||
@@ -844,12 +844,10 @@ class _:
|
||||
|
||||
|
||||
@annotate(AssocItemList)
|
||||
@qltest.test_with(Trait)
|
||||
class _:
|
||||
"""
|
||||
A AssocItemList. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
A list of `AssocItem` elements, as appearing for example in a `Trait`.
|
||||
"""
|
||||
|
||||
|
||||
@@ -1541,11 +1539,18 @@ class _:
|
||||
|
||||
|
||||
@annotate(Trait)
|
||||
@rust.doc_test_signature(None)
|
||||
class _:
|
||||
"""
|
||||
A Trait. For example:
|
||||
```rust
|
||||
todo!()
|
||||
```
|
||||
trait Frobinizable {
|
||||
type Frobinator;
|
||||
type Result: Copy;
|
||||
fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
|
||||
}
|
||||
|
||||
pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}
|
||||
```
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user