mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Rust: add Comment to schema
This commit is contained in:
2
rust/extractor/src/generated/.generated.list
generated
2
rust/extractor/src/generated/.generated.list
generated
@@ -1,2 +1,2 @@
|
||||
mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
|
||||
top.rs 90a8dbfc1e4689d3310f40a3377ef0542f1886cd8c84782362d3047f0b27b3ff 90a8dbfc1e4689d3310f40a3377ef0542f1886cd8c84782362d3047f0b27b3ff
|
||||
top.rs 855f5f0639dfafd8603c9b842f6470ca6d1214bb72391890a1de64db2adebba1 855f5f0639dfafd8603c9b842f6470ca6d1214bb72391890a1de64db2adebba1
|
||||
|
||||
93
rust/extractor/src/generated/top.rs
generated
93
rust/extractor/src/generated/top.rs
generated
@@ -2278,6 +2278,42 @@ impl From<trap::Label<StmtList>> for trap::Label<Locatable> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Token {
|
||||
_unused: ()
|
||||
}
|
||||
|
||||
impl trap::TrapClass for Token {
|
||||
fn class_name() -> &'static str { "Token" }
|
||||
}
|
||||
|
||||
impl From<trap::Label<Token>> for trap::Label<AstNode> {
|
||||
fn from(value: trap::Label<Token>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Token is a subclass of AstNode
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<Token>> for trap::Label<Element> {
|
||||
fn from(value: trap::Label<Token>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Token is a subclass of Element
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<Token>> for trap::Label<Locatable> {
|
||||
fn from(value: trap::Label<Token>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Token is a subclass of Locatable
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct TokenTree {
|
||||
pub id: trap::TrapId<TokenTree>,
|
||||
@@ -3787,6 +3823,63 @@ impl From<trap::Label<ClosureExpr>> for trap::Label<Locatable> {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Comment {
|
||||
pub id: trap::TrapId<Comment>,
|
||||
pub parent: trap::Label<AstNode>,
|
||||
pub text: String,
|
||||
}
|
||||
|
||||
impl trap::TrapEntry for Comment {
|
||||
fn extract_id(&mut self) -> trap::TrapId<Self> {
|
||||
std::mem::replace(&mut self.id, trap::TrapId::Star)
|
||||
}
|
||||
|
||||
fn emit(self, id: trap::Label<Self>, out: &mut trap::Writer) {
|
||||
out.add_tuple("comments", vec![id.into(), self.parent.into(), self.text.into()]);
|
||||
}
|
||||
}
|
||||
|
||||
impl trap::TrapClass for Comment {
|
||||
fn class_name() -> &'static str { "Comment" }
|
||||
}
|
||||
|
||||
impl From<trap::Label<Comment>> for trap::Label<AstNode> {
|
||||
fn from(value: trap::Label<Comment>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Comment is a subclass of AstNode
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<Comment>> for trap::Label<Element> {
|
||||
fn from(value: trap::Label<Comment>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Comment is a subclass of Element
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<Comment>> for trap::Label<Locatable> {
|
||||
fn from(value: trap::Label<Comment>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Comment is a subclass of Locatable
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<trap::Label<Comment>> for trap::Label<Token> {
|
||||
fn from(value: trap::Label<Comment>) -> Self {
|
||||
// SAFETY: this is safe because in the dbscheme Comment is a subclass of Token
|
||||
unsafe {
|
||||
Self::from_untyped(value.as_untyped())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct ConstArg {
|
||||
pub id: trap::TrapId<ConstArg>,
|
||||
|
||||
18
rust/ql/.generated.list
generated
18
rust/ql/.generated.list
generated
@@ -18,6 +18,7 @@ lib/codeql/rust/elements/CallExpr.qll 6760ef2753fcaa9f02860bfeadfd1b1603d0d5b35f
|
||||
lib/codeql/rust/elements/CastExpr.qll ba281bde130f43c486c4ad889539b77fba9e41afdf7980e50b6a8696a1ec7527 61257003d395896ec60729d0bc01da36697615bb725d07141255fbb5c44e50a0
|
||||
lib/codeql/rust/elements/ClosureBinder.qll 977df800f97cc9b03fffb5e5e1fc6acd08a2938e04cb6ad91108784a15b0d510 f6fad4127226fe1dff2f16416d8a7fde5d8ab4a88f30e443ac5e5ff618de3e05
|
||||
lib/codeql/rust/elements/ClosureExpr.qll 8f06357ae134e42c073eef994c83c04b8cf294fe33b286dbd75c0e705ce29d05 9d9e282d965fed723965376801d4afa49444d1d9be9b093d02e276729a2cf7ad
|
||||
lib/codeql/rust/elements/Comment.qll fedad50575125e9a64a8a8776a8c1dbf1e76df990f01849d9f0955f9d74cb2a6 8eb1afad1e1007a4f0090fdac65d81726b23eda6517d067fd0185f70f17635ab
|
||||
lib/codeql/rust/elements/Const.qll 2843a870e2abdf5b63fbea13f8a9ec4981b74369adec2ed3ce00a7d6f5a6fee3 c0bdb467cce63dcd3c65b21ef0836d8bf4e6c8d7d70049df8581fd35fdd03083
|
||||
lib/codeql/rust/elements/ConstArg.qll f37b34417503bbd2f3ce09b3211d8fa71f6a954970c2738c73be6c55f204e58e 15ef5e189b67cfdfe4d16909e0b411ac8fdd4ef187c328bdede03a1a5e416b54
|
||||
lib/codeql/rust/elements/ConstBlockPat.qll a25f42b84dbeb33e10955735ef53b8bb7e3258522d6d1a9068f19adaf1af89d9 eeb816d2b54db77a1e7bb70e90b68d040a0cd44e9d44455a223311c3615c5e6e
|
||||
@@ -121,6 +122,7 @@ lib/codeql/rust/elements/Static.qll 1e25940c774538de9b1aea877e20e34b672d6a3ed3b5
|
||||
lib/codeql/rust/elements/Stmt.qll 532b12973037301246daf7d8c0177f734202f43d9261c7a4ca6f5080eea8ca64 b838643c4f2b4623d2c816cddad0e68ca3e11f2879ab7beaece46f489ec4b1f3
|
||||
lib/codeql/rust/elements/StmtList.qll 6f990782d5a5307d6d8a3256eb510aedfdaf7bd0e45f3dff35388842ab487b8c b412a27dea0c67307ab79104d45c5b4848c3191cc983e8b0d8dfa739a1b65d9c
|
||||
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/TraitAlias.qll cb2af66ca1da20122b800097dbaaa904e5b6e753571fcfd6821e779be273d742 da8666db52609a5d04b847dfcecf753644f813597d58a4aa1a7e2d35ede96ef8
|
||||
@@ -190,6 +192,8 @@ lib/codeql/rust/elements/internal/ClosureBinderConstructor.qll 6e376ab9d40308e95
|
||||
lib/codeql/rust/elements/internal/ClosureBinderImpl.qll 58c6b17d34d678802ce3484f556482f3f6e3c3ff9a4be0e845bc2077818ab6fb 467261e12cba46f324364f5366bdb0034bf3c922b08307d39441ea5181e3f5f8
|
||||
lib/codeql/rust/elements/internal/ClosureExprConstructor.qll a348229d2b25c7ebd43b58461830b7915e92d31ae83436ec831e0c4873f6218a 70a1d2ac33db3ac4da5826b0e8628f2f29a8f9cdfd8e4fd0e488d90ce0031a38
|
||||
lib/codeql/rust/elements/internal/ClosureExprImpl.qll 5ae3d211273b3effc3bff9f06bcef480f8264084e0509e69b8ff29bc29f47b05 ff562bc8d15ecb76ada3111c7c74dd990a0e80f41a32477f5f2f7db9e8f71102
|
||||
lib/codeql/rust/elements/internal/CommentConstructor.qll 0b4a6a976d667bf7595500dfb91b9cfc87460a501837ba5382d9a8d8321d7736 7d02d8c94a319dc48e7978d5270e33fc5c308d443768ff96b618236d250123f1
|
||||
lib/codeql/rust/elements/internal/CommentImpl.qll c1b7f2fca9cfb7e611b25486ca5f06c4996f4436b72ed3a76e27a6409af4ec01 36f7d7c6d2dadda4d3423afc4f23bdaf275978b6f3d9ca71bf145afc92858f9c
|
||||
lib/codeql/rust/elements/internal/ConstArgConstructor.qll f63021dc1ca2276786da3a981d06c18d7a360b5e75c08bca5d1afece4f7c4a83 487a870cbf5ed6554d671a8e159edd9261d853eba2d28ce2bd459759f47f11f2
|
||||
lib/codeql/rust/elements/internal/ConstArgImpl.qll 234fe6533c208a1731cdb423aa3a28909bd7e042dbc28bbedfd4f62e42b6f21e c576a49006f7a10483041fc07f2f0d089710ac61840be61a2e71140db709f9c6
|
||||
lib/codeql/rust/elements/internal/ConstBlockPatConstructor.qll ddb4a0045635d477e87360ecafec0ba90ddcffc6e62996eb6e7edd5a5d65b860 442061d0497a615b3f008b990f5e3c4f045110f76500eff81a7f44ffd1319acf
|
||||
@@ -380,6 +384,7 @@ lib/codeql/rust/elements/internal/StmtListConstructor.qll 435d59019e17a6279110a2
|
||||
lib/codeql/rust/elements/internal/StmtListImpl.qll fc16097d08124bcc39c998b07023710e0152baed165fb134cac2ee27e22a9f7a a4eceb42720593d8d0ce031016465de0bb61d40f31b2cc2718626ef8348ac900
|
||||
lib/codeql/rust/elements/internal/StructConstructor.qll 52921ea6e70421fd08884dc061d0c2dfbbb8dd83d98f1f3c70572cfe57b2a173 dcb3ea8e45ee875525c645fe5d08e6db9013b86bd351c77df4590d0c1439ab9f
|
||||
lib/codeql/rust/elements/internal/StructImpl.qll 7e3b58c3038ad7a3315cae34a34f99380e36d33cf3fb4437de6f6dcfed2ad579 1cfcb3bb5381349a2a4074a9e53927f5c540f2b251b187ad28da300968dfc649
|
||||
lib/codeql/rust/elements/internal/TokenImpl.qll 87629ffee74cacc6e8af5e96e18e62fb0fa4043d3ba1e7360daa880e628f8530 d54e213e39ae2b9bb92ab377dc72d72ba5bca88b72d29032507cdcbef201a215
|
||||
lib/codeql/rust/elements/internal/TokenTreeConstructor.qll 0be1f838b04ff944560aa477cbe4ab1ad0b3f4ae982de84773faac5902fcae45 254b387adc2e1e3c355651ab958785d0b8babbc0030194234698a1219e9497b3
|
||||
lib/codeql/rust/elements/internal/TokenTreeImpl.qll c61574f2b551db24640258117e0c8653196ba91392ce81da71a3a528ee07b1ad 489a1c8f550725e28871ae99c41d03b719c3099b8f73ae7422f497430f616267
|
||||
lib/codeql/rust/elements/internal/TraitAliasConstructor.qll d2f159cac53b9d65ec8176b8c8ccb944541cd35c64f0d1ceabb32cd975c000bf 6564981793de762af2775cc729e25054ea788648509d151cbfdbdf99fc9ed364
|
||||
@@ -462,6 +467,7 @@ lib/codeql/rust/elements/internal/generated/CallExpr.qll c2700dbd9c33dcc14de10dc
|
||||
lib/codeql/rust/elements/internal/generated/CastExpr.qll d6fbf02e9e202254666082a9116634d0eb933177866ac4c0a57b5e9c4bb4b383 477f67773492e3b82695461d56327c9db05a7d1a67e8d192406265f2ce369670
|
||||
lib/codeql/rust/elements/internal/generated/ClosureBinder.qll 94c0dcdd4cd87d115659d496c88a98354bc7d4ddc0fa27028003bf7688b99987 d59d713b426dbbdb775df9092d176eea031dac1f14e468810f2fc8591399cd19
|
||||
lib/codeql/rust/elements/internal/generated/ClosureExpr.qll f9047451cb8b53f8b77e1c01f7ef485d5b5a92999e0591c6702062050052fa2f 2252be8b3022c587a8c6ad93b64d856263be7bfe2938c1d063e7cad845dd38e2
|
||||
lib/codeql/rust/elements/internal/generated/Comment.qll cd1ef861e3803618f9f78a4ac00516d50ecfecdca1c1d14304dc5327cbe07a3b 8b67345aeb15beb5895212228761ea3496297846c93fd2127b417406ae87c201
|
||||
lib/codeql/rust/elements/internal/generated/Const.qll 0dbea9732880a4583166714d077276ec2b5665fa9772ea4284ee7b3f3d567923 38efc474b76f0b13695e9d9b39d016200c251fd9db48d4a1ab27dcb38946ca72
|
||||
lib/codeql/rust/elements/internal/generated/ConstArg.qll e2451cac6ee464f5b64883d60d534996fcff061a520517ac792116238a11e185 1dd6d4b073b0970448a52bbe2468cd160dfe108971dbf9ae9305900bd22ef146
|
||||
lib/codeql/rust/elements/internal/generated/ConstBlockPat.qll e90cf24d7f995595111f2b48bd3775d064bc968c24074c122141aa0f058dcb83 a44f6e14da8cc760a0aae947c20ec47fff488da1e9a8dfab58b7dbc42c296fec
|
||||
@@ -531,7 +537,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 ce24b8f8ecbf0f204af200317405724063887257460c80cf250c39b2fdf37185 e7c87d37e1a0ca7ea03840017e1aa9ddb7f927f1f3b6396c0305b46aeee33db6
|
||||
lib/codeql/rust/elements/internal/generated/ParenType.qll 9cc954d73f8330dcac7b475f97748b63af5c8766dee9d2f2872c0a7e4c903537 c07534c8a9c683c4a9b11d490095647e420de0a0bfc23273eaf6f31b00244273
|
||||
lib/codeql/rust/elements/internal/generated/ParentChild.qll 62153298532ad8787b0c02df71c1ac4076db75d519ed1bf726f2d71dd5d7ad68 c57903db3133f8e251991cdf9c9c53398ca5e0536ccde5158b959487c05f7856
|
||||
lib/codeql/rust/elements/internal/generated/ParentChild.qll ad728d69b3ef9555d71db2274b04a5ba99b4f815120c55032c57d077e0c954ca 64c6406626a14ed3052d3996cc47fc91e435175bd982440d948416cf878400fd
|
||||
lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4
|
||||
lib/codeql/rust/elements/internal/generated/Path.qll 299abce24762a5ab023f3cf1ab9718b83047e171aed42a8092e7a155914b1657 db1a23d18640c548f08c9f94823838b5e019ac85877c7b15df2d1493d1846572
|
||||
lib/codeql/rust/elements/internal/generated/PathExpr.qll 17cdb0a7393258a207450f08e37178fc9d35d167f064ba6015be94246f3dc933 a75fdd280aff6d87e083a92030e041c2eb52b57cf7151d4a6989fcd31d6a64bf
|
||||
@@ -543,7 +549,7 @@ lib/codeql/rust/elements/internal/generated/PtrType.qll 5f12b6ad29b4e5ce51c205e2
|
||||
lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll dc03515d678ba052c2ff2dd9f0883e0bce54cac740ba9a15e5173f292c1b6971 dc03515d678ba052c2ff2dd9f0883e0bce54cac740ba9a15e5173f292c1b6971
|
||||
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 8361be3a8ed615b08c49bff624b84f1c7ee26c01265494e9969d22abc83101f3 c16a5bb379cc38faabcc4525820729a7a837ab5c427da41bff228d1ecd181247
|
||||
lib/codeql/rust/elements/internal/generated/Raw.qll 783c3d04b798c0a5281baf88aa3ada406492e6e6b8ff41dac658d52c88f95c46 e69891409fc89f0a3a199feb6f1a734bfdd862239a5f6794de0ee811e69fab04
|
||||
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
|
||||
@@ -568,8 +574,9 @@ lib/codeql/rust/elements/internal/generated/Static.qll cae5313e08e4af44c46b25802
|
||||
lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd174b94d610f6ca0aec8e473cc051dad9f3db917 6ef7d2b5237c2dbdcacbf7d8b39109d4dc100229f2b28b5c9e3e4fbf673ba72b
|
||||
lib/codeql/rust/elements/internal/generated/StmtList.qll a667193e32341e17400867c6e359878c4e645ef9f5f4d97676afc0283a33a026 a320ed678ee359302e2fc1b70a9476705cd616fcfa44a499d32f0c7715627f73
|
||||
lib/codeql/rust/elements/internal/generated/Struct.qll 4d57f0db12dc7ad3e31e750a24172ef1505406b4dab16386af0674bd18bf8f4b 1a73c83df926b996f629316f74c61ea775be04532ab61b56af904223354f033e
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll 2512c0baff641fb9a7eb61c329f02fade7cff8a5c80559658c73425f22d82197 51a376dac98e56a2f15548487055823e7f728f0de955932ccf43488833279bb5
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll 649e5d313e51e78802c8bc67bfba1aea59bef9a83fc1b17bb558c3cf4aee089a 649e5d313e51e78802c8bc67bfba1aea59bef9a83fc1b17bb558c3cf4aee089a
|
||||
lib/codeql/rust/elements/internal/generated/Synth.qll 99fa143232f2cfb1ef3f6ed6a51afa634c336361105e37719ce11ca6c74de8ee b3b77e1bdea36022b3be7cef000e7113059eb8b2b1afec26ae1d62e84259143b
|
||||
lib/codeql/rust/elements/internal/generated/SynthConstructors.qll 518b68ccf6d0791bc0c141486261108bb1723e37743fc7f8e4167a1d61660531 518b68ccf6d0791bc0c141486261108bb1723e37743fc7f8e4167a1d61660531
|
||||
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 32bdbb4dc9f03488195a90320a947013135cd2fae1b9d62b4f71ed9a4e39a967 5dab0fbec64698bf3cdae04879d3d1665cf82386b7b030ed69e6b20776ffa9fc
|
||||
lib/codeql/rust/elements/internal/generated/TraitAlias.qll 0a3b568100baaca129a12140b0742a1c8e507ef5b2f2c191ff7452c882ba4064 c32e74569f885c683f8d3977682fcbc8b7699b00d5e538cc6b08acdfffa56bc8
|
||||
@@ -602,7 +609,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll fec8a9211b82a80601bf73
|
||||
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 881084ba8191ae735ffc905d7d05aadb82739aa0887282a226f513f25c790e88 881084ba8191ae735ffc905d7d05aadb82739aa0887282a226f513f25c790e88
|
||||
lib/codeql/rust/elements.qll 926e6e5f994ef7fcd04854c4d69004d7bfd81950e132c9d3d501b4b2420db222 926e6e5f994ef7fcd04854c4d69004d7bfd81950e132c9d3d501b4b2420db222
|
||||
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
|
||||
@@ -667,6 +674,7 @@ test/extractor-tests/generated/ClosureExpr/ClosureExpr_getBody.ql 22a973a61274e8
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getClosureBinder.ql cbfcf89b8efb5cb9b7bfbea26b5a78b3d4c7994cbf03d5ca60b61ee1b5cb4be5 621431277732ef79c585cb0b7199c49b14c597ee6b594a70d9e6966a09d40a9f
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getParamList.ql 68ce501516094512dd5bfed42a785474583a91312f704087cba801b02ba7b834 eacbf89d63159e7decfd84c2a1dc5c067dfce56a8157fbb52bc133e9702d266d
|
||||
test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql c95bc7306b2d77aa05a6501b6321e6f1e7a48b7ad422ba082635ab20014288ae fe72d44c9819b42fff49b9092a9fb2bfafde6d3b9e4967547fb5298822f30bc3
|
||||
test/extractor-tests/generated/Comment/Comment.ql 5428b8417a737f88f0d55d87de45c4693d81f03686f03da11dc5369e163d977b 8948c1860cde198d49cff7c74741f554a9e89f8af97bb94de80f3c62e1e29244
|
||||
test/extractor-tests/generated/Const/Const.ql db81591df5a8822a578f9445b8444f6ac391efc43c61aab429edb76ab9c0303d 5f7ae3622c03eb151fa5326db785f0ff3fe6f52033fc071d758eac18ea1b5722
|
||||
test/extractor-tests/generated/Const/Const_getAttr.ql bd6296dab00065db39663db8d09fe62146838875206ff9d8595d06d6439f5043 34cb55ca6d1f44e27d82a8b624f16f9408bae2485c85da94cc76327eed168577
|
||||
test/extractor-tests/generated/Const/Const_getBody.ql f50f79b7f42bb1043b79ec96f999fa4740c8014e6969a25812d5d023d7a5a5d8 90e5060ba9757f1021429ed4ec4913bc78747f3fc415456ef7e7fc284b8a0026
|
||||
|
||||
8
rust/ql/.gitattributes
generated
vendored
8
rust/ql/.gitattributes
generated
vendored
@@ -20,6 +20,7 @@
|
||||
/lib/codeql/rust/elements/CastExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ClosureBinder.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ClosureExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Comment.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Const.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ConstArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/ConstBlockPat.qll linguist-generated
|
||||
@@ -123,6 +124,7 @@
|
||||
/lib/codeql/rust/elements/Stmt.qll linguist-generated
|
||||
/lib/codeql/rust/elements/StmtList.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Struct.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Token.qll linguist-generated
|
||||
/lib/codeql/rust/elements/TokenTree.qll linguist-generated
|
||||
/lib/codeql/rust/elements/Trait.qll linguist-generated
|
||||
/lib/codeql/rust/elements/TraitAlias.qll linguist-generated
|
||||
@@ -192,6 +194,8 @@
|
||||
/lib/codeql/rust/elements/internal/ClosureBinderImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/ClosureExprConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/ClosureExprImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/CommentConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/CommentImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/ConstArgConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/ConstArgImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/ConstBlockPatConstructor.qll linguist-generated
|
||||
@@ -382,6 +386,7 @@
|
||||
/lib/codeql/rust/elements/internal/StmtListImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/StructConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/StructImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenTreeConstructor.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TokenTreeImpl.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/TraitAliasConstructor.qll linguist-generated
|
||||
@@ -464,6 +469,7 @@
|
||||
/lib/codeql/rust/elements/internal/generated/CastExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/ClosureBinder.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/ClosureExpr.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/Comment.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/Const.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/ConstArg.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/ConstBlockPat.qll linguist-generated
|
||||
@@ -572,6 +578,7 @@
|
||||
/lib/codeql/rust/elements/internal/generated/Struct.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/Synth.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/Token.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/TokenTree.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/Trait.qll linguist-generated
|
||||
/lib/codeql/rust/elements/internal/generated/TraitAlias.qll linguist-generated
|
||||
@@ -669,6 +676,7 @@
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getClosureBinder.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getParamList.ql linguist-generated
|
||||
/test/extractor-tests/generated/ClosureExpr/ClosureExpr_getRetType.ql linguist-generated
|
||||
/test/extractor-tests/generated/Comment/Comment.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const_getAttr.ql linguist-generated
|
||||
/test/extractor-tests/generated/Const/Const_getBody.ql linguist-generated
|
||||
|
||||
2
rust/ql/lib/codeql/rust/elements.qll
generated
2
rust/ql/lib/codeql/rust/elements.qll
generated
@@ -23,6 +23,7 @@ import codeql.rust.elements.CallExpr
|
||||
import codeql.rust.elements.CastExpr
|
||||
import codeql.rust.elements.ClosureBinder
|
||||
import codeql.rust.elements.ClosureExpr
|
||||
import codeql.rust.elements.Comment
|
||||
import codeql.rust.elements.Const
|
||||
import codeql.rust.elements.ConstArg
|
||||
import codeql.rust.elements.ConstBlockPat
|
||||
@@ -126,6 +127,7 @@ import codeql.rust.elements.Static
|
||||
import codeql.rust.elements.Stmt
|
||||
import codeql.rust.elements.StmtList
|
||||
import codeql.rust.elements.Struct
|
||||
import codeql.rust.elements.Token
|
||||
import codeql.rust.elements.TokenTree
|
||||
import codeql.rust.elements.Trait
|
||||
import codeql.rust.elements.TraitAlias
|
||||
|
||||
17
rust/ql/lib/codeql/rust/elements/Comment.qll
generated
Normal file
17
rust/ql/lib/codeql/rust/elements/Comment.qll
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `Comment`.
|
||||
*/
|
||||
|
||||
private import internal.CommentImpl
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.Token
|
||||
|
||||
/**
|
||||
* A comment. For example:
|
||||
* ```rust
|
||||
* // this is a comment
|
||||
* /// This is a doc comment
|
||||
* ```
|
||||
*/
|
||||
final class Comment = Impl::Comment;
|
||||
12
rust/ql/lib/codeql/rust/elements/Token.qll
generated
Normal file
12
rust/ql/lib/codeql/rust/elements/Token.qll
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the public class `Token`.
|
||||
*/
|
||||
|
||||
private import internal.TokenImpl
|
||||
import codeql.rust.elements.AstNode
|
||||
|
||||
/**
|
||||
* The base class for all tokens.
|
||||
*/
|
||||
final class Token = Impl::Token;
|
||||
14
rust/ql/lib/codeql/rust/elements/internal/CommentConstructor.qll
generated
Normal file
14
rust/ql/lib/codeql/rust/elements/internal/CommentConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `Comment` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `Comment` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructComment(Raw::Comment id) { any() }
|
||||
23
rust/ql/lib/codeql/rust/elements/internal/CommentImpl.qll
generated
Normal file
23
rust/ql/lib/codeql/rust/elements/internal/CommentImpl.qll
generated
Normal file
@@ -0,0 +1,23 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Comment`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Comment
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `Comment` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* A comment. For example:
|
||||
* ```rust
|
||||
* // this is a comment
|
||||
* /// This is a doc comment
|
||||
* ```
|
||||
*/
|
||||
class Comment extends Generated::Comment { }
|
||||
}
|
||||
19
rust/ql/lib/codeql/rust/elements/internal/TokenImpl.qll
generated
Normal file
19
rust/ql/lib/codeql/rust/elements/internal/TokenImpl.qll
generated
Normal file
@@ -0,0 +1,19 @@
|
||||
// generated by codegen, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `Token`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Token
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `Token` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* The base class for all tokens.
|
||||
*/
|
||||
class Token extends Generated::Token { }
|
||||
}
|
||||
42
rust/ql/lib/codeql/rust/elements/internal/generated/Comment.qll
generated
Normal file
42
rust/ql/lib/codeql/rust/elements/internal/generated/Comment.qll
generated
Normal file
@@ -0,0 +1,42 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `Comment`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.AstNode
|
||||
import codeql.rust.elements.internal.TokenImpl::Impl as TokenImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Comment` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A comment. For example:
|
||||
* ```rust
|
||||
* // this is a comment
|
||||
* /// This is a doc comment
|
||||
* ```
|
||||
* INTERNAL: Do not reference the `Generated::Comment` class directly.
|
||||
* Use the subclass `Comment`, where the following predicates are available.
|
||||
*/
|
||||
class Comment extends Synth::TComment, TokenImpl::Token {
|
||||
override string getAPrimaryQlClass() { result = "Comment" }
|
||||
|
||||
/**
|
||||
* Gets the parent of this comment.
|
||||
*/
|
||||
AstNode getParent() {
|
||||
result =
|
||||
Synth::convertAstNodeFromRaw(Synth::convertCommentToRaw(this).(Raw::Comment).getParent())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the text of this comment.
|
||||
*/
|
||||
string getText() { result = Synth::convertCommentToRaw(this).(Raw::Comment).getText() }
|
||||
}
|
||||
}
|
||||
@@ -884,6 +884,19 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfToken(Token e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfTokenTree(TokenTree e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
b = 0 and
|
||||
@@ -1449,6 +1462,19 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfComment(Comment e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bToken, int n |
|
||||
b = 0 and
|
||||
bToken = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfToken(e, i, _)) | i) and
|
||||
n = bToken and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfToken(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfConstArg(ConstArg e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bGenericArg, int n, int nExpr |
|
||||
b = 0 and
|
||||
@@ -3499,6 +3525,8 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfClosureExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfComment(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfConstArg(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfConstBlockPat(e, index, partialAccessor)
|
||||
|
||||
@@ -841,6 +841,12 @@ module Raw {
|
||||
Expr getTailExpr() { stmt_list_tail_exprs(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* The base class for all tokens.
|
||||
*/
|
||||
class Token extends @token, AstNode { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A TokenTree. For example:
|
||||
@@ -1486,6 +1492,28 @@ module Raw {
|
||||
RetType getRetType() { closure_expr_ret_types(this, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A comment. For example:
|
||||
* ```rust
|
||||
* // this is a comment
|
||||
* /// This is a doc comment
|
||||
* ```
|
||||
*/
|
||||
class Comment extends @comment, Token {
|
||||
override string toString() { result = "Comment" }
|
||||
|
||||
/**
|
||||
* Gets the parent of this comment.
|
||||
*/
|
||||
AstNode getParent() { comments(this, result, _) }
|
||||
|
||||
/**
|
||||
* Gets the text of this comment.
|
||||
*/
|
||||
string getText() { comments(this, _, result) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A ConstArg. For example:
|
||||
|
||||
@@ -86,6 +86,10 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TClosureExpr(Raw::ClosureExpr id) { constructClosureExpr(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TComment(Raw::Comment id) { constructComment(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -595,8 +599,9 @@ module Synth {
|
||||
TParam or TParamList or TPat or TPath or TPathSegment or TRecordExprField or
|
||||
TRecordExprFieldList or TRecordField or TRecordPatField or TRecordPatFieldList or TRename or
|
||||
TRetType or TReturnTypeSyntax or TSelfParam or TSourceFile or TStmt or TStmtList or
|
||||
TTokenTree or TTupleField or TTypeBound or TTypeBoundList or TTypeRef or TUseTree or
|
||||
TUseTreeList or TVariant or TVariantList or TVisibility or TWhereClause or TWherePred;
|
||||
TToken or TTokenTree or TTupleField or TTypeBound or TTypeBoundList or TTypeRef or
|
||||
TUseTree or TUseTreeList or TVariant or TVariantList or TVisibility or TWhereClause or
|
||||
TWherePred;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -655,6 +660,11 @@ module Synth {
|
||||
*/
|
||||
class TStmt = TExprStmt or TItem or TLetStmt;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TToken = TComment;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -776,6 +786,12 @@ module Synth {
|
||||
*/
|
||||
TClosureExpr convertClosureExprFromRaw(Raw::Element e) { result = TClosureExpr(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TComment`, if possible.
|
||||
*/
|
||||
TComment convertCommentFromRaw(Raw::Element e) { result = TComment(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TConst`, if possible.
|
||||
@@ -1621,6 +1637,8 @@ module Synth {
|
||||
or
|
||||
result = convertStmtListFromRaw(e)
|
||||
or
|
||||
result = convertTokenFromRaw(e)
|
||||
or
|
||||
result = convertTokenTreeFromRaw(e)
|
||||
or
|
||||
result = convertTupleFieldFromRaw(e)
|
||||
@@ -1880,6 +1898,12 @@ module Synth {
|
||||
result = convertLetStmtFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TToken`, if possible.
|
||||
*/
|
||||
TToken convertTokenFromRaw(Raw::Element e) { result = convertCommentFromRaw(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TTypeRef`, if possible.
|
||||
@@ -2032,6 +2056,12 @@ module Synth {
|
||||
*/
|
||||
Raw::Element convertClosureExprToRaw(TClosureExpr e) { e = TClosureExpr(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TComment` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertCommentToRaw(TComment e) { e = TComment(result) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TConst` to a raw DB element, if possible.
|
||||
@@ -2877,6 +2907,8 @@ module Synth {
|
||||
or
|
||||
result = convertStmtListToRaw(e)
|
||||
or
|
||||
result = convertTokenToRaw(e)
|
||||
or
|
||||
result = convertTokenTreeToRaw(e)
|
||||
or
|
||||
result = convertTupleFieldToRaw(e)
|
||||
@@ -3136,6 +3168,12 @@ module Synth {
|
||||
result = convertLetStmtToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TToken` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertTokenToRaw(TToken e) { result = convertCommentToRaw(e) }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TTypeRef` to a raw DB element, if possible.
|
||||
|
||||
@@ -21,6 +21,7 @@ import codeql.rust.elements.internal.CallExprConstructor
|
||||
import codeql.rust.elements.internal.CastExprConstructor
|
||||
import codeql.rust.elements.internal.ClosureBinderConstructor
|
||||
import codeql.rust.elements.internal.ClosureExprConstructor
|
||||
import codeql.rust.elements.internal.CommentConstructor
|
||||
import codeql.rust.elements.internal.ConstConstructor
|
||||
import codeql.rust.elements.internal.ConstArgConstructor
|
||||
import codeql.rust.elements.internal.ConstBlockPatConstructor
|
||||
|
||||
22
rust/ql/lib/codeql/rust/elements/internal/generated/Token.qll
generated
Normal file
22
rust/ql/lib/codeql/rust/elements/internal/generated/Token.qll
generated
Normal file
@@ -0,0 +1,22 @@
|
||||
// generated by codegen, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `Token`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.rust.elements.internal.generated.Synth
|
||||
private import codeql.rust.elements.internal.generated.Raw
|
||||
import codeql.rust.elements.internal.AstNodeImpl::Impl as AstNodeImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `Token` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* The base class for all tokens.
|
||||
* INTERNAL: Do not reference the `Generated::Token` class directly.
|
||||
* Use the subclass `Token`, where the following predicates are available.
|
||||
*/
|
||||
class Token extends Synth::TToken, AstNodeImpl::AstNode { }
|
||||
}
|
||||
@@ -176,6 +176,7 @@ locatable_locations(
|
||||
| @source_file
|
||||
| @stmt
|
||||
| @stmt_list
|
||||
| @token
|
||||
| @token_tree
|
||||
| @tuple_field
|
||||
| @type_bound
|
||||
@@ -869,6 +870,10 @@ stmt_list_tail_exprs(
|
||||
int tail_expr: @expr ref
|
||||
);
|
||||
|
||||
@token =
|
||||
@comment
|
||||
;
|
||||
|
||||
token_trees(
|
||||
unique int id: @token_tree
|
||||
);
|
||||
@@ -1377,6 +1382,12 @@ closure_expr_ret_types(
|
||||
int ret_type: @ret_type ref
|
||||
);
|
||||
|
||||
comments(
|
||||
unique int id: @comment,
|
||||
int parent: @ast_node ref,
|
||||
string text: string ref
|
||||
);
|
||||
|
||||
const_args(
|
||||
unique int id: @const_arg
|
||||
);
|
||||
|
||||
@@ -16,6 +16,7 @@ CallExpr/gen_call_expr.rs 013a7c878996aefb25b94b68eebc4f0b1bb74ccd09e91c49198081
|
||||
CastExpr/gen_cast_expr.rs abd59cc7b92578b56098ac0045cf7de4b15c645cce79e3bdad8d3b6f4657360d abd59cc7b92578b56098ac0045cf7de4b15c645cce79e3bdad8d3b6f4657360d
|
||||
ClosureBinder/gen_closure_binder.rs 78d3219bdfc58a22f333e3c82468fc23001e92b1d5acb085de7f48d7d1722244 78d3219bdfc58a22f333e3c82468fc23001e92b1d5acb085de7f48d7d1722244
|
||||
ClosureExpr/gen_closure_expr.rs 15bd9abdb8aaffabb8bb335f8ebd0571eb5f29115e1dc8d11837aa988702cd80 15bd9abdb8aaffabb8bb335f8ebd0571eb5f29115e1dc8d11837aa988702cd80
|
||||
Comment/gen_comment.rs 1e1f9f43161a79c096c2056e8b7f5346385ab7addcdec68c2d53b383dd3debe6 1e1f9f43161a79c096c2056e8b7f5346385ab7addcdec68c2d53b383dd3debe6
|
||||
Const/gen_const.rs fea9d399fe4036c55b94b419ecb1cbb3131248ae338c20d383080dd1ca30f274 fea9d399fe4036c55b94b419ecb1cbb3131248ae338c20d383080dd1ca30f274
|
||||
ConstArg/gen_const_arg.rs feab3cdbbc469a287884ff7605e9a7541f904e9e5bd1f14a8e0f741fa970dd7c feab3cdbbc469a287884ff7605e9a7541f904e9e5bd1f14a8e0f741fa970dd7c
|
||||
ConstBlockPat/gen_const_block_pat.rs 7e3057cd24d22e752354369cf7e08e9536642812c0947b36aa5d8290a45476fd 7e3057cd24d22e752354369cf7e08e9536642812c0947b36aa5d8290a45476fd
|
||||
|
||||
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
1
rust/ql/test/extractor-tests/generated/.gitattributes
generated
vendored
@@ -18,6 +18,7 @@
|
||||
/CastExpr/gen_cast_expr.rs linguist-generated
|
||||
/ClosureBinder/gen_closure_binder.rs linguist-generated
|
||||
/ClosureExpr/gen_closure_expr.rs linguist-generated
|
||||
/Comment/gen_comment.rs linguist-generated
|
||||
/Const/gen_const.rs linguist-generated
|
||||
/ConstArg/gen_const_arg.rs linguist-generated
|
||||
/ConstBlockPat/gen_const_block_pat.rs linguist-generated
|
||||
|
||||
11
rust/ql/test/extractor-tests/generated/Comment/Comment.ql
generated
Normal file
11
rust/ql/test/extractor-tests/generated/Comment/Comment.ql
generated
Normal file
@@ -0,0 +1,11 @@
|
||||
// generated by codegen, do not edit
|
||||
import codeql.rust.elements
|
||||
import TestUtils
|
||||
|
||||
from Comment x, AstNode getParent, string getText
|
||||
where
|
||||
toBeTested(x) and
|
||||
not x.isUnknown() and
|
||||
getParent = x.getParent() and
|
||||
getText = x.getText()
|
||||
select x, "getParent:", getParent, "getText:", getText
|
||||
7
rust/ql/test/extractor-tests/generated/Comment/gen_comment.rs
generated
Normal file
7
rust/ql/test/extractor-tests/generated/Comment/gen_comment.rs
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
// generated by codegen, do not edit
|
||||
|
||||
fn test_comment() -> () {
|
||||
// A comment. For example:
|
||||
// this is a comment
|
||||
/// This is a doc comment
|
||||
}
|
||||
@@ -3,6 +3,7 @@ from misc.codegen.lib.schemadefs import *
|
||||
include("../shared/tree-sitter-extractor/src/generator/prefix.dbscheme")
|
||||
include("prefix.dbscheme")
|
||||
|
||||
|
||||
@qltest.skip
|
||||
class Element:
|
||||
pass
|
||||
@@ -18,6 +19,26 @@ class AstNode(Locatable):
|
||||
pass
|
||||
|
||||
|
||||
@qltest.skip
|
||||
class Token(AstNode):
|
||||
"""
|
||||
The base class for all tokens.
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class Comment(Token):
|
||||
"""
|
||||
A comment. For example:
|
||||
```rust
|
||||
// this is a comment
|
||||
/// This is a doc comment
|
||||
```
|
||||
"""
|
||||
parent: AstNode
|
||||
text: string
|
||||
|
||||
|
||||
@qltest.skip
|
||||
class Unextracted(Element):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user