mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
Swift: make only Expr, Pattern and Type hideable
This commit is contained in:
173
swift/ql/.generated.list
generated
173
swift/ql/.generated.list
generated
@@ -365,80 +365,81 @@ lib/codeql/swift/elements/type/VariadicSequenceType.qll 325e4c4481e9ac07acdc6aeb
|
||||
lib/codeql/swift/elements/type/VariadicSequenceTypeConstructor.qll 0d1d2328a3b5e503a883e7e6d7efd0ca5e7f2633abead9e4c94a9f98ed3cb223 69bff81c1b9413949eacb9298d2efb718ea808e68364569a1090c9878c4af856
|
||||
lib/codeql/swift/elements/type/WeakStorageType.qll 7c07739cfc1459f068f24fef74838428128054adf611504d22532e4a156073e7 9c968414d7cc8d672f3754bced5d4f83f43a6d7872d0d263d79ff60483e1f996
|
||||
lib/codeql/swift/elements/type/WeakStorageTypeConstructor.qll d88b031ef44d6de14b3ddcff2eb47b53dbd11550c37250ff2edb42e5d21ec3e9 26d855c33492cf7a118e439f7baeed0e5425cfaf058b1dcc007eca7ed765c897
|
||||
lib/codeql/swift/elements.qll 3df0060edd2b2030f4e4d7d5518afe0073d798474d9b1d6185d833bec63ca8bd 3df0060edd2b2030f4e4d7d5518afe0073d798474d9b1d6185d833bec63ca8bd
|
||||
lib/codeql/swift/elements.qll cba02ae777269061af0713f6b003c97679434ddc8b2e871fc00c5d17c5265d2a cba02ae777269061af0713f6b003c97679434ddc8b2e871fc00c5d17c5265d2a
|
||||
lib/codeql/swift/generated/AstNode.qll 02ca56d82801f942ae6265c6079d92ccafdf6b532f6bcebd98a04029ddf696e4 6216fda240e45bd4302fa0cf0f08f5f945418b144659264cdda84622b0420aa2
|
||||
lib/codeql/swift/generated/AvailabilityInfo.qll c648a66cf45414c85cf9cc69aa05b765a49d0c18cd9c101c34f99a9adc38a1ee 54ba7b07b4177d35e85d19363aa7adcda29cda185a5818e5fcb7c678c093e0ba
|
||||
lib/codeql/swift/generated/AvailabilityInfo.qll 1e38e7f52ccbcecd4dd088eae15c482d87911682dabb426332cc0e207fc6bf2f 7c6640530cdbece90d4172e8d6cfd119656860da08bb61ed4ef3a6757723994f
|
||||
lib/codeql/swift/generated/AvailabilitySpec.qll fb1255f91bb5e41ad4e9c675a2efbc50d0fb366ea2de68ab7eebd177b0795309 144e0c2e7d6c62ecee43325f7f26dcf437881edf0b75cc1bc898c6c4b61fdeaf
|
||||
lib/codeql/swift/generated/Callable.qll 9dcf09a2f227dd6f569f007a07fb368d6b928ffd002535bb97118361430d948c 5c203f5f6b4f8b6748e61e09bb46c55442a2fb36f2d1fa950e6f81bdda562709
|
||||
lib/codeql/swift/generated/Callable.qll c1f214f5ea4da567d3cf2ac4915630ae1e19c939d2aa64cdd5ab06e76de059dc c43fd17a89d016a31584de10e4d4988f3ea10dc26d6b59b3151bb3196e9f0689
|
||||
lib/codeql/swift/generated/Comment.qll f58b49f6e68c21f87c51e2ff84c8a64b09286d733e86f70d67d3a98fe6260bd6 975bbb599a2a7adc35179f6ae06d9cbc56ea8a03b972ef2ee87604834bc6deb1
|
||||
lib/codeql/swift/generated/DbFile.qll a49b2a2cb2788cb49c861ebcd458b8daead7b15adb19c3a9f4db3bf39a0051fc a49b2a2cb2788cb49c861ebcd458b8daead7b15adb19c3a9f4db3bf39a0051fc
|
||||
lib/codeql/swift/generated/DbLocation.qll b9baea963d9fa82068986512c0649d1050897654eee3df51dba17cf6b1170873 b9baea963d9fa82068986512c0649d1050897654eee3df51dba17cf6b1170873
|
||||
lib/codeql/swift/generated/Diagnostics.qll d2ee2db55e932dcaee95fcc1164a51ffbe1a78d86ee0f50aabb299b458462afe 566d554d579cadde26dc4d1d6b1750ca800511201b737b629f15b6f873af3733
|
||||
lib/codeql/swift/generated/Element.qll 5293995513d2461a0358ca73c723eddbe1c55c140531ba75d52b03b5e3137016 74f5c76db5ec82a9c1675ec0282acd44f1a86ef447d1961c47aea3eed50f79cb
|
||||
lib/codeql/swift/generated/Element.qll 1c6a757f3c1218b02a98f075b2cfb5bd0cc31dff31bd1d04acdf4d4f040dee45 a3221cd9250706e6313a82450466326e5a1e6ffa5ae0b308e943d0979d03919e
|
||||
lib/codeql/swift/generated/ErrorElement.qll 4b032abe8ffb71376a29c63e470a52943ace2527bf7b433c97a8bf716f9ad102 4f2b1be162a5c275e3264dbc51bf98bce8846d251be8490a0d4b16cbc85f630f
|
||||
lib/codeql/swift/generated/File.qll f88c485883dd9b2b4a366080e098372912e03fb3177e5cae58aa4449c2b03399 0333c49e3a11c48e6146a7f492ee31ac022d80150fc3f8bfafc3c8f94d66ff76
|
||||
lib/codeql/swift/generated/KeyPathComponent.qll 00b1e586b8532f0193b3f61111e70d4e595f3d45c7a25ff68114be1051882491 c556e85b21fc5a5aae12fb5599a96442431ef44ae92350eb7da9efe6a22efd53
|
||||
lib/codeql/swift/generated/Locatable.qll bfdf2dafae2829cac8d1e863a93676228d131b5a7f3df87c40d2f3b1839962b8 af243098af0955a40862387edf7526826fde62a64e5e6ca28de9e9603a8622bf
|
||||
lib/codeql/swift/generated/Location.qll 921922352d39449067d9f2788309b5f3490091097ffe35e6aa98f9368626ce2c 0795c63565c4308e745400bc70ea73675160201590a95bb418de4e2ebca32764
|
||||
lib/codeql/swift/generated/HideableElement.qll 0eb3bb2fd9fb2b5ba444f4cd1aa4f91c87926618dcfa0051b048cf9d63f9602e 0eb3bb2fd9fb2b5ba444f4cd1aa4f91c87926618dcfa0051b048cf9d63f9602e
|
||||
lib/codeql/swift/generated/KeyPathComponent.qll c79c7bc04fc1426992ab472eedc1a20a7aa496ff3f43305400022f1a02ba44f4 a9935b68b511329d157bcd7a7d27aa4803d2163306db8b41808a2b736f80f4d8
|
||||
lib/codeql/swift/generated/Locatable.qll be20967d48a34cdba126fe298606e0adc11697831f097acba9c52a0b7ce9983e 8aa01bc376614abbc3209e25785c72f86c9b4e94bb5f471a4a0677fedaec4f61
|
||||
lib/codeql/swift/generated/Location.qll c5793987e77812059a28254dadee29bfe9b38153c0399fbb1bf6a2f5c237fdab 6e6d8802b021e36bbaad81845657769dd48a798ea33080ada05e9818a20b38f7
|
||||
lib/codeql/swift/generated/OtherAvailabilitySpec.qll 0e26a203b26ff0581b7396b0c6d1606feec5cc32477f676585cdec4911af91c5 0e26a203b26ff0581b7396b0c6d1606feec5cc32477f676585cdec4911af91c5
|
||||
lib/codeql/swift/generated/ParentChild.qll 727205c3f85c042a9a33c6a33da3843493ec7273c5cc07b92e82b90b140828c7 2d34bb73116390a1386b47443f7fe8b7f013078398e1f3387dba1c8522000aaa
|
||||
lib/codeql/swift/generated/ParentChild.qll ffec94e3ee076ff73dd7b4e6561c8d8c1f9a198547085baa40a1e5e28adc5827 a28adf13137431f55ce218ade6848bf5b853d3f27315765e9e6c45032c02ddd3
|
||||
lib/codeql/swift/generated/PlatformVersionAvailabilitySpec.qll f82d9ca416fe8bd59b5531b65b1c74c9f317b3297a6101544a11339a1cffce38 7f5c6d3309e66c134107afe55bae76dfc9a72cb7cdd6d4c3706b6b34cee09fa0
|
||||
lib/codeql/swift/generated/PureSynthConstructors.qll 173c0dd59396a1de26fe870e3bc2766c46de689da2a4d8807cb62023bbce1a98 173c0dd59396a1de26fe870e3bc2766c46de689da2a4d8807cb62023bbce1a98
|
||||
lib/codeql/swift/generated/Raw.qll 8d4880e5ee1fdd120adeb7bf0dfa1399e7b1a53b2cc7598aed8e15cbf996d1c0 da0d446347d29f5cd05281c17c24e87610f31c32adb7e05ab8f3a26bed55bd90
|
||||
lib/codeql/swift/generated/Synth.qll 551fdf7e4b53f9ee1314d1bb42c2638cf82f45bfa1f40a635dfa7b6072e4418c 9ab178464700a19951fc5285acacda4913addee81515d8e072b3d7055935a814
|
||||
lib/codeql/swift/generated/Raw.qll 56e12381886fe9eb6aef74968cb542e179116ad6722640a21bda37f1d9d26e77 ae93d0caebecf3ce593c95887b44cd1686b5c7e989d5cce4bb39d97312c3cb68
|
||||
lib/codeql/swift/generated/Synth.qll 14dbc93375bcde4d792c1ec6157ee9c825119dcc9de31bcfeea56b3636f32d27 e84970ed295aa0af59135ee09b9cddbd6a26dcbce3baaf0e2a958b0552aac6d1
|
||||
lib/codeql/swift/generated/SynthConstructors.qll 2f801bd8b0db829b0253cd459ed3253c1fdfc55dce68ebc53e7fec138ef0aca4 2f801bd8b0db829b0253cd459ed3253c1fdfc55dce68ebc53e7fec138ef0aca4
|
||||
lib/codeql/swift/generated/UnknownFile.qll 0fcf9beb8de79440bcdfff4bb6ab3dd139bd273e6c32754e05e6a632651e85f6 0fcf9beb8de79440bcdfff4bb6ab3dd139bd273e6c32754e05e6a632651e85f6
|
||||
lib/codeql/swift/generated/UnknownLocation.qll e50efefa02a0ec1ff635a00951b5924602fc8cab57e5756e4a039382c69d3882 e50efefa02a0ec1ff635a00951b5924602fc8cab57e5756e4a039382c69d3882
|
||||
lib/codeql/swift/generated/UnspecifiedElement.qll e121c84a2990fe314ab0756832776fe98fbc41f295d532b6e154aca1c5513b13 ee70eedad752175dbeee83c07fdb2ae7f4fa080fec7ba2be408469dfa11a0b4a
|
||||
lib/codeql/swift/generated/decl/AbstractStorageDecl.qll 8ed642e35b066cc65b3d8ad16cf6c726cf0b3802330b0c3d3ba87b34451005d1 3474ad1468f09bf63f3582468ed97e9ed3b3ee61db90a4d31966cc97d9ca1b18
|
||||
lib/codeql/swift/generated/UnspecifiedElement.qll 2b66070944ad36316476b6bf8a811131ca6d4232591353b2b23e881b547463cc c9bff46bcb6f6d106eb57ab8bb04584d9a0b2513abdc1be6e98c0bd227c5f1e0
|
||||
lib/codeql/swift/generated/decl/AbstractStorageDecl.qll 4e827d05b3b98c043f925a3bd9c00622da3dc6e3d3406f5a18b2c3a684e3774f 47e5767a6f9a87f848cccce651d8c40af8aa3e0e727fc147cbf4d5a2a3e483d9
|
||||
lib/codeql/swift/generated/decl/AbstractTypeParamDecl.qll 1e268b00d0f2dbbd85aa70ac206c5e4a4612f06ba0091e5253483635f486ccf9 5479e13e99f68f1f347283535f8098964f7fd4a34326ff36ad5711b2de1ab0d0
|
||||
lib/codeql/swift/generated/decl/Accessor.qll c93cdf7dbb87e6c9b09b5fcf469b952041f753914a892addeb24bb46eaa51d29 1e8104da2da146d3e4d8f5f96b87872e63162e53b46f9c7038c75db51a676599
|
||||
lib/codeql/swift/generated/decl/AccessorOrNamedFunction.qll b78aaef06cdaa172dce3e1dcd6394566b10ce445906e3cf67f6bef951b1662a4 a30d9c2ff79a313c7d0209d72080fdc0fabf10379f8caed5ff2d72dc518f8ad3
|
||||
lib/codeql/swift/generated/decl/AssociatedTypeDecl.qll 4169d083104f9c089223ed3c5968f757b8cd6c726887bbb6fbaf21f5ed7ee144 4169d083104f9c089223ed3c5968f757b8cd6c726887bbb6fbaf21f5ed7ee144
|
||||
lib/codeql/swift/generated/decl/CapturedDecl.qll f8b69887acb35cc8de572984fef83eb08649845b49179b68d3afef36b526bddb 94ab461ef9ab5983dece5e2b1865b6056e381e5c06f2a3ec4dfde634a9368e59
|
||||
lib/codeql/swift/generated/decl/CapturedDecl.qll bdc7479fd577a8830cf0672763656e0269f02681f40890c64ae3f413655589ef 4380339650dfbed9c4846691f0c4bc0aea51a8e11112add54e0add2222dff8a0
|
||||
lib/codeql/swift/generated/decl/ClassDecl.qll a60e8af2fdbcd20cfa2049660c8bcbbc00508fbd3dde72b4778317dfc23c5ae4 a60e8af2fdbcd20cfa2049660c8bcbbc00508fbd3dde72b4778317dfc23c5ae4
|
||||
lib/codeql/swift/generated/decl/ConcreteVarDecl.qll 4801ccc477480c4bc4fc117976fbab152e081064e064c97fbb0f37199cb1d0a8 4d7cfbf5b39b307dd673781adc220fdef04213f2e3d080004fa658ba6d3acb8d
|
||||
lib/codeql/swift/generated/decl/Decl.qll 1d620c8e43df3cb46e5446dc9f6592205040c4d2b03c2ce1e491d7628f8904d0 b02514d7548a5a1dca39a148974a1b4dfeb681ebf81ad80f78d53ea48bab6133
|
||||
lib/codeql/swift/generated/decl/Decl.qll f3ab9f78b789ad2b47c473e0c8949507841d4f0e675af5f361ec274ad5230be6 fed6509f9267cc7663b5a5ceb0f27e368c662b98a0367b2efdac20eef80cbc0a
|
||||
lib/codeql/swift/generated/decl/Deinitializer.qll 816ecd92552915d06952517606a6e4c67bc53d7e7d9f5c09b7276e70612627fe 816ecd92552915d06952517606a6e4c67bc53d7e7d9f5c09b7276e70612627fe
|
||||
lib/codeql/swift/generated/decl/EnumCaseDecl.qll 564718862a9fd5b99427591a83921bf57aac2074041b5b335577599e8eefda16 90899d7d7a9c695576ae4b24d19deb05e45e0e85c954ab41de154d5cc521019e
|
||||
lib/codeql/swift/generated/decl/EnumCaseDecl.qll 7370ff068f6650c74f324fbcad8782067fa42ff12d57cc5f6320df6d55357c97 9044207eb9592c68c8d36af570e45b7dbb5af00e00ded65793d08cea3ee6410b
|
||||
lib/codeql/swift/generated/decl/EnumDecl.qll fa4490d511ee537751a4fab2478e65250ff3deba43c74db5341184c9ba25b534 fa4490d511ee537751a4fab2478e65250ff3deba43c74db5341184c9ba25b534
|
||||
lib/codeql/swift/generated/decl/EnumElementDecl.qll 41cad9be29b7afd56ba312ce00650ed89bffec2e2aaeed7bf26cd3dc0edb502e 33ac9ee5b205d32e5cf6a31f3f4bfd0f60b49fb0265200fd9e4dbbd5426fff02
|
||||
lib/codeql/swift/generated/decl/ExtensionDecl.qll 5472aa7cea119b68571065143fb4b2e335df003184efe8b8f28a98fd3ca3691e f65c8b078d1c34047cc66f5eb75dae8243e7aa42a7f3f2c21ea1ccf76eb9e7b9
|
||||
lib/codeql/swift/generated/decl/EnumElementDecl.qll 53074d5ae6249ca07c44879f4662b4d0478418cd8bd60c5511db52cf00942cc2 c38469c60df7c14d9d9c426600d1648dc1db177bd27ba1116649c48337b95358
|
||||
lib/codeql/swift/generated/decl/ExtensionDecl.qll 51cdf6227526fc769d4361b821d01e20a2b508ad8289af1002a0a947d8df295f 6a13f93179222f8d0e7e6b5a08dd8583fa0381644847b56509a85e6f008936e6
|
||||
lib/codeql/swift/generated/decl/Function.qll 92d1fbceb9e96afd00a1dfbfd15cec0063b3cba32be1c593702887acc00a388a 0cbae132d593b0313a2d75a4e428c7f1f07a88c1f0491a4b6fa237bb0da71df3
|
||||
lib/codeql/swift/generated/decl/GenericContext.qll 5bbed6687f985dc8e812e48ae6ac17ec98d6cfccc6a72bee82afde58ccad07f7 ef7a2fa2646dd619af8f49ed1a12ce880a345dfc36b44e67868d733fc3b309e6
|
||||
lib/codeql/swift/generated/decl/GenericContext.qll 9f7e17d11bf898429a921ba7726b07aab382c97f8326bd186f2bded3d090852c 14d558b6e498d49b850f862d85091a11954dad13f16c60f700cf2c66fa37c473
|
||||
lib/codeql/swift/generated/decl/GenericTypeDecl.qll 71f5c9c6078567dda0a3ac17e2d2d590454776b2459267e31fed975724f84aec 669c5dbd8fad8daf007598e719ac0b2dbcb4f9fad698bffb6f1d0bcd2cee9102
|
||||
lib/codeql/swift/generated/decl/GenericTypeParamDecl.qll bc41a9d854e65b1e0da86350870a8fe050eb1dc031cd17ded11c15b5ad8ad183 bc41a9d854e65b1e0da86350870a8fe050eb1dc031cd17ded11c15b5ad8ad183
|
||||
lib/codeql/swift/generated/decl/IfConfigDecl.qll 07ae599c23c75d4a1fc7f188dce70cf1ded749368274f071b5b9639b5e54f69a ef8dc3f91edf40b9f8e84672060cea0de1a9c6545fd7aadb80225d3ca8f883e9
|
||||
lib/codeql/swift/generated/decl/ImportDecl.qll 1adafa6660d0b3968d1ee8cbcb4632d3b3baaa8a72874d3c9c0f6185eac4bc3e 8e68a538da2bac088001427cbdf6234cfe33071f82193aa52dc99cb9be893f2d
|
||||
lib/codeql/swift/generated/decl/InfixOperatorDecl.qll 3d94018c33422b6fbe18348d0d47c0747358777501155d49abd3c8f5012c8a5d 855b73306f510828ad30555d6bba98cd9eab918de9e78696921ccac584828fd6
|
||||
lib/codeql/swift/generated/decl/IfConfigDecl.qll 085e2c70d3e158b7f3d3d3ade94593f1331d681d07da8a968c537830a67a62fe 19bb842314e8edb6a8dce4d78ec8043a527f13569da8be4ad03ba876a09998a5
|
||||
lib/codeql/swift/generated/decl/ImportDecl.qll 542405d7a75659d048d1ff8894a0cc0d357802c2936407ec39b7e4f69d2dd864 41ee9a9f1fc8068db587ac786145cf50f74f74161555ca94b502a57cca23288a
|
||||
lib/codeql/swift/generated/decl/InfixOperatorDecl.qll 3da133c325380fbc10448b731d5826959056ca861d3a0661e7c37694e5ccb208 bb81c8e1597a1fb7e791e3c4c4ed28a73c442591bff2b12d13a7a327a7b6db08
|
||||
lib/codeql/swift/generated/decl/Initializer.qll a72005f0abebd31b7b91f496ddae8dff49a027ba01b5a827e9b8870ecf34de17 a72005f0abebd31b7b91f496ddae8dff49a027ba01b5a827e9b8870ecf34de17
|
||||
lib/codeql/swift/generated/decl/MissingMemberDecl.qll eaf8989eda461ec886a2e25c1e5e80fc4a409f079c8d28671e6e2127e3167479 d74b31b5dfa54ca5411cd5d41c58f1f76cfccc1e12b4f1fdeed398b4faae5355
|
||||
lib/codeql/swift/generated/decl/ModuleDecl.qll dd7bef7f19a5d2f57f0168eda80796ed8a74c7a136b3dc0cb289c3f750ef9a25 652d44d1ac5e31e4ccf4c5d29f2c5b985c68c4254458c3bfce09c2a821631f8f
|
||||
lib/codeql/swift/generated/decl/ModuleDecl.qll b080281f68ef9943f6b0a808a151375fa8bc7539baaa55689abc16aa9024ff13 f948fd2545b9535335f857d7303a0b7c77ccf62ec49ed066726c6a77b273e5f8
|
||||
lib/codeql/swift/generated/decl/NamedFunction.qll e8c23d8344768fb7ffe31a6146952fb45f66e25c2dd32c91a6161aaa612e602f e8c23d8344768fb7ffe31a6146952fb45f66e25c2dd32c91a6161aaa612e602f
|
||||
lib/codeql/swift/generated/decl/NominalTypeDecl.qll 64914282b062364d81b013922069404d49b8c8830cc23944281d023779a9925c 72d45c5b6073cb32e6df6b62c2c919be50314d9380b955035cfadf500b3dbccf
|
||||
lib/codeql/swift/generated/decl/OpaqueTypeDecl.qll 4dc0fc09fe314cdc6788adb4a93e87a7c8121e3fecaada19a436321d248d377a 4e20e1820ddf7b23268707a2b98bbafc400219533f357189a267f8e35b89226e
|
||||
lib/codeql/swift/generated/decl/NominalTypeDecl.qll 3c935fff267db6b6339cadfec9c28764db105a2f1391a28de3d95a3fd156b2ab 14cb4f115b4c09dcdb5d276be4b3b60406486e0acca9d11458d25d0f467ef0ed
|
||||
lib/codeql/swift/generated/decl/OpaqueTypeDecl.qll b07bcb944d6adff06dad06f8b77729044399e9a2747354e71e55605fb850c705 7e415f4d88f313e52fe6fb908cfac39066ec1302bcbb4ae07ad05b46a86d6b91
|
||||
lib/codeql/swift/generated/decl/OperatorDecl.qll 3ffdc7ab780ee94a975f0ce3ae4252b52762ca8dbea6f0eb95f951e404c36a5b 25e39ccd868fa2d1fbce0eb7cbf8e9c2aca67d6fd42f76e247fb0fa74a51b230
|
||||
lib/codeql/swift/generated/decl/ParamDecl.qll f5d2c9e40aa8a1a77793a6d66fc6b55ded11295ee996b883117ffd6ee2523441 e0137535d7eac959ed10b06ad769b8225c0fadeea03030c7b30191884234e9b9
|
||||
lib/codeql/swift/generated/decl/PatternBindingDecl.qll e598dc0ed9373b4ca9646cc7c408f65db6b40d4281c8cfcecd09524df81bfac8 2ff3fe7fd32004649a0d41a0bf6857ac48d3a7b2dd87f5c1ffd9d5eea0673551
|
||||
lib/codeql/swift/generated/decl/ParamDecl.qll 21c8c035eaaa0fccc184ac073cea09fb39ee6f72b7d69a7119e38fc88f7ed997 486c55bd555569bae1fb4869745e83910a9635b2ad7d62652889562fcf98a42b
|
||||
lib/codeql/swift/generated/decl/PatternBindingDecl.qll d59f2b05bfd78faefeabf0ab63e135f74e9731f22dec8c9dd65beabf9bc0956b e453d5033a788781320d60eca09d4b044f505720cb23f12ba2ade59203d24f81
|
||||
lib/codeql/swift/generated/decl/PostfixOperatorDecl.qll 5aa85fa325020b39769fdb18ef97ef63bd28e0d46f26c1383138221a63065083 5aa85fa325020b39769fdb18ef97ef63bd28e0d46f26c1383138221a63065083
|
||||
lib/codeql/swift/generated/decl/PoundDiagnosticDecl.qll dc867f12579cec4f9fe95b59dfc31ef0df60cccccaf41abc171a86b7fafaf3f2 4474a913c4bf4e8d60f100bf5a0d57cc042c1362b09dd3c9493cc23a75c32e84
|
||||
lib/codeql/swift/generated/decl/PoundDiagnosticDecl.qll 2cd5dbd6707fd3920d5f402a3b169c4eac4189f4bebb33eb279de6e038e7329b 183f41a3b5ef928ad733d19225c7212633a3ac4752976c19bd8f821ec8553c0e
|
||||
lib/codeql/swift/generated/decl/PrecedenceGroupDecl.qll d0918f238484052a0af902624b671c04eb8d018ee71ef4931c2fdbb74fa5c5d4 d0918f238484052a0af902624b671c04eb8d018ee71ef4931c2fdbb74fa5c5d4
|
||||
lib/codeql/swift/generated/decl/PrefixOperatorDecl.qll 18f2a1f83ea880775344fbc57ed332e17edba97a56594da64580baeb45e95a5d 18f2a1f83ea880775344fbc57ed332e17edba97a56594da64580baeb45e95a5d
|
||||
lib/codeql/swift/generated/decl/ProtocolDecl.qll 4b03e3c2a7af66e66e8abc40bd2ea35e71959f471669e551f4c42af7f0fd4566 4b03e3c2a7af66e66e8abc40bd2ea35e71959f471669e551f4c42af7f0fd4566
|
||||
lib/codeql/swift/generated/decl/StructDecl.qll 9343b001dfeec83a6b41e88dc1ec75744d39c397e8e48441aa4d01493f10026a 9343b001dfeec83a6b41e88dc1ec75744d39c397e8e48441aa4d01493f10026a
|
||||
lib/codeql/swift/generated/decl/SubscriptDecl.qll d08d46ddff0816541b28e231ba83c41cb51b40d7ccf2e0e7465e62e17078c000 0a1f1741bea4d2a7ebde7cbaf1cd0f7730a9845a8fd45d3457dc1b2b63eab900
|
||||
lib/codeql/swift/generated/decl/TopLevelCodeDecl.qll e90cc73d62ad6037f1ec200bf8356292fa48b6890762b68e3fba6a129c888fcd d9152cbdfbc8cfb66695ed10a5729abca1b58275616d16d19aae27fb745bf3aa
|
||||
lib/codeql/swift/generated/decl/TypeAliasDecl.qll 2058a0699ddffabd7d1d554615bd7e9ce26810ef1c6c68601df46e071eb9a10c 94ba93ef3cc1028a3018831e336316e566b6028eee1d81bf4d754dbdbd401ea8
|
||||
lib/codeql/swift/generated/decl/TypeDecl.qll cc40d3a105654461a60f982b6bdb21c7e689e695d314eead245bfeeda92a4572 03d89aa4c77dacdc57cd867b4869b26cdb55a06e2ba6faf3dbb9fce8f881786b
|
||||
lib/codeql/swift/generated/decl/ValueDecl.qll 7b297ed98f5e985b93c9de6be000d67f71796892599ae8274048d8ad6b6183b9 462c983d4163011b2232b684c9a6c3f01114096c4bb7f862d950380f527e3926
|
||||
lib/codeql/swift/generated/decl/VarDecl.qll c648a5432d63a547cd381646f9586b4fc72edb2cff8462533449761b1ec57a56 7f2c157975bc1de7a8b6ff980bed790d864a08f1d6c0de39c106d84d2b49b883
|
||||
lib/codeql/swift/generated/decl/SubscriptDecl.qll c0bb8fd0d9d363c253251ea4b6cdceebd316708ce61f49e321318f7ce80ea153 dda76edc25ce4b3c31bcd7cc707143e22c3f887658e8071c646668f445b9f601
|
||||
lib/codeql/swift/generated/decl/TopLevelCodeDecl.qll f9b4f8b413e5fd3c0d48910013fe2443143d2ee237084cf3e4eb668d5bc8f460 5c85641375f5b9e658c9467f5c4913e50d4228718aad950e94f55a28edbe28c7
|
||||
lib/codeql/swift/generated/decl/TypeAliasDecl.qll b9c4baf4a2eb67d21535da5cbb9894945d66b8aecf8bd91cb8aa8c964188c82f a69db19c25da7232a9139400578cb7eda8b56eb55c7c45d38aa50cc0c063947f
|
||||
lib/codeql/swift/generated/decl/TypeDecl.qll 21d075b1fb55ce2e89ad73e62edbe1ad3ca429ea5a1c6096ca7aca7eaeea9772 c099f32a24d1be26b7b6e7478b481f8086c74f67cc840a843466715afc069784
|
||||
lib/codeql/swift/generated/decl/ValueDecl.qll f34e3414f8700150ccd221aed26e58f64ed43d708a3ccb3c50eff5c12f083303 c2926bebba6bfb997f8a610f7bfd13114b21e92ba0243247543984d6ea71a33e
|
||||
lib/codeql/swift/generated/decl/VarDecl.qll d326cd9d4e892e6ad2f02847e476218d0f1f1ca012c1bfeca7d656af34c870b4 a2cac56e67fdc32d6f33eac180ca4831cd355343280e2d69cd5a8e17a77a89ce
|
||||
lib/codeql/swift/generated/expr/AbiSafeConversionExpr.qll f4c913df3f1c139a0533f9a3a2f2e07aee96ab723c957fc7153d68564e4fdd6d f4c913df3f1c139a0533f9a3a2f2e07aee96ab723c957fc7153d68564e4fdd6d
|
||||
lib/codeql/swift/generated/expr/AnyHashableErasureExpr.qll f450ac8e316def1cd64dcb61411bae191144079df7f313a5973e59dc89fe367f f450ac8e316def1cd64dcb61411bae191144079df7f313a5973e59dc89fe367f
|
||||
lib/codeql/swift/generated/expr/AnyTryExpr.qll e4759465411c215262909d10d729642779340698165aff0a66986c7dfc822832 83ec7fb0f11e2ffe15f3a0c97318121443936733f1adef17e5baa020bca2de29
|
||||
lib/codeql/swift/generated/expr/AppliedPropertyWrapperExpr.qll de01c3b68c2a37e9f5dee0729838923cc615d436092e78b608b6f6c23e1b4965 612f72046aa2e49b9d494cad590bfae133bd5c00908ed4c8df82730294d21fb8
|
||||
lib/codeql/swift/generated/expr/ApplyExpr.qll 798b999f3da5d6b917ff57a0dc1fde149b906ffd72c6df5bc511f6e2d20a7e8b 8bce7f52c4bce1aad5c0b8a195dd1ab6f1d82289e5eb56fca4b7543be7943d15
|
||||
lib/codeql/swift/generated/expr/AppliedPropertyWrapperExpr.qll b441c3cad6d462ae0736d5e65742d49b280b907e8e250badb0248f501e1e9144 34a691143585fb9b9d7e3ef0b8d3c7250a73da0d323de6ac632472652bc86a1a
|
||||
lib/codeql/swift/generated/expr/ApplyExpr.qll d97bce0ce47c42feda140c677c204f9d1c92fe1889760034fe8f1cb330f411d3 f7956f6bff4164adacce06ce2134bc6bf2d0e0261c9b5f7b882e04c0df5c8e0c
|
||||
lib/codeql/swift/generated/expr/ArchetypeToSuperExpr.qll e0b665b7389e5d0cb736426b9fd56abfec3b52f57178a12d55073f0776d8e5b7 e0b665b7389e5d0cb736426b9fd56abfec3b52f57178a12d55073f0776d8e5b7
|
||||
lib/codeql/swift/generated/expr/Argument.qll 97991761563d806ff0199e69f4c9eda93e324bb40bd41ddec98388c2146cbd6b c231f4e0320700fe64ce43123027516088b877fddde3be18565e01890f6b10ce
|
||||
lib/codeql/swift/generated/expr/Argument.qll 441daab359d20018113344d026c1ace38a0acff35e68155a69a887a6fdb90684 43106272cfc5d19d60ca07b9bc4e22ff97b2b2451b67ec8884909c574634a337
|
||||
lib/codeql/swift/generated/expr/ArrayExpr.qll 9894f7838b23c84c4c0ba442b790ada0231c2dc3508fd30735577397a87d9683 90ed566a71551f3549106bd60b972aca0ba52e8a2b787b58a3161634e26e773e
|
||||
lib/codeql/swift/generated/expr/ArrayToPointerExpr.qll afa9d62eb0f2044d8b2f5768c728558fe7d8f7be26de48261086752f57c70539 afa9d62eb0f2044d8b2f5768c728558fe7d8f7be26de48261086752f57c70539
|
||||
lib/codeql/swift/generated/expr/AssignExpr.qll 97d41626dfe4e474c5e80aaee433641847a91f5c483f6da6cfc016b454545802 4ca02b4a878f0783f7d7788c85ffbb89c8ed6027c7e6d391ea9892256215358a
|
||||
@@ -451,7 +452,7 @@ lib/codeql/swift/generated/expr/BridgeFromObjCExpr.qll b9a6520d01613dfb8c7606177
|
||||
lib/codeql/swift/generated/expr/BridgeToObjCExpr.qll 31ca13762aee9a6a17746f40ec4e1e929811c81fdadb27c48e0e7ce6a3a6222d 31ca13762aee9a6a17746f40ec4e1e929811c81fdadb27c48e0e7ce6a3a6222d
|
||||
lib/codeql/swift/generated/expr/BuiltinLiteralExpr.qll 052f8d0e9109a0d4496da1ae2b461417951614c88dbc9d80220908734b3f70c6 536fa290bb75deae0517d53528237eab74664958bf7fdbf8041283415dda2142
|
||||
lib/codeql/swift/generated/expr/CallExpr.qll c7dc105fcb6c0956e20d40f736db35bd7f38f41c3d872858972c2ca120110d36 c7dc105fcb6c0956e20d40f736db35bd7f38f41c3d872858972c2ca120110d36
|
||||
lib/codeql/swift/generated/expr/CaptureListExpr.qll 4e94c2c66020f95af615d98756d7c1843c2744b3c1d83f73f24f6153d9d0592b e35e8190904415e2a1fe12857127c90cfaecde4f6f173d16399f45c0264d207c
|
||||
lib/codeql/swift/generated/expr/CaptureListExpr.qll 671234408ead93c0d6abc453f774a88f0888956e6ad08d5a1c22aec72b2eec46 601e23e0356341fd6287fb9775f0e86bca6a0de46383e0912854e045e501d42c
|
||||
lib/codeql/swift/generated/expr/CheckedCastExpr.qll 146c24e72cda519676321d3bdb89d1953dfe1810d2710f04cfdc4210ace24c40 91093e0ba88ec3621b538d98454573b5eea6d43075a2ab0a08f80f9b9be336d3
|
||||
lib/codeql/swift/generated/expr/ClassMetatypeToObjectExpr.qll 076c0f7369af3fffc8860429bd8e290962bf7fc8cf53bbba061de534e99cc8bf 076c0f7369af3fffc8860429bd8e290962bf7fc8cf53bbba061de534e99cc8bf
|
||||
lib/codeql/swift/generated/expr/ClosureExpr.qll f194fc8c5f67fcf0219e8e2de93ee2b820c27a609b2986b68d57a54445f66b61 3cae87f6c6eefb32195f06bc4c95ff6634446ecf346d3a3c94dc05c1539f3de2
|
||||
@@ -462,8 +463,8 @@ lib/codeql/swift/generated/expr/ConditionalBridgeFromObjCExpr.qll 4a21e63cc54702
|
||||
lib/codeql/swift/generated/expr/ConditionalCheckedCastExpr.qll 92a999dd1dcc1f498ed2e28b4d65ac697788960a66452a66b5281c287596d42b 92a999dd1dcc1f498ed2e28b4d65ac697788960a66452a66b5281c287596d42b
|
||||
lib/codeql/swift/generated/expr/CovariantFunctionConversionExpr.qll b749118590163eafbd538e71e4c903668451f52ae0dabbb13e504e7b1fefa9e1 abaf3f10d35bab1cf6ab44cb2e2eb1768938985ce00af4877d6043560a6b48ec
|
||||
lib/codeql/swift/generated/expr/CovariantReturnConversionExpr.qll f1b409f0bf54b149deb1a40fbe337579a0f6eb2498ef176ef5f64bc53e94e2fe 532d6cb2ebbb1e6da4b26df439214a5a64ec1eb8a222917ba2913f4ee8d73bd8
|
||||
lib/codeql/swift/generated/expr/DeclRefExpr.qll dda3034aba0170fb91ae62e5c8b02af27f3ac682c856af6eba2f8c57c186befe 338e7cfbea450e555191518dfa6b7b43cef3a0a029c4c0adb5101a2471c24c5e
|
||||
lib/codeql/swift/generated/expr/DefaultArgumentExpr.qll ca9f228742acf990a81308f68a66dc55b35c75f23d5f0cabfdff30a1b99064d7 a97de64329149db8ca6d25635bdda63df0a2bdb600cfe0c71017e2eb3fdecb15
|
||||
lib/codeql/swift/generated/expr/DeclRefExpr.qll 06149b37933848032fb6cc4692ff63ee54347cccb79e1fa150129a081afbf5d2 580392ea470c21a58021245f1d7fa08232a2f5314786ba8476282a5fbe403ffe
|
||||
lib/codeql/swift/generated/expr/DefaultArgumentExpr.qll 77468697fd5cafb05ca166a77e94ce9998c28624e235b626b9afbe1da9a93d4e d813ea7d5973945355a2941ccd3ca72e01745ab6320da429f3694e2465af96d3
|
||||
lib/codeql/swift/generated/expr/DerivedToBaseExpr.qll 5f371b5b82262efb416af1a54073079dcf857f7a744010294f79a631c76c0e68 5f371b5b82262efb416af1a54073079dcf857f7a744010294f79a631c76c0e68
|
||||
lib/codeql/swift/generated/expr/DestructureTupleExpr.qll 1214d25d0fa6a7c2f183d9b12c97c679e9b92420ca1970d802ea1fe84b42ccc8 1214d25d0fa6a7c2f183d9b12c97c679e9b92420ca1970d802ea1fe84b42ccc8
|
||||
lib/codeql/swift/generated/expr/DictionaryExpr.qll f8bab2bdf683f4974be102faea2f8ff48ede5937a9112a1fa149180143052b0a 152ae4811c5282c68b9f2eb7b123631fbe461af7a7947434abf7e523b35b27e2
|
||||
@@ -477,13 +478,13 @@ lib/codeql/swift/generated/expr/DynamicLookupExpr.qll 0f0d745085364bca3b67f67e34
|
||||
lib/codeql/swift/generated/expr/DynamicMemberRefExpr.qll 2eab0e58a191624a9bf81a25f5ddad841f04001b7e9412a91e49b9d015259bbe 2eab0e58a191624a9bf81a25f5ddad841f04001b7e9412a91e49b9d015259bbe
|
||||
lib/codeql/swift/generated/expr/DynamicSubscriptExpr.qll f9d7d2fc89f1b724cab837be23188604cefa2c368fa07e942c7a408c9e824f3d f9d7d2fc89f1b724cab837be23188604cefa2c368fa07e942c7a408c9e824f3d
|
||||
lib/codeql/swift/generated/expr/DynamicTypeExpr.qll c29baea6ec5b0b7186b675e3322cd1cee9db8d647e16ac0f716990c22df17074 de9118fdb3778ef76de284992791d3f0f9978876f5799eda39da92c1242e603e
|
||||
lib/codeql/swift/generated/expr/EnumIsCaseExpr.qll edea1f464dc24ad8d300c547698699704cf7d9232782c2b6a536af6e058d440c 7d860abba668ac5fb078ac7b72d455824331d753751bbfbe7044a85a8365b6a7
|
||||
lib/codeql/swift/generated/expr/EnumIsCaseExpr.qll 8df7cf11dff39ec1a8498d4df4cda2ab0fb49a88aaca671c8e4fd6d53bbf2af9 e5b064938c60634eb1060d39b435913286591e1e8d506bbb19ee8faace7105c5
|
||||
lib/codeql/swift/generated/expr/ErasureExpr.qll c232bc7b612429b97dbd4bb2383c2601c7d12f63312f2c49e695c7a8a87fa72a c232bc7b612429b97dbd4bb2383c2601c7d12f63312f2c49e695c7a8a87fa72a
|
||||
lib/codeql/swift/generated/expr/ErrorExpr.qll 8e354eed5655e7261d939f3831eb6fa2961cdd2cebe41e3e3e7f54475e8a6083 8e354eed5655e7261d939f3831eb6fa2961cdd2cebe41e3e3e7f54475e8a6083
|
||||
lib/codeql/swift/generated/expr/ExistentialMetatypeToObjectExpr.qll eb0d42aac3f6331011a0e26cf5581c5e0a1b5523d2da94672abdebe70000d65b efe2bc0424e551454acc919abe4dac7fd246b84f1ae0e5d2e31a49cbcf84ce40
|
||||
lib/codeql/swift/generated/expr/ExplicitCastExpr.qll 162f94461d41cf10a81567e13d5141d7aca417cc92d4ef55de97c7909681882e c8e7d1f569265a9bc2ae6a82e33783ec3ac077c3ae6e582edcb49a4eb816f7b5
|
||||
lib/codeql/swift/generated/expr/ExplicitClosureExpr.qll c5291fb91e04a99133d1b4caf25f8bd6e7f2e7b9d5d99558143899f4dc9a7861 c5291fb91e04a99133d1b4caf25f8bd6e7f2e7b9d5d99558143899f4dc9a7861
|
||||
lib/codeql/swift/generated/expr/Expr.qll b09ddd296693ad78a2b0e7dc17d2b746357ae88645b046a026861eafeba616cb 498c628f904fbf48be10f32b146168b71f8f7d9f829614e422020701ccc0f8e4
|
||||
lib/codeql/swift/generated/expr/Expr.qll 91b45df8d77ece59147e330b1a93515ad791e1da84128a079be2160ee5f87796 4a57263c533d9d5a9e1cacc997d09434fe7ebbabff9ac1a49602b618b828839b
|
||||
lib/codeql/swift/generated/expr/FloatLiteralExpr.qll ae851773886b3d33ab5535572a4d6f771d4b11d6c93e802f01348edb2d80c454 35f103436fc2d1b2cec67b5fbae07b28c054c9687d57cbd3245c38c55d8bde0b
|
||||
lib/codeql/swift/generated/expr/ForceTryExpr.qll 062997b5e9a9e993de703856ae6af60fe1950951cf77cdab11b972fb0a5a4ed3 062997b5e9a9e993de703856ae6af60fe1950951cf77cdab11b972fb0a5a4ed3
|
||||
lib/codeql/swift/generated/expr/ForceValueExpr.qll cd7ee5fa4a6f7094c7fbb9c5831f60d5ce18b123fe7beea3dcb26ca78e387118 7cdef6e9b501f9e9cb0d48828e68b349b25e4e5f312e5bcee91868ae8b196e7d
|
||||
@@ -502,14 +503,14 @@ lib/codeql/swift/generated/expr/InterpolatedStringLiteralExpr.qll e2c1aadf140c80
|
||||
lib/codeql/swift/generated/expr/IsExpr.qll b5ca50490cae8ac590b68a1a51b7039a54280d606b42c444808a04fa26c7e1b6 b5ca50490cae8ac590b68a1a51b7039a54280d606b42c444808a04fa26c7e1b6
|
||||
lib/codeql/swift/generated/expr/KeyPathApplicationExpr.qll 157a9c2fcf229b76d104abfa49f74337e20ac4d1fa1be2eaed1290cbd9bd1232 70ec0e7ee2e2c716ba510916fdf6d1d6dd6fd93b740a46c909ddb9e877427fe1
|
||||
lib/codeql/swift/generated/expr/KeyPathDotExpr.qll ea73a462801fbe5e27b2f47bca4b39f6936d326d15d6de3f18b7afa6ace35878 ea73a462801fbe5e27b2f47bca4b39f6936d326d15d6de3f18b7afa6ace35878
|
||||
lib/codeql/swift/generated/expr/KeyPathExpr.qll 654b32a92ff8015cb4b8d64c83abed601a884f4181613a7d428e975a945afff5 4c82c7b9d9232e84dd898cb7d3d79c1365481cd9d37444318a776ae509eb023a
|
||||
lib/codeql/swift/generated/expr/KeyPathExpr.qll 7d088ae6d74193f06b2c121dfde182a228d5ab1498a70fd3ad7bc5cab8e76dcd 5596774318c8eed672ab360c0a1515493176d9edae64f09917ec789514928355
|
||||
lib/codeql/swift/generated/expr/LazyInitializationExpr.qll b81b831893b0f1c2bcbf48a708267cd54a86dfc6af6dde8b8b57a03e045abff2 b28cf1f4017edee09278a23f403932f91fb1a21ea83778cccf7683b5a57f6480
|
||||
lib/codeql/swift/generated/expr/LinearFunctionExpr.qll cd4c31bed9d0beb09fdfc57069d28adb3a661c064d9c6f52bb250011d8e212a7 cd4c31bed9d0beb09fdfc57069d28adb3a661c064d9c6f52bb250011d8e212a7
|
||||
lib/codeql/swift/generated/expr/LinearFunctionExtractOriginalExpr.qll ee7d3e025815b5af392ffc006ec91e3150130f2bd708ab92dbe80f2efa9e6792 bcf9ed64cca2dcf5bb544f6347de3d6faa059a1900042a36555e11dfbe0a6013
|
||||
lib/codeql/swift/generated/expr/LinearToDifferentiableFunctionExpr.qll f7aa178bff083d8e2822fda63de201d9d7f56f7f59f797ec92826001fca98143 c3ef32483f6da294c066c66b1d40159bc51366d817cf64a364f375f5e5dfa8b0
|
||||
lib/codeql/swift/generated/expr/LiteralExpr.qll b501f426fa4e638b24d772c2ce4a4e0d40fce25b083a3eee361a66983683ee9d 068208879c86fbd5bed8290ce5962868af6c294a53ad1548cf89cf5a7f8e1781
|
||||
lib/codeql/swift/generated/expr/LoadExpr.qll 90b9ba4c96c26c476c3692b1200c31071aa10199d3e21ef386ff48b9f0b6d33a 90b9ba4c96c26c476c3692b1200c31071aa10199d3e21ef386ff48b9f0b6d33a
|
||||
lib/codeql/swift/generated/expr/LookupExpr.qll 12844a93ff8244c9a9c7091b32c56e80a1196dee5fbdd67dafa5329e8d424ed9 da9ba34043930d541751ba3bc828cfcf86cc0fcf3b58bf2a2a0b8d9ad7d73153
|
||||
lib/codeql/swift/generated/expr/LookupExpr.qll 612265f7ca68f1f62ea8ceaa74e1a876195c6c3062807b310f834aa04acfaa80 160fbb1efe0c1fb48698d786bb7f76be70b4cd96568557f90c062773fb0dff6e
|
||||
lib/codeql/swift/generated/expr/MagicIdentifierLiteralExpr.qll 16f0050128caf916506b1f7372dc225a12809a60b5b00f108705fcdfce3344a8 c064778526a5854bdf8cdbf4b64ad680b60df9fe71ec7a2d9aa6c36a7c4e5b31
|
||||
lib/codeql/swift/generated/expr/MakeTemporarilyEscapableExpr.qll c63cd023a5c2662e2beee8dba5f9cb0012103424a245df5fde0d4a08a13a87ea 78729409bc0e387ad2ed7cd84b074dbf190f378a6c8794f4a6596ddfa1b1ad85
|
||||
lib/codeql/swift/generated/expr/MemberRefExpr.qll e7db805b904d9b5d1e2bc2c171656e9da58f02a585127c45f52f7f8e691dc2e5 b44b5208e0b72060527a6fdb24b17b208f2263d78690d13548fba937fe0db3cd
|
||||
@@ -517,34 +518,34 @@ lib/codeql/swift/generated/expr/MetatypeConversionExpr.qll 714ecbc8ac51fdaaa4075
|
||||
lib/codeql/swift/generated/expr/MethodLookupExpr.qll 526c9001c311a890db2409a46180a7fedbb11b6dcd8ee23dda4d4644e65bed3a 4b287235a19b85880136ac3485a85742aad7217021c9f6729bf2a39be5ebd1a1
|
||||
lib/codeql/swift/generated/expr/NilLiteralExpr.qll 6f44106bc5396c87681676fc3e1239fe052d1a481d0a854afa8b66369668b058 6f44106bc5396c87681676fc3e1239fe052d1a481d0a854afa8b66369668b058
|
||||
lib/codeql/swift/generated/expr/NumberLiteralExpr.qll 8acc7df8fe83b7d36d66b2feed0b8859bfde873c6a88dd676c9ebed32f39bd04 4bbafc8996b2e95522d8167417668b536b2651817f732554de3083c4857af96a
|
||||
lib/codeql/swift/generated/expr/ObjCSelectorExpr.qll efc72580627467dce30ab784bfb963bd21297440bd6287600d0b3f2c5836c340 29a7974a65bde8f434de159e9a6ea0f6f48609d4d3332a216261f3c64cf3a070
|
||||
lib/codeql/swift/generated/expr/ObjectLiteralExpr.qll 199b3a5196bff35681ba2e4bdb546cfbe0a2e265f535d05cfdb89af9c382c1a6 7c6b962565841a634c850d088fd404a3e6f3045e05ff555e1cde0ec02ba8dc8d
|
||||
lib/codeql/swift/generated/expr/ObjCSelectorExpr.qll 94a8344bff75033a3aae101c103419bd2201aa6992393d3450e4531ec33d4c83 78870c097692943f2eefb3ee86ccc86579411f35a4fa6e8753bf307009f85dba
|
||||
lib/codeql/swift/generated/expr/ObjectLiteralExpr.qll f609e898670d4fc7937e9f5024dbf9d82c98bdfcef140cee6e13998046fbe044 cd8647e0b186ce74d27ac0fcfe037972f7e12a326a0ef53c51305cb7db783a0c
|
||||
lib/codeql/swift/generated/expr/OneWayExpr.qll 8464649694b671a8462476fcd3827b07f8448069c7caa9e9efce44d7ce87aee0 c3e143ecd28238342a1d911a468087cc58a751106385f01cbe5a44e19c862d0e
|
||||
lib/codeql/swift/generated/expr/OpaqueValueExpr.qll 354f23d00d5ea2e734fd192130620d26c76c14d5bb7b0a1aa69f17ffb5289793 354f23d00d5ea2e734fd192130620d26c76c14d5bb7b0a1aa69f17ffb5289793
|
||||
lib/codeql/swift/generated/expr/OpenExistentialExpr.qll 55ff1b4fdf23b787538f8b8cdc5f382d874221cec230f8fa35189ebf6de09b58 8235fe3387753a0ac389e297bf67b416991117587a98a566620ac9b328887dd6
|
||||
lib/codeql/swift/generated/expr/OptionalEvaluationExpr.qll 76a3a789b3a4f17dd494f973f099766aa1db97c38cbbd93542e664a7cd7e1680 f56ce693b59cee6713a7cfdb2937a8a4e791d6e80c241ecd333ab197482a2d1b
|
||||
lib/codeql/swift/generated/expr/OptionalTryExpr.qll f0c8dff90faee4fbf07772efda53afe1acc1fd148c16ee4d85a1502a36178e71 f0c8dff90faee4fbf07772efda53afe1acc1fd148c16ee4d85a1502a36178e71
|
||||
lib/codeql/swift/generated/expr/OtherInitializerRefExpr.qll 9e695cca00e162beadad513d6833f117cee0f364da6f16c7ed3809573c1fbfe2 ff29f1f265e22eefc9166f77fa8adca7f89d3f769591149e21c58c0789577a88
|
||||
lib/codeql/swift/generated/expr/OverloadedDeclRefExpr.qll fee0ef58103e48b9238f1dd94d530a54e8ffaea95924cdbb38057701360a849d 2e851c3aee89aa3cbc3b67846a723b98708233e74e872641988c3200476d2da2
|
||||
lib/codeql/swift/generated/expr/OtherInitializerRefExpr.qll 94b793be9a37626fe0b1b7c93ac37b2a00e4fb93ab96e4a230aaba66ef1721de 136ac6a349db23144fc71f3aa1383fb68370b13a8615eb6ad398b29a55f2cae3
|
||||
lib/codeql/swift/generated/expr/OverloadedDeclRefExpr.qll f2ef6518501e4bf7c51d009cb996dc88d56374a4dc572ce8514993591896deba e8519550ec34428715452f6716160e580cbbc894c2b78dd34c33835e11728f19
|
||||
lib/codeql/swift/generated/expr/ParenExpr.qll f3fb35017423ee7360cab737249c01623cafc5affe8845f3898697d3bd2ef9d7 f3fb35017423ee7360cab737249c01623cafc5affe8845f3898697d3bd2ef9d7
|
||||
lib/codeql/swift/generated/expr/PointerToPointerExpr.qll 7d6fa806bba09804705f9cef5be66e09cbbbbda9a4c5eae75d4380f1527bb1bd 7d6fa806bba09804705f9cef5be66e09cbbbbda9a4c5eae75d4380f1527bb1bd
|
||||
lib/codeql/swift/generated/expr/PostfixUnaryExpr.qll d1094c42aa03158bf89bace09b0a92b3056d560ebf69ddbf286accce7940d3ab d1094c42aa03158bf89bace09b0a92b3056d560ebf69ddbf286accce7940d3ab
|
||||
lib/codeql/swift/generated/expr/PrefixUnaryExpr.qll f66dee3c70ed257914de4dd4e8501bb49c9fe6c156ddad86cdcc636cf49b5f62 f66dee3c70ed257914de4dd4e8501bb49c9fe6c156ddad86cdcc636cf49b5f62
|
||||
lib/codeql/swift/generated/expr/PropertyWrapperValuePlaceholderExpr.qll 0d604764ca2e77a51b7e7062a1f57c6f46dd007717bdebf765eb7b737ef5062d cff734718467dfd4abc12dcf7e72c5745fe4e917204cdd22e42973f30eb06df7
|
||||
lib/codeql/swift/generated/expr/ProtocolMetatypeToObjectExpr.qll b692be6e5b249c095b77f4adcad5760f48bc07f6f53767ee3d236025ee4a2a51 efa47435cde494f3477164c540ac1ce0b036cb9c60f5f8ec7bfca82a88e208fb
|
||||
lib/codeql/swift/generated/expr/RebindSelfInInitializerExpr.qll 87984796ee7bb5f8f474563d03e667b09ff36ccba5e084504e24ab3d9e90d4f2 b4885cb5a72edad07011e3e576ff3ce08ef6399320786ce1cf9d7a0a6350eb6f
|
||||
lib/codeql/swift/generated/expr/RebindSelfInInitializerExpr.qll 66d4cbf211cae63a443d85f83a2799cb6ac66c061e691d0531ff5edeec9af6f3 7be66e5be4c6671abcb03af92d00ce5f5ba46797941ffbb98675f6cd15db59c7
|
||||
lib/codeql/swift/generated/expr/RegexLiteralExpr.qll a11eb6f6ce7cebb35ab9ff51eae85f272980140814d7e6bded454069457a1312 bdb4bb65c9f4e187cf743ed13c0213bb7e55db9cc3adeae2169df5e32b003940
|
||||
lib/codeql/swift/generated/expr/SelfApplyExpr.qll c0815a4d6d4f08bd0c7bc170fa817ebcb2328c937c8ef16391fb0da71aff17ae 0979f035e8d4b54e93f17163a4df3c2aa65f23d56c491fa72376887e3e5c10ac
|
||||
lib/codeql/swift/generated/expr/SequenceExpr.qll 62301b2e4c76de4820c6deef0ee95c8b328ed14ba8eac70aa10cc8fb0f3c5ace feb960c796ea517abc9587bd76f7ae9aabfd9a6b0984fe2d8380e803b002eede
|
||||
lib/codeql/swift/generated/expr/StringLiteralExpr.qll f420c5cd51a223b6f98177147967266e0094a5718ba2d57ae2d3acbb64bbb4b6 30d6dab2a93fd95e652a700902c4d106fecfce13880c2ece565de29f2504bedf
|
||||
lib/codeql/swift/generated/expr/StringToPointerExpr.qll ef69b570aa90697d438f5787a86797955b4b2f985960b5859a7bd13b9ecb9cd3 ef69b570aa90697d438f5787a86797955b4b2f985960b5859a7bd13b9ecb9cd3
|
||||
lib/codeql/swift/generated/expr/SubscriptExpr.qll 70ca2812ac4018c062fcb099e20433c7960325e68cfc544599d1860793b1464f d01d4b4ed833cb0390c3e96e75ef51150721245b0277946d75daca32d4085d9b
|
||||
lib/codeql/swift/generated/expr/SuperRefExpr.qll f550961b912bdcaf159d4729b0a3f6911e97365e6d429717d4a9770a2a83a184 e5735644d755ac2ee56f6c3ab13ca6657c21cd00a366665ea858d405d32cb112
|
||||
lib/codeql/swift/generated/expr/TapExpr.qll 8556465559ed243c16396a1b426b666362c1bab1535a12faf9c1050e1b06c668 ea1c30b90d3620e580294d7d7010a720be688e10a9469405cd58b3da55070dc6
|
||||
lib/codeql/swift/generated/expr/SubscriptExpr.qll 8a2bf1f0ded1888546791e0e59b969267f0352223e2abeb38e91dfa2144a38ae 009566ef61689d14844730235b0e0c31ee01e95e2002cf7272cbabc97539dce9
|
||||
lib/codeql/swift/generated/expr/SuperRefExpr.qll 4fe3e827cff256d304bc73f0d44b6091dbea68d8176ff3af36dec80ab349f7dc 7e1c3975515db1aacdd8f5c90ff38cfc568e2c9e79495bb7832d72f856add2e8
|
||||
lib/codeql/swift/generated/expr/TapExpr.qll 6583473139cc6c93838e802d8e229ad90d90a2ef960600d95db6d12831402ff3 a7478c0c9e9a9899c1840838150e127e3bd192bb340249642efede3dd51d260a
|
||||
lib/codeql/swift/generated/expr/TryExpr.qll e6619905d9b2e06708c3bf41dace8c4e6332903f7111b3a59609d2bb7a6483ee e6619905d9b2e06708c3bf41dace8c4e6332903f7111b3a59609d2bb7a6483ee
|
||||
lib/codeql/swift/generated/expr/TupleElementExpr.qll e0050f30b31c58bcfbaaa61137484f9463aab435cbe1fd0dddd7a4b9d3a8ae46 0192eb79f1b1bff6185dddbc8ed37865cb669a670ffb9f5b63c34c1bf53a73c2
|
||||
lib/codeql/swift/generated/expr/TupleExpr.qll b834c6347ec355f1135274f65bd7ca3768be42ea173225227a6b543c2fb2243b fddb421e1cdc8ae24afb6b72c0636b3341c5b039a4277fc99f00bbb077645cf8
|
||||
lib/codeql/swift/generated/expr/TypeExpr.qll accffc2dbe4a1f1ebdaeb4ca6a130faf139288a7470740213d5379ddc94dad18 e4595beff0e7b7cd698e2bb708ea10586cc2f2de5d6f9dcf3da3c3d9b43d33eb
|
||||
lib/codeql/swift/generated/expr/TypeExpr.qll 0ebb5040199b71ea2f8922848b6d7ad2d4ac585b763485195e4180a118839dfa fb991cb078cecdfd0ec0d19d896635e7b834481c30970bd83fdd4e9792548416
|
||||
lib/codeql/swift/generated/expr/UnderlyingToOpaqueExpr.qll 13d6c7a16ec0c4c92d12e052437dfa84274394ee8a4ca9b2c9e59514564dc683 13d6c7a16ec0c4c92d12e052437dfa84274394ee8a4ca9b2c9e59514564dc683
|
||||
lib/codeql/swift/generated/expr/UnevaluatedInstanceExpr.qll 21dedc617838eed25a8d3a011296fda78f99aee0e8ae2c06789484da6886cfea 21dedc617838eed25a8d3a011296fda78f99aee0e8ae2c06789484da6886cfea
|
||||
lib/codeql/swift/generated/expr/UnresolvedDeclRefExpr.qll 17e83f6418f39cfd3b7768ba694dafce2807f97239d3ac0939fc0c3761ae3571 910e9440cae403b13b6dd501a3dbbda564a1d7d61a532e99a1825590c2d9a4ab
|
||||
@@ -558,45 +559,45 @@ lib/codeql/swift/generated/expr/VarargExpansionExpr.qll ac50264811fc0303220f7825
|
||||
lib/codeql/swift/generated/pattern/AnyPattern.qll ce091e368da281381539d17e3bac59497ad51bb9c167d8991b661db11c482775 ce091e368da281381539d17e3bac59497ad51bb9c167d8991b661db11c482775
|
||||
lib/codeql/swift/generated/pattern/BindingPattern.qll 61ae8b380b43c80710cf7d33c718c45b06cfa3680990e38e4191b3732236595c 1ff0450958cce5a5bfd00942d4846e3b2652499c738bd2790255632c883af0dd
|
||||
lib/codeql/swift/generated/pattern/BoolPattern.qll 118300aa665defa688a7c28f82deb73fa76adce1429d19aa082c71cfcbeb0903 0cd6db87e925e89f8ad6d464762d01d63ddfd34b05a31d5e80eb41aec37480b4
|
||||
lib/codeql/swift/generated/pattern/EnumElementPattern.qll 4aad6e1db45b8d39f61827e44335b2d7c1b9346538933bea82e4cec4b0993e3a 645edf97eb83f077f82c5f08cec912b845c826c2067f38f050b6e78031fe3a2e
|
||||
lib/codeql/swift/generated/pattern/EnumElementPattern.qll 2d92a861316d46190e11880b0c383651e4ea15ea8fb81f55c08c4ce733bee2c7 c5915d7a3b62f7c009daac2e7d87c7d435a81a128bdfcc1db9ad281600acfb67
|
||||
lib/codeql/swift/generated/pattern/ExprPattern.qll 169cef487e499a21d0d2cc4eda7268eb29cb6b1081fa6a0bc4e8571677f063f3 b7f3160f0812cf565873b607a247e184f17cc0289758f9a46748e90e783abd4f
|
||||
lib/codeql/swift/generated/pattern/IsPattern.qll 864c38251026a523f91f0c097899cbc0c281f29d5c11142d5434cd182e8d70b8 be03f3a3aacbd44dc8e6a03f88d241d1247a3686c0d7d8eb4b50fa57c675aac9
|
||||
lib/codeql/swift/generated/pattern/IsPattern.qll c809159dff26b86d44f560742d66e75b3cf143cdfc0f3933b959864412770248 7375cb8140da3c1531b55b084c4b6aa8009495dd40697a13f05b258d3f5677cc
|
||||
lib/codeql/swift/generated/pattern/NamedPattern.qll 5d25e51eb83e86363b95a6531ffb164e5a6070b4a577f3900140edbef0e83c71 9e88b2b2b90a547b402d4782e8d494bc555d4200763c094dd985fe3b7ebc1ec8
|
||||
lib/codeql/swift/generated/pattern/OptionalSomePattern.qll 5b9c7032584619d4921d1a1324e3ce4bd7207f0d4daa703e1e059f983bf1b132 e6d44514cd123a7ad27f657a2b83d46277a961a849139380ece886430a862920
|
||||
lib/codeql/swift/generated/pattern/ParenPattern.qll 337cb03dcb7384f7ef13e35d843b3498c0ae391374f5e870d1e52c2d1baacd95 cba288ee99726f5bbf15cf61971e000a835cf6e8b7507dcf6f6c6dea91ec287a
|
||||
lib/codeql/swift/generated/pattern/Pattern.qll 0e96528a8dd87185f4fb23ba33ea418932762127e99739d7e56e5c8988e024d1 ba1e010c9f7f891048fb8c4ff8ea5a6c664c09e43d74b860d559f6459f82554a
|
||||
lib/codeql/swift/generated/pattern/Pattern.qll abdb00ae9ee55061de85fa77ecff6f3df9ddf395f45a38dde94983ac423d861a 67ffece7bd83150bb0981b2fda86468c2df7c4d2015526b90ca40c71eec6b542
|
||||
lib/codeql/swift/generated/pattern/TuplePattern.qll b3a138b0942f7e3eecb52ad2f095584a6cd5f555e9487c6eaad6a5527ae99f0c d6ff67ecc7395571acef4b82da514cb737c72d97ea557d89da534469feda340c
|
||||
lib/codeql/swift/generated/pattern/TypedPattern.qll 95185ae7acddb74ac68f2d2e31d83e64e3bac3fdbd7a8301a6dc8bb1d89d7918 5d6edf73b4ac2f81843fda26894f5dbf8aa2a7c129af5e1a3256370683fa619c
|
||||
lib/codeql/swift/generated/stmt/BraceStmt.qll 15461198f638b8995687ad8a20ef47c8fac24445a8c28ea5113bbaabe43e4be3 72fa14dbb9cd31032a5f35754991beb6183c2ef37f942707dbfc8911687d8c6e
|
||||
lib/codeql/swift/generated/stmt/BreakStmt.qll 7dca1ed723117cc245636c7ec5f31a69dbbb228eae2f6423ffa1f327f964d1c8 43052e648b31c6edf88c28fc8aa0ec440601c06776d5a32e7ef1efbb59f64cf2
|
||||
lib/codeql/swift/generated/stmt/CaseLabelItem.qll d04772471f1651c0f3c15cb7fa003431b2a51bbffa945a14ae85bb3e58015249 406b2d411a1aa3a513f93e9602ce34138bd47d84a8c5b9fc226ed3e0c972ae08
|
||||
lib/codeql/swift/generated/stmt/CaseStmt.qll 01b7cb7fe5839c02fec5af4ddc9d6c7646583305e17543f1e5a6993b8467c3cd 62ab05c856c1a567aa7aaa04390fee9cd65d44ad3e244a1f781e97710b89653d
|
||||
lib/codeql/swift/generated/stmt/ConditionElement.qll 2f60c9326681613939b411d9c5e53e0e0e5cf756b551af4e150b8be964d8e05d 4155edf57ccc61b87f5d51684e57c06cd0bc6733579275f089de51975546eab1
|
||||
lib/codeql/swift/generated/stmt/ContinueStmt.qll 572747312c2a7c4e6ad1c82c58f8ac55ce05d5e1f828160fe139c3d2c100eb61 a54d57cc434f7d04412bf130391e9c571f8f11f90be501d736e96f341b0c1de9
|
||||
lib/codeql/swift/generated/stmt/DeferStmt.qll 099b98183d770608f63ee09b290e71042e4cbbbc6a83b0f0fa10614af418c712 d5504347c08ab2b4764d5cb03a3b590a97144240d68f626db0778697ef9638c1
|
||||
lib/codeql/swift/generated/stmt/DoCatchStmt.qll 4a05ba358b289c052f1e7d6b86dae206e91a8033687c3fabddac1556173a8140 8743746aeb98f28e7786233db4a9eacfcf73aea3f602be9e1f8c0d956d22aeb1
|
||||
lib/codeql/swift/generated/stmt/DoStmt.qll b22efabd7431e703ae33dd1df69a9e3ceb49f512ab2c46be9c7eba2d53a1e37f 8d7796e2b4676da59aa8425014a16b82ef47d4ac22af60a10c5076a691af17d1
|
||||
lib/codeql/swift/generated/pattern/TypedPattern.qll 6a9fd2815755eddc6918d6be8221c7afb90e4fba4fcb8eb54ff42754269bb481 f198c3b09553a5f5f3d97f8088ef82c00552b9635560750c56d801b09dbd9e26
|
||||
lib/codeql/swift/generated/stmt/BraceStmt.qll 72557bdbde907042a936b55039e6032afd5eb92b21a6bb3d669437f3141a7e76 a2fb52f3d77444880edcafec6d107f27cf8c528c21241b1222823136fd4cfbb9
|
||||
lib/codeql/swift/generated/stmt/BreakStmt.qll 879cf66911cc7f53e7e8f4ae8244681018fb17d6501b269fb7cf9d8481f0b539 c78fc1b0e3e76321fc1653aa8b0aabaaacf082e01a003b78f693b106cc05faa0
|
||||
lib/codeql/swift/generated/stmt/CaseLabelItem.qll 9536d2909a274c3a969eec25f8e5966adfaa9b0d6451ea6319d9f7bb2fd6fe07 02e25f036db50e9a6e9a7ceab6002dd605b73afb55fa1dee6f22e7af33a40913
|
||||
lib/codeql/swift/generated/stmt/CaseStmt.qll c180478c6161439bc76bd39edfab343faba7450900ffedcadd3ccea12dc3a08c b537eb517db76113cfbc91c59e6bdfbf16ff83d639dfe6fd6892171f71a97090
|
||||
lib/codeql/swift/generated/stmt/ConditionElement.qll 29c1f9ab045cceac466836c8c6b9b158395351a76d4c4f8725d98663ea75b9de 09342a6d9632a1af973ef21fd03d30ca85b94ebb7d51991b4b573ce9096f97f4
|
||||
lib/codeql/swift/generated/stmt/ContinueStmt.qll bf300c9655f750db8e71eb530d8972eca1ac9bf022023c8d99e299de8f5b3a44 746a2432752743e18e2b5fa4b46407e5d4c0e6ee38635c6de0846452cbc5eec5
|
||||
lib/codeql/swift/generated/stmt/DeferStmt.qll 230f8c8f53c86afd3169b36214c03c54ac3e5240b1c1c1ade4446b45c4c3c32a d0d9e728be7506aa07904c53087eb1273a82762139866767abb0b851f3e559ee
|
||||
lib/codeql/swift/generated/stmt/DoCatchStmt.qll b418fdb6d48c2c0d30d11c0b256692af879846113c89ccdd21a84cd27ccfddec 5aea94c795e300ee1d99119c86d201228537b24a1e281abb79a14b2edbb498af
|
||||
lib/codeql/swift/generated/stmt/DoStmt.qll 582f56113ecc384ee80610ae80e2a040fbe58c56b72c76b6c7da3daaeee739bd 3778445dc2f6173d4182cbda47ca0d0e066d931379ed7da89bb3afd1fda1e81b
|
||||
lib/codeql/swift/generated/stmt/FailStmt.qll d8f5816c51c5027fd6dacc8d9f5ddd21f691c138dfc80c6c79e250402a1fe165 d8f5816c51c5027fd6dacc8d9f5ddd21f691c138dfc80c6c79e250402a1fe165
|
||||
lib/codeql/swift/generated/stmt/FallthroughStmt.qll 0f5caceabd3f683914cd598c60e78f0c225a06b017784182e9bf1525ebf4eff8 fe328559e580ebcd38aac3b6402f1a40cd1c922e92b52456b18e79e6e241d7b4
|
||||
lib/codeql/swift/generated/stmt/ForEachStmt.qll 105f4905d2c9b832b01dabfc87a90294886ed867be119c83b1af779b61cca8c3 8aeae81570d9444f16e0335ac2d1b8645dc37e2b6b30ccdfeeda77b0d3c8af14
|
||||
lib/codeql/swift/generated/stmt/GuardStmt.qll 135faa385310d9398db6630c799ee57da6e5546e8ae09190b0aab8397c330c57 eb98434209466449d82dd75049850aa3d550f2c0d2b6e0a70f2ee8d2dae4d830
|
||||
lib/codeql/swift/generated/stmt/IfStmt.qll a01212a13060f36b0c5ff29a18aa64a450662b284d37d8cff10ce648507684b2 05e9617901b871d59fa9f08f3397aac7ebe7026ae482e316e591c2622ba64a2f
|
||||
lib/codeql/swift/generated/stmt/LabeledConditionalStmt.qll 2865e39a960ec4f610cccc6cb93ecf2b3ef457fb4c3acb961ffcf84ed9c1f33e cb8b7f16520ead1299d898ccd22efb89a74e9b3d658fdb613af0797b60d80bb7
|
||||
lib/codeql/swift/generated/stmt/FallthroughStmt.qll aa400a95593395d97b196a78462fb5ab7cad0497b395cdd98885e1593271614d 4df6bfa7d2f4e2b5e5155351e445bb6c710e7c20c82fa3321564b11ef60b086a
|
||||
lib/codeql/swift/generated/stmt/ForEachStmt.qll 0c4b3c9540aaf89c135de6618dc7f07680a44bb6e874d8b12b2457ecad7d766d 52fbec89382d3b207f379e126654008393be560c8efe4a490fda1e2c48914235
|
||||
lib/codeql/swift/generated/stmt/GuardStmt.qll f31660bbe32231e310ff3d33dfece761ee7ec888fe74683359f86a3766e7c378 ce1f8279839e0b6311107ea9473871cbcfdc7c12d2368ac55b989f9bff2c5e7c
|
||||
lib/codeql/swift/generated/stmt/IfStmt.qll 80f1caba3a477e589b6aa3543ec1787005ab1ffab91a77832512c79dffce48c7 2126cf386e917a230175ba7e07450e390b4bd65da6fce1af8395e5ffd3f79dca
|
||||
lib/codeql/swift/generated/stmt/LabeledConditionalStmt.qll 057c6c556ecd836ca7f40d208c04e43039dde53e41eb27cc27f5f502a38a86fa 2ee979a35e0e9fa72253ab21d57c18b7268b7acc1edb4ec514b73b99b0aa2c6c
|
||||
lib/codeql/swift/generated/stmt/LabeledStmt.qll 734f0bb5b40d72c3c949a08af15c01b3ae3a3e315f3196f75da27e03a2635d63 f1fbea28c7eef71135e60e144714b1027d71f07ccfabbb65d6a98aa89523720e
|
||||
lib/codeql/swift/generated/stmt/PoundAssertStmt.qll d672d599679838fb9fcc7e9e3b4641a7d514ee35d94f9eaa9d56f1e893d57863 7ca6f2571015c105887b4c045c2305a05ad86813cf5fcf28b577efcc3d483717
|
||||
lib/codeql/swift/generated/stmt/RepeatWhileStmt.qll e9a4ac23dafb18a2bc23a045eb7ed8a96193600071d46351474ae899f7e24f7d 8bdfd1e1c75b95ba156dc0c90b5fcc185b0bee84feb144c7dc1b5f159703c79a
|
||||
lib/codeql/swift/generated/stmt/ReturnStmt.qll c27a59f427f39d6eaebc96c6d975480be535945572e5a88ab961c34ef166df1a 269912d84e69f97348ea2cf46ab38d08cf92b7fc6bf6255e649a64580bf171ad
|
||||
lib/codeql/swift/generated/stmt/PoundAssertStmt.qll c7a2effdfde66cf6308815affa966d63a9a251ddc27d492320733f1b2398ecdb 83b886c58dbdd845e4be08309c2be1e8954cd0aa1a8ce079d429f96beaef02bf
|
||||
lib/codeql/swift/generated/stmt/RepeatWhileStmt.qll 5edf21c6f6a9ec95f1f4ada10a47f46e38550c307cae8b74dad4c26275e24ace 6a2c1cdc99ef31c9a8f49cc4cb207b832bb90d55f69ef3196948105daeaf8d45
|
||||
lib/codeql/swift/generated/stmt/ReturnStmt.qll bed521194ae4f9a60d3ea0a9ea46dd7dbbc62799272d752871524a8eedbefc46 eb28b591ad77d842211a0df931fd693581c0e792b93421679b64a38de637d836
|
||||
lib/codeql/swift/generated/stmt/Stmt.qll b2a4f3712e3575321a4bc65d31b9eb8ddcd2d20af9863f3b9240e78e4b32ccff e0fc13b3af867aa53b21f58a5be1b7d1333b3e8543a4d214a346468f783dbf40
|
||||
lib/codeql/swift/generated/stmt/StmtCondition.qll 3a9b82fc0776c1693c620fd96b3dbf94052ca0a2134ea4c9c83e51a1df6accad d2f809dd6820aa05c1630cd09ca12f22f94698155661aecd5d3837e340354ff2
|
||||
lib/codeql/swift/generated/stmt/SwitchStmt.qll 2e43f3eb536bb8924311d2fe84b2b21f712875caeaa8c4b13047b782c06ae453 ff72f4a01c3d7d227a28481d5a95b0858c15619067dd159332693af05fd0f146
|
||||
lib/codeql/swift/generated/stmt/ThrowStmt.qll c6f419f7d7021061a913fd70e64e43d55efe4350f73a21921cbd0654fabfa928 b76d221ad122710050651a62efb92b318d48109ec5326971c66cf9876dde9e14
|
||||
lib/codeql/swift/generated/stmt/WhileStmt.qll 550fef68aa3e81fcc615a296fabeacacef7648fe8e0316daef8a2767654f3020 5a60c959f042ebd9142b26432ad905cc2079664568d1b0bdf22085d4a24a92b9
|
||||
lib/codeql/swift/generated/stmt/YieldStmt.qll 5b0a6e0a656f9db4095d128c3e7d6bf1265ff218045ad91bd0699097c6c3cce7 45f54dbd94af7c2ab7e53858a7c3389636726d3d5fb45b876b5daad1896d1305
|
||||
lib/codeql/swift/generated/stmt/StmtCondition.qll b8dabf10de10f7c21abe0c7911084a41beb6e7125016a9bc2e15a6ace6d31837 d3ad8923495c273b83d80c4c9f64665798273c843f4cd1862b0300a93c2ac2d6
|
||||
lib/codeql/swift/generated/stmt/SwitchStmt.qll e303f93ba166044326071368b8c3ef74c2a87c1c586b1d05cf645150f8958b1a 4a8e919ba35423b49d4400d0d0730a0372d5f75a741f49776654bae773250561
|
||||
lib/codeql/swift/generated/stmt/ThrowStmt.qll d486c63f0f224e088cd67deb296d47266c8cfa2212853f950f6d0457941a0ca2 c4315440944ccb312af7ee8ee18b5eb2b98909ba9655e4729ea0e0d6a87ff014
|
||||
lib/codeql/swift/generated/stmt/WhileStmt.qll ee2661a76fdb516095bfcfb3210b4e24fc0f9619e985c9916fc0f5150736dbb1 b6c95a8e410f79c8d0a7bc994f92bf34b51400a2ba49b67af28a5256687855a9
|
||||
lib/codeql/swift/generated/stmt/YieldStmt.qll 81e2e31455da36b08f21f905d3e5b87e9f5c10ba50990fa5722a2d9488378da4 21d9e9523ba28bd291753b331379945c621241ccadb0cb444755ee5947cb24d1
|
||||
lib/codeql/swift/generated/type/AnyBuiltinIntegerType.qll a263451163e027c4c4223ec288e090b7e0d399cc46eb962013342bfeac5f6b86 d850ec1ee1902945b172ddd0ecd8884e399e963f939c04bc8bfaadacebdf55a9
|
||||
lib/codeql/swift/generated/type/AnyFunctionType.qll ecd701702fc4f5a2205208faad7598f3083028914e72aacdaa6311f522468352 342e2265f0593c3f388a7f293b589f332c977d7863d697901445d68f0b93a222
|
||||
lib/codeql/swift/generated/type/AnyGenericType.qll a6da9ae1024bdafa244f3f5843fe16efe06f5d8e7305c5712f6b9ff409347427 11694abc90753c3f1a27e4745919f851334e0b79eb576831403c7866014b64aa
|
||||
lib/codeql/swift/generated/type/AnyGenericType.qll 8b64a517c57c6c7e46eca923a5611c28c626c920818b5b9060f1772c10d1a636 151ce25c5b86e51d4e0f4a11c058eb1555a8d3f286029b37732b47b3b23e3667
|
||||
lib/codeql/swift/generated/type/AnyMetatypeType.qll 6805a6895e748e02502105d844b66fab5111dbb0d727534d305a0396dacc9465 58e0794b8d6dccd9809f5b83bf64b162e69f3f84b5f3161b88aed10f16a8ede8
|
||||
lib/codeql/swift/generated/type/ArchetypeType.qll 2642f841dac57a4c2447ceb5c3a42bf9e59bdb426556307dae863bd4009950e0 e7136d1929951d7dc928d0ebab99aca84eee8bf71aad86f480c4820da26adec0
|
||||
lib/codeql/swift/generated/type/ArchetypeType.qll 49560392daec2e41846dba8254a1ce420ca17a0e6d45c6a6b670f3f9e44e2c18 6865b7359c413602d7de11aec850811a012cad846a5839817c4d5644c6138d8a
|
||||
lib/codeql/swift/generated/type/ArraySliceType.qll 72d0409e2704e89ebca364ae28d55c874152f55dd1deaac6c954617f6566f3c2 72d0409e2704e89ebca364ae28d55c874152f55dd1deaac6c954617f6566f3c2
|
||||
lib/codeql/swift/generated/type/BoundGenericClassType.qll c82971dcd306a4cbc6bb885ae300556717eb2d068066b7752a36480e5eb14b5f c82971dcd306a4cbc6bb885ae300556717eb2d068066b7752a36480e5eb14b5f
|
||||
lib/codeql/swift/generated/type/BoundGenericEnumType.qll 89fcee52adbe6c9b130eae45cf43b2a2c302e8812f8519ea885e5d41dec3ec56 89fcee52adbe6c9b130eae45cf43b2a2c302e8812f8519ea885e5d41dec3ec56
|
||||
@@ -616,7 +617,7 @@ lib/codeql/swift/generated/type/BuiltinType.qll 0f90f2fd18b67edf20712ff51484afd5
|
||||
lib/codeql/swift/generated/type/BuiltinUnsafeValueBufferType.qll d569e7c255de5e87bb0eb68ae5e7fea011121e01b2868007485af91da7417cd6 d569e7c255de5e87bb0eb68ae5e7fea011121e01b2868007485af91da7417cd6
|
||||
lib/codeql/swift/generated/type/BuiltinVectorType.qll f51ce577abec2a1de3ae77a5cd9719aa4a1a6f3f5ec492c7444e410fb1de802a f51ce577abec2a1de3ae77a5cd9719aa4a1a6f3f5ec492c7444e410fb1de802a
|
||||
lib/codeql/swift/generated/type/ClassType.qll b52f0383d3dcbf7cf56d0b143cbb63783cb5fa319bcbfc4754e362d935e0fb53 b52f0383d3dcbf7cf56d0b143cbb63783cb5fa319bcbfc4754e362d935e0fb53
|
||||
lib/codeql/swift/generated/type/DependentMemberType.qll 0596086099ef55db0647b436e4d4ad6482496e8d491b6497e31b6f4ecdafe5d0 2de600fd4ac4739afdf4cd84822da467d195c7cc6d7099fe7ac446eae147979d
|
||||
lib/codeql/swift/generated/type/DependentMemberType.qll 348f4b1eb1ed6e311212c1565716c814f9f4198ec4be7e748fbd10cef1f98ce4 a17c65acda68c87b7148047372a9779ce9eda53dbaa81208f0b9b57262001791
|
||||
lib/codeql/swift/generated/type/DictionaryType.qll 1a30cd9815e9162cbf07d193a35d834837f8b8aa8ab936ea8c4400ea66181937 d4100b99422db8b81632cd86144c316ed8504616df742223cb6cde1211704d14
|
||||
lib/codeql/swift/generated/type/DynamicSelfType.qll 331e731ce6ebf8e4b152efcbfbebe35d506c03633dab75483ae660f967259c58 4066ab0cd3c768fe25aba0d2ddaa4e394070f97dbe77b375c6fd39447eef8fd9
|
||||
lib/codeql/swift/generated/type/EnumType.qll dcf653c7ee2e76882d9f415fbbc208905b8d8ed68cc32e36c0439a9205e65b35 dcf653c7ee2e76882d9f415fbbc208905b8d8ed68cc32e36c0439a9205e65b35
|
||||
@@ -629,10 +630,10 @@ lib/codeql/swift/generated/type/GenericTypeParamType.qll f515debe8b21f3ea6551e4f
|
||||
lib/codeql/swift/generated/type/InOutType.qll 93906f54e2e109a8e83bf10665a9cfb518b96c6f8d8ea50e8d994a2802082e61 1cdf37ee0a2785e1a3298022f0d9aa8e9bce38e8d7268d631bb6544bdf07e636
|
||||
lib/codeql/swift/generated/type/LValueType.qll ed2c9347139582c311b6ae58a26fd4462cdcd4ec1f1d0ea3c9967d0bec54683c d027432cc73850731f33b1aaf7e2aa57d97ed7e3171de3dc53902e6ed7e38b46
|
||||
lib/codeql/swift/generated/type/MetatypeType.qll cd752f81257820f74c1f5c016e19bdc9b0f8ff8ddcc231daa68061a85c4b38e2 cd752f81257820f74c1f5c016e19bdc9b0f8ff8ddcc231daa68061a85c4b38e2
|
||||
lib/codeql/swift/generated/type/ModuleType.qll 46178692ceeda03ded0af1ab96af9e3ef4ba426e7345a0e2abfc6b35eebd9fc1 135549ca669d27c737159cc8327963879c11e32177a3b72d2076decb0927c475
|
||||
lib/codeql/swift/generated/type/ModuleType.qll 77fc9ea296b5be29aa8eded4cdfdbc7ca09a4c443f6720f31f9728a6e5bf115d c551af9fa41b1da433f52c89e3d126ac11caad8ab6a59baeda7bdbd7b11487cf
|
||||
lib/codeql/swift/generated/type/NominalOrBoundGenericNominalType.qll 27d87dc4792b7f46fa1b708aadecef742ab2a78b23d4eb28ce392da49766122f 380b827d026202cbfcd825e975ebbdf8f53784a0426ce5454cb1b43cc42dfe16
|
||||
lib/codeql/swift/generated/type/NominalType.qll f7e85d544eaaa259c727b8b4ba691578861d15612a134d19936a20943270b629 87472017a129921d2af9d380f69c293f4deba788e7660b0fe085a455e76562e8
|
||||
lib/codeql/swift/generated/type/OpaqueTypeArchetypeType.qll 2126dd1e66b3b8fb4a2ac1808674f1c502cabe7cce11ecde407e78bbb1a1546e e78d3b63cc551a0dd284969c8ba6294466b1ddbcd17a0fdb745237a3793313ac
|
||||
lib/codeql/swift/generated/type/OpaqueTypeArchetypeType.qll 54f267ce066c2bc3c1a4ef93154a2b99c1c6a7253c9d75f5d215a4e8fe036c1d f2d397bc48875d7c47e239d859a40ee191dad8340c7f2861d461c8a4f339fa49
|
||||
lib/codeql/swift/generated/type/OpenedArchetypeType.qll ed97d3fb8810424643953a0d5ebd93e58d1b2e397ea01ccde0dcd8e68c41adb2 ed97d3fb8810424643953a0d5ebd93e58d1b2e397ea01ccde0dcd8e68c41adb2
|
||||
lib/codeql/swift/generated/type/OptionalType.qll d99dd5ec5636cc6c3e0e52bf27d0d8bf8dfcff25739cd7e1b845f5d96b1a5ac9 d99dd5ec5636cc6c3e0e52bf27d0d8bf8dfcff25739cd7e1b845f5d96b1a5ac9
|
||||
lib/codeql/swift/generated/type/ParameterizedProtocolType.qll 5ec7f5d9412f071099a75e920dce686e3a3b3697d94f2b03d4456858060d31d1 9d8f3ae67ebe290102f6c3fc4bda14d66865b13a782fe9e80e3e2464da14f18e
|
||||
@@ -646,9 +647,9 @@ lib/codeql/swift/generated/type/SubstitutableType.qll 9e74ec2d281cd3dedbc5791d66
|
||||
lib/codeql/swift/generated/type/SugarType.qll 4ea82201ae20e769c0c3e6e158bae86493e1b16bbd3ef6495e2a3760baa1fc6b 6c78df86db6f9c70398484819a9b9ecc8ee337b0a4ac2d84e17294951a6fd788
|
||||
lib/codeql/swift/generated/type/SyntaxSugarType.qll 253e036452e0ba8ae3bb60d6ed22f4efb8436f4ef19f158f1114a6f9a14df42c 743fe4dede40ca173b19d5757d14e0f606fe36f51119445503e8eea7cf6df3b0
|
||||
lib/codeql/swift/generated/type/TupleType.qll af224031c3bea6dfca6138903cca940a4f00ba6494ad7b591b9f017d69ee9a6c f59ad1bb4994196ec49836ae169e550a70dbb25a359ff889ed6456882fe2d9a0
|
||||
lib/codeql/swift/generated/type/Type.qll c08acc943c9b52662a465d77fcd39d12f869c42b24a3755225b3bddbb1cf72f5 6d82c5bddded75fd5598bb559ecfa07360ad802d5e9541af2c334dc9d0159335
|
||||
lib/codeql/swift/generated/type/TypeAliasType.qll 1c7b7d66f277907d04462712ff5271b84987656351da8e486d718b8d138ef545 2dc20e1fd98bee6a8e5b35cf7a048716b2b6d2e5ba6610ecc4f7f667da930885
|
||||
lib/codeql/swift/generated/type/TypeRepr.qll bb78cc2265734d8ecbd32ca85e38c853e9f35569aaf4dc8353d20471b3559c3d c2abc1d161590cbdc4cac7e147e114f8a28ba5f6405dba7ead51abe85991505d
|
||||
lib/codeql/swift/generated/type/Type.qll ada3973ed840643fa9f015d721d1f3c58994cda46b169e875b77473281d9122f 6a43dc43be0ac6f315b58ca4dc9b015769281eb5011220f28b5e9b6ed9436207
|
||||
lib/codeql/swift/generated/type/TypeAliasType.qll 7c1397c4a145d3265e8d1b4dac4ae6a58a2c4026145cfb2d8d28c01309b0ea26 0e3c3a2c166285f4ac1b417b8cc74a5095c8a8e1a102d7b5ca2829a06b61de23
|
||||
lib/codeql/swift/generated/type/TypeRepr.qll 25a412f029bf2d4b283ea07f0f0ff5713b1b4f369f8cb06991328fdee030e14a 2a39717f2e023c96015b797b59812b0e0bef1ea2780ee83869b68da549abbf2f
|
||||
lib/codeql/swift/generated/type/UnarySyntaxSugarType.qll 6f3822691d04531cc1dd6a78fb184f3e18d42ee324123dc4338fdd368fbd0bd6 d489aac77955de0d71fd5c271fddccd40050db4ef8ce8d817320ca9554057c3a
|
||||
lib/codeql/swift/generated/type/UnboundGenericType.qll 43549cbdaaa05c3c6e3d6757aca7c549b67f3c1f7d7f0a987121de0c80567a78 43549cbdaaa05c3c6e3d6757aca7c549b67f3c1f7d7f0a987121de0c80567a78
|
||||
lib/codeql/swift/generated/type/UnmanagedStorageType.qll 198727a7c9557a0a92c6d833768086f0a0a18c546b4bfd486d7ff7ad5677a6aa 198727a7c9557a0a92c6d833768086f0a0a18c546b4bfd486d7ff7ad5677a6aa
|
||||
|
||||
1
swift/ql/.gitattributes
generated
vendored
1
swift/ql/.gitattributes
generated
vendored
@@ -379,6 +379,7 @@
|
||||
/lib/codeql/swift/generated/Element.qll linguist-generated
|
||||
/lib/codeql/swift/generated/ErrorElement.qll linguist-generated
|
||||
/lib/codeql/swift/generated/File.qll linguist-generated
|
||||
/lib/codeql/swift/generated/HideableElement.qll linguist-generated
|
||||
/lib/codeql/swift/generated/KeyPathComponent.qll linguist-generated
|
||||
/lib/codeql/swift/generated/Locatable.qll linguist-generated
|
||||
/lib/codeql/swift/generated/Location.qll linguist-generated
|
||||
|
||||
@@ -98,7 +98,7 @@ private predicate isBooleanConstant(ControlFlowElement n, boolean value) {
|
||||
// Boolean constants hidden inside conversions are also
|
||||
// constants that resolve to the same value.
|
||||
exists(ControlFlowElement parent |
|
||||
parent.asAstNode() = n.asAstNode().getResolveStep() and
|
||||
parent.asAstNode() = n.asAstNode().(HideableElement).getResolveStep() and
|
||||
isBooleanConstant(parent, value)
|
||||
)
|
||||
}
|
||||
@@ -122,9 +122,9 @@ private predicate inBooleanContext(ControlFlowElement n) {
|
||||
private predicate astInBooleanContext(AstNode n) {
|
||||
n = any(ConditionElement condElem).getBoolean().getFullyUnresolved()
|
||||
or
|
||||
n = any(ConditionElement condElem).getAvailability().getFullyUnresolved()
|
||||
n = any(ConditionElement condElem).getAvailability()
|
||||
or
|
||||
n = any(StmtCondition stmtCond).getFullyUnresolved()
|
||||
n = any(StmtCondition stmtCond)
|
||||
or
|
||||
exists(RepeatWhileStmt repeat | n = repeat.getCondition().getFullyConverted())
|
||||
or
|
||||
|
||||
@@ -264,7 +264,7 @@ module Stmts {
|
||||
or
|
||||
child.asAstNode() = ast.getAnElement().getBoolean().getFullyConverted()
|
||||
or
|
||||
child.asAstNode() = ast.getAnElement().getAvailability().getFullyUnresolved()
|
||||
child.asAstNode() = ast.getAnElement().getAvailability()
|
||||
}
|
||||
|
||||
predicate firstElement(int i, ControlFlowElement first) {
|
||||
@@ -278,7 +278,7 @@ module Stmts {
|
||||
astFirst(ast.getElement(i).getBoolean().getFullyConverted(), first)
|
||||
or
|
||||
// ... or an availability check.
|
||||
astFirst(ast.getElement(i).getAvailability().getFullyUnresolved(), first)
|
||||
astFirst(ast.getElement(i).getAvailability(), first)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ module Stmts {
|
||||
astLast(ast.getElement(i).getBoolean().getFullyConverted(), pred, c)
|
||||
or
|
||||
// ... or the availability check ...
|
||||
astLast(ast.getElement(i).getAvailability().getFullyUnresolved(), pred, c)
|
||||
astLast(ast.getElement(i).getAvailability(), pred, c)
|
||||
) and
|
||||
// We evaluate the next element
|
||||
c instanceof NormalCompletion and
|
||||
@@ -313,7 +313,7 @@ module Stmts {
|
||||
not c.(MatchingCompletion).isMatch()
|
||||
or
|
||||
// Stop if an availability check failed
|
||||
astLast(ast.getAnElement().getAvailability().getFullyUnresolved(), last, c) and
|
||||
astLast(ast.getAnElement().getAvailability(), last, c) and
|
||||
c instanceof FalseCompletion
|
||||
or
|
||||
// Stop if we successfully evaluated all the conditionals
|
||||
@@ -322,7 +322,7 @@ module Stmts {
|
||||
or
|
||||
astLast(ast.getLastElement().getPattern().getFullyUnresolved(), last, c)
|
||||
or
|
||||
astLast(ast.getLastElement().getAvailability().getFullyUnresolved(), last, c)
|
||||
astLast(ast.getLastElement().getAvailability(), last, c)
|
||||
) and
|
||||
c instanceof NormalCompletion
|
||||
}
|
||||
@@ -342,14 +342,14 @@ module Stmts {
|
||||
override IfStmt ast;
|
||||
|
||||
final override predicate propagatesAbnormal(ControlFlowElement child) {
|
||||
child.asAstNode() = ast.getCondition().getFullyUnresolved() or
|
||||
child.asAstNode() = ast.getCondition() or
|
||||
child.asAstNode() = ast.getThen() or
|
||||
child.asAstNode() = ast.getElse()
|
||||
}
|
||||
|
||||
final override predicate last(ControlFlowElement last, Completion c) {
|
||||
// Condition exits with a false completion and there is no `else` branch
|
||||
astLast(ast.getCondition().getFullyUnresolved(), last, c) and
|
||||
astLast(ast.getCondition(), last, c) and
|
||||
c instanceof FalseOrNonMatchCompletion and
|
||||
not exists(ast.getElse())
|
||||
or
|
||||
@@ -360,10 +360,10 @@ module Stmts {
|
||||
final override predicate succ(ControlFlowElement pred, ControlFlowElement succ, Completion c) {
|
||||
// Pre-order: flow from statement itself to first element of condition
|
||||
pred.asAstNode() = ast and
|
||||
astFirst(ast.getCondition().getFullyUnresolved(), succ) and
|
||||
astFirst(ast.getCondition(), succ) and
|
||||
c instanceof SimpleCompletion
|
||||
or
|
||||
astLast(ast.getCondition().getFullyUnresolved(), pred, c) and
|
||||
astLast(ast.getCondition(), pred, c) and
|
||||
(
|
||||
// Flow from last element of condition to first element of then branch
|
||||
c instanceof TrueOrMatchCompletion and
|
||||
@@ -380,7 +380,7 @@ module Stmts {
|
||||
override GuardStmt ast;
|
||||
|
||||
final override predicate propagatesAbnormal(ControlFlowElement child) {
|
||||
child.asAstNode() = ast.getCondition().getFullyUnresolved() or
|
||||
child.asAstNode() = ast.getCondition() or
|
||||
child.asAstNode() = ast.getBody()
|
||||
}
|
||||
|
||||
@@ -390,18 +390,18 @@ module Stmts {
|
||||
c instanceof NormalCompletion
|
||||
or
|
||||
// Exit when a condition is true
|
||||
astLast(ast.getCondition().getFullyUnresolved(), last, c) and
|
||||
astLast(ast.getCondition(), last, c) and
|
||||
c instanceof TrueOrMatchCompletion
|
||||
}
|
||||
|
||||
final override predicate succ(ControlFlowElement pred, ControlFlowElement succ, Completion c) {
|
||||
// Pre-order: flow from statement itself to first element of condition
|
||||
pred.asAstNode() = ast and
|
||||
astFirst(ast.getCondition().getFullyUnresolved(), succ) and
|
||||
astFirst(ast.getCondition(), succ) and
|
||||
c instanceof SimpleCompletion
|
||||
or
|
||||
// Flow to the body when the condition is false
|
||||
astLast(ast.getCondition().getFullyUnresolved(), pred, c) and
|
||||
astLast(ast.getCondition(), pred, c) and
|
||||
c instanceof FalseOrNonMatchCompletion and
|
||||
astFirst(ast.getBody(), succ)
|
||||
}
|
||||
@@ -458,9 +458,7 @@ module Stmts {
|
||||
private class WhileTree extends LoopTree {
|
||||
override WhileStmt ast;
|
||||
|
||||
final override ControlFlowElement getCondition() {
|
||||
result.asAstNode() = ast.getCondition().getFullyUnresolved()
|
||||
}
|
||||
final override ControlFlowElement getCondition() { result.asAstNode() = ast.getCondition() }
|
||||
|
||||
final override ControlFlowElement getBody() { result.asAstNode() = ast.getBody() }
|
||||
|
||||
@@ -674,7 +672,7 @@ module Stmts {
|
||||
|
||||
final override predicate last(ControlFlowElement last, Completion c) {
|
||||
// Case pattern exits with a non-match
|
||||
astLast(ast.getLastLabel().getFullyUnresolved(), last, c) and
|
||||
astLast(ast.getLastLabel(), last, c) and
|
||||
not c.(MatchingCompletion).isMatch()
|
||||
or
|
||||
// Case body exits with any completion
|
||||
@@ -684,18 +682,18 @@ module Stmts {
|
||||
override predicate succ(ControlFlowElement pred, ControlFlowElement succ, Completion c) {
|
||||
// Pre-order: Flow from the case statement itself to the first label
|
||||
pred.asAstNode() = ast and
|
||||
astFirst(ast.getFirstLabel().getFullyUnresolved(), succ) and
|
||||
astFirst(ast.getFirstLabel(), succ) and
|
||||
c instanceof SimpleCompletion
|
||||
or
|
||||
// Left-to-right evaluation of labels until we find a match
|
||||
exists(int i |
|
||||
astLast(ast.getLabel(i).getFullyUnresolved(), pred, c) and
|
||||
astFirst(ast.getLabel(i + 1).getFullyUnresolved(), succ) and
|
||||
astLast(ast.getLabel(i), pred, c) and
|
||||
astFirst(ast.getLabel(i + 1), succ) and
|
||||
c.(MatchingCompletion).isNonMatch()
|
||||
)
|
||||
or
|
||||
// Flow from last element of pattern to first element of body
|
||||
astLast(ast.getALabel().getFullyUnresolved(), pred, c) and
|
||||
astLast(ast.getALabel(), pred, c) and
|
||||
astFirst(ast.getBody(), succ) and
|
||||
c.(MatchingCompletion).isMatch()
|
||||
}
|
||||
@@ -1164,7 +1162,7 @@ module Exprs {
|
||||
override CaptureListExpr ast;
|
||||
|
||||
final override ControlFlowElement getChildElement(int i) {
|
||||
result.asAstNode() = ast.getBindingDecl(i).getFullyUnresolved()
|
||||
result.asAstNode() = ast.getBindingDecl(i)
|
||||
or
|
||||
i = ast.getNumberOfBindingDecls() and
|
||||
result.asAstNode() = ast.getClosureBody().getFullyConverted()
|
||||
@@ -1796,9 +1794,7 @@ module AvailabilityInfo {
|
||||
private class AvailabilityInfoTree extends AstStandardPostOrderTree {
|
||||
override AvailabilityInfo ast;
|
||||
|
||||
final override ControlFlowElement getChildElement(int i) {
|
||||
result.asAstNode() = ast.getSpec(i).getFullyUnresolved()
|
||||
}
|
||||
final override ControlFlowElement getChildElement(int i) { result.asAstNode() = ast.getSpec(i) }
|
||||
}
|
||||
|
||||
private class AvailabilitySpecTree extends AstLeafTree {
|
||||
|
||||
1
swift/ql/lib/codeql/swift/elements.qll
generated
1
swift/ql/lib/codeql/swift/elements.qll
generated
@@ -10,6 +10,7 @@ import codeql.swift.elements.Diagnostics
|
||||
import codeql.swift.elements.Element
|
||||
import codeql.swift.elements.ErrorElement
|
||||
import codeql.swift.elements.File
|
||||
import codeql.swift.elements.HideableElement
|
||||
import codeql.swift.elements.KeyPathComponent
|
||||
import codeql.swift.elements.Locatable
|
||||
import codeql.swift.elements.Location
|
||||
|
||||
@@ -1,18 +1,7 @@
|
||||
private import codeql.swift.generated.Element
|
||||
|
||||
class Element extends Generated::Element {
|
||||
private predicate resolvesFrom(Element e) { e.getResolveStep() = this }
|
||||
|
||||
override string toString() { result = this.getPrimaryQlClasses() }
|
||||
|
||||
Element getFullyUnresolved() {
|
||||
not this.resolvesFrom(_) and result = this
|
||||
or
|
||||
exists(Element e |
|
||||
this.resolvesFrom(e) and
|
||||
result = e.getFullyUnresolved()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
class UnknownElement extends Element {
|
||||
|
||||
14
swift/ql/lib/codeql/swift/elements/HideableElement.qll
Normal file
14
swift/ql/lib/codeql/swift/elements/HideableElement.qll
Normal file
@@ -0,0 +1,14 @@
|
||||
private import codeql.swift.generated.HideableElement
|
||||
|
||||
class HideableElement extends Generated::HideableElement {
|
||||
private predicate resolvesFrom(HideableElement e) { e.getResolveStep() = this }
|
||||
|
||||
HideableElement getFullyUnresolved() {
|
||||
not this.resolvesFrom(_) and result = this
|
||||
or
|
||||
exists(HideableElement e |
|
||||
this.resolvesFrom(e) and
|
||||
result = e.getFullyUnresolved()
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,10 @@ private import codeql.swift.elements.UnknownLocation
|
||||
|
||||
class Locatable extends Generated::Locatable {
|
||||
pragma[nomagic]
|
||||
override Location getImmediateLocation() {
|
||||
result = Generated::Locatable.super.getImmediateLocation()
|
||||
override Location getLocation() {
|
||||
result = Generated::Locatable.super.getLocation()
|
||||
or
|
||||
not exists(Generated::Locatable.super.getImmediateLocation()) and
|
||||
not exists(Generated::Locatable.super.getLocation()) and
|
||||
result instanceof UnknownLocation
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ private import codeql.swift.elements.File
|
||||
* A `Location` that is given to something that is not associated with any position in the source code.
|
||||
*/
|
||||
class UnknownLocation extends Generated::UnknownLocation {
|
||||
override File getImmediateFile() { result instanceof UnknownFile }
|
||||
override File getFile() { result instanceof UnknownFile }
|
||||
|
||||
override int getStartLine() { result = 0 }
|
||||
|
||||
|
||||
@@ -19,5 +19,5 @@ class UnspecifiedElement extends Generated::UnspecifiedElement {
|
||||
)
|
||||
}
|
||||
|
||||
override Location getImmediateLocation() { result = this.getParent().(Locatable).getLocation() }
|
||||
override Location getLocation() { result = this.getParent().(Locatable).getLocation() }
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class MethodLookupExpr extends Generated::MethodLookupExpr {
|
||||
result = Synth::convertExprFromRaw(this.getUnderlying().getBase())
|
||||
}
|
||||
|
||||
override Decl getImmediateMember() {
|
||||
override Decl getMember() {
|
||||
result = this.getMethodRef().(DeclRefExpr).getDecl()
|
||||
or
|
||||
result = this.getMethodRef().(OtherInitializerRefExpr).getInitializer()
|
||||
|
||||
@@ -32,27 +32,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th spec of this availability info (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
AvailabilitySpec getImmediateSpec(int index) {
|
||||
AvailabilitySpec getSpec(int index) {
|
||||
result =
|
||||
Synth::convertAvailabilitySpecFromRaw(Synth::convertAvailabilityInfoToRaw(this)
|
||||
.(Raw::AvailabilityInfo)
|
||||
.getSpec(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th spec of this availability info (0-based).
|
||||
*/
|
||||
final AvailabilitySpec getSpec(int index) {
|
||||
exists(AvailabilitySpec immediate |
|
||||
immediate = this.getImmediateSpec(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the specs of this availability info.
|
||||
*/
|
||||
|
||||
64
swift/ql/lib/codeql/swift/generated/Callable.qll
generated
64
swift/ql/lib/codeql/swift/generated/Callable.qll
generated
@@ -20,27 +20,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the self parameter of this callable, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateSelfParam() {
|
||||
ParamDecl getSelfParam() {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertCallableToRaw(this)
|
||||
.(Raw::Callable)
|
||||
.getSelfParam())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the self parameter of this callable, if it exists.
|
||||
*/
|
||||
final ParamDecl getSelfParam() {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateSelfParam() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getSelfParam()` exists.
|
||||
*/
|
||||
@@ -48,27 +35,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this callable (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateParam(int index) {
|
||||
ParamDecl getParam(int index) {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertCallableToRaw(this)
|
||||
.(Raw::Callable)
|
||||
.getParam(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this callable (0-based).
|
||||
*/
|
||||
final ParamDecl getParam(int index) {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateParam(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the parameters of this callable.
|
||||
*/
|
||||
@@ -79,27 +53,14 @@ module Generated {
|
||||
*/
|
||||
final int getNumberOfParams() { result = count(int i | exists(this.getParam(i))) }
|
||||
|
||||
/**
|
||||
* Gets the body of this callable, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertCallableToRaw(this).(Raw::Callable).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this callable, if it exists.
|
||||
*
|
||||
* The body is absent within protocol declarations.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertCallableToRaw(this).(Raw::Callable).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -109,27 +70,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th capture of this callable (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CapturedDecl getImmediateCapture(int index) {
|
||||
CapturedDecl getCapture(int index) {
|
||||
result =
|
||||
Synth::convertCapturedDeclFromRaw(Synth::convertCallableToRaw(this)
|
||||
.(Raw::Callable)
|
||||
.getCapture(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th capture of this callable (0-based).
|
||||
*/
|
||||
final CapturedDecl getCapture(int index) {
|
||||
exists(CapturedDecl immediate |
|
||||
immediate = this.getImmediateCapture(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the captures of this callable.
|
||||
*/
|
||||
|
||||
17
swift/ql/lib/codeql/swift/generated/Element.qll
generated
17
swift/ql/lib/codeql/swift/generated/Element.qll
generated
@@ -24,23 +24,6 @@ module Generated {
|
||||
*/
|
||||
final string getPrimaryQlClasses() { result = concat(this.getAPrimaryQlClass(), ",") }
|
||||
|
||||
/**
|
||||
* Gets the most immediate element that should substitute this element in the explicit AST, if any.
|
||||
* Classes can override this to indicate this node should be in the "hidden" AST, mostly reserved
|
||||
* for conversions and syntactic sugar nodes like parentheses.
|
||||
*/
|
||||
Element getResolveStep() { none() } // overridden by subclasses
|
||||
|
||||
/**
|
||||
* Gets the element that should substitute this element in the explicit AST, applying `getResolveStep`
|
||||
* transitively.
|
||||
*/
|
||||
final Element resolve() {
|
||||
not exists(this.getResolveStep()) and result = this
|
||||
or
|
||||
result = this.getResolveStep().resolve()
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this element is unknown.
|
||||
*/
|
||||
|
||||
25
swift/ql/lib/codeql/swift/generated/HideableElement.qll
generated
Normal file
25
swift/ql/lib/codeql/swift/generated/HideableElement.qll
generated
Normal file
@@ -0,0 +1,25 @@
|
||||
// generated by codegen/codegen.py
|
||||
private import codeql.swift.generated.Synth
|
||||
private import codeql.swift.generated.Raw
|
||||
import codeql.swift.elements.Element
|
||||
|
||||
module Generated {
|
||||
class HideableElement extends Synth::THideableElement, Element {
|
||||
/**
|
||||
* Gets the most immediate element that should substitute this element in the explicit AST, if any.
|
||||
* Classes can override this to indicate this node should be in the "hidden" AST, mostly reserved
|
||||
* for conversions and syntactic sugar nodes like parentheses.
|
||||
*/
|
||||
HideableElement getResolveStep() { none() } // overridden by subclasses
|
||||
|
||||
/**
|
||||
* Gets the element that should substitute this element in the explicit AST, applying `getResolveStep`
|
||||
* transitively.
|
||||
*/
|
||||
final HideableElement resolve() {
|
||||
not exists(this.getResolveStep()) and result = this
|
||||
or
|
||||
result = this.getResolveStep().resolve()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,27 +32,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument to an array or dictionary subscript expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Argument getImmediateSubscriptArgument(int index) {
|
||||
Argument getSubscriptArgument(int index) {
|
||||
result =
|
||||
Synth::convertArgumentFromRaw(Synth::convertKeyPathComponentToRaw(this)
|
||||
.(Raw::KeyPathComponent)
|
||||
.getSubscriptArgument(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument to an array or dictionary subscript expression (0-based).
|
||||
*/
|
||||
final Argument getSubscriptArgument(int index) {
|
||||
exists(Argument immediate |
|
||||
immediate = this.getImmediateSubscriptArgument(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the arguments to an array or dictionary subscript expression.
|
||||
*/
|
||||
@@ -79,27 +66,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the property or subscript operator, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ValueDecl getImmediateDeclRef() {
|
||||
ValueDecl getDeclRef() {
|
||||
result =
|
||||
Synth::convertValueDeclFromRaw(Synth::convertKeyPathComponentToRaw(this)
|
||||
.(Raw::KeyPathComponent)
|
||||
.getDeclRef())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property or subscript operator, if it exists.
|
||||
*/
|
||||
final ValueDecl getDeclRef() {
|
||||
exists(ValueDecl immediate |
|
||||
immediate = this.getImmediateDeclRef() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getDeclRef()` exists.
|
||||
*/
|
||||
@@ -128,7 +102,7 @@ module Generated {
|
||||
final Type getComponentType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateComponentType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
15
swift/ql/lib/codeql/swift/generated/Locatable.qll
generated
15
swift/ql/lib/codeql/swift/generated/Locatable.qll
generated
@@ -8,27 +8,14 @@ module Generated {
|
||||
class Locatable extends Synth::TLocatable, Element {
|
||||
/**
|
||||
* Gets the location associated with this element in the code, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Location getImmediateLocation() {
|
||||
Location getLocation() {
|
||||
result =
|
||||
Synth::convertLocationFromRaw(Synth::convertLocatableToRaw(this)
|
||||
.(Raw::Locatable)
|
||||
.getLocation())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the location associated with this element in the code, if it exists.
|
||||
*/
|
||||
final Location getLocation() {
|
||||
exists(Location immediate |
|
||||
immediate = this.getImmediateLocation() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getLocation()` exists.
|
||||
*/
|
||||
|
||||
15
swift/ql/lib/codeql/swift/generated/Location.qll
generated
15
swift/ql/lib/codeql/swift/generated/Location.qll
generated
@@ -8,25 +8,12 @@ module Generated {
|
||||
class Location extends Synth::TLocation, Element {
|
||||
/**
|
||||
* Gets the file of this location.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
File getImmediateFile() {
|
||||
File getFile() {
|
||||
result =
|
||||
Synth::convertFileFromRaw(Synth::convertLocationToRaw(this).(Raw::Location).getFile())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the file of this location.
|
||||
*/
|
||||
final File getFile() {
|
||||
exists(File immediate |
|
||||
immediate = this.getImmediateFile() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the start line of this location.
|
||||
*/
|
||||
|
||||
178
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
178
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
@@ -16,22 +16,22 @@ private module Impl {
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
nSelfParam = n + 1 and
|
||||
nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getImmediateParam(i)) | i) and
|
||||
nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and
|
||||
nBody = nParam + 1 and
|
||||
nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getImmediateCapture(i)) | i) and
|
||||
nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateSelfParam() and partialPredicateCall = "SelfParam()"
|
||||
index = n and result = e.getSelfParam() and partialPredicateCall = "SelfParam()"
|
||||
or
|
||||
result = e.getImmediateParam(index - nSelfParam) and
|
||||
result = e.getParam(index - nSelfParam) and
|
||||
partialPredicateCall = "Param(" + (index - nSelfParam).toString() + ")"
|
||||
or
|
||||
index = nParam and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = nParam and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
or
|
||||
result = e.getImmediateCapture(index - nBody) and
|
||||
result = e.getCapture(index - nBody) and
|
||||
partialPredicateCall = "Capture(" + (index - nBody).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -50,6 +50,21 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfHideableElement(
|
||||
HideableElement e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bElement, int n |
|
||||
b = 0 and
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfLocatable(Locatable e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bElement, int n |
|
||||
b = 0 and
|
||||
@@ -195,13 +210,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
nSpec = n + 1 + max(int i | i = -1 or exists(e.getImmediateSpec(i)) | i) and
|
||||
nSpec = n + 1 + max(int i | i = -1 or exists(e.getSpec(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateSpec(index - n) and
|
||||
result = e.getSpec(index - n) and
|
||||
partialPredicateCall = "Spec(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -229,14 +244,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
nSubscriptArgument =
|
||||
n + 1 + max(int i | i = -1 or exists(e.getImmediateSubscriptArgument(i)) | i) and
|
||||
nSubscriptArgument = n + 1 + max(int i | i = -1 or exists(e.getSubscriptArgument(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateSubscriptArgument(index - n) and
|
||||
result = e.getSubscriptArgument(index - n) and
|
||||
partialPredicateCall = "SubscriptArgument(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -295,13 +309,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
nMember = n + 1 + max(int i | i = -1 or exists(e.getImmediateMember(i)) | i) and
|
||||
nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateMember(index - n) and
|
||||
result = e.getMember(index - n) and
|
||||
partialPredicateCall = "Member(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -314,14 +328,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
nGenericTypeParam =
|
||||
n + 1 + max(int i | i = -1 or exists(e.getImmediateGenericTypeParam(i)) | i) and
|
||||
nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateGenericTypeParam(index - n) and
|
||||
result = e.getGenericTypeParam(index - n) and
|
||||
partialPredicateCall = "GenericTypeParam(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -504,7 +517,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfDecl(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -529,13 +542,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bValueDecl = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfValueDecl(e, i, _)) | i) and
|
||||
n = bValueDecl and
|
||||
nAccessor = n + 1 + max(int i | i = -1 or exists(e.getImmediateAccessor(i)) | i) and
|
||||
nAccessor = n + 1 + max(int i | i = -1 or exists(e.getAccessor(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfValueDecl(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateAccessor(index - n) and
|
||||
result = e.getAccessor(index - n) and
|
||||
partialPredicateCall = "Accessor(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -548,13 +561,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bValueDecl = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfValueDecl(e, i, _)) | i) and
|
||||
n = bValueDecl and
|
||||
nParam = n + 1 + max(int i | i = -1 or exists(e.getImmediateParam(i)) | i) and
|
||||
nParam = n + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfValueDecl(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateParam(index - n) and
|
||||
result = e.getParam(index - n) and
|
||||
partialPredicateCall = "Param(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -749,7 +762,7 @@ private module Impl {
|
||||
bAbstractStorageDecl + 1 +
|
||||
max(int i | i = -1 or exists(getImmediateChildOfGenericContext(e, i, _)) | i) and
|
||||
n = bGenericContext and
|
||||
nParam = n + 1 + max(int i | i = -1 or exists(e.getImmediateParam(i)) | i) and
|
||||
nParam = n + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
@@ -758,7 +771,7 @@ private module Impl {
|
||||
result =
|
||||
getImmediateChildOfGenericContext(e, index - bAbstractStorageDecl, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateParam(index - n) and
|
||||
result = e.getParam(index - n) and
|
||||
partialPredicateCall = "Param(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -784,19 +797,19 @@ private module Impl {
|
||||
result = getImmediateChildOfAbstractStorageDecl(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and
|
||||
result = e.getImmediatePropertyWrapperBackingVarBinding() and
|
||||
result = e.getPropertyWrapperBackingVarBinding() and
|
||||
partialPredicateCall = "PropertyWrapperBackingVarBinding()"
|
||||
or
|
||||
index = nPropertyWrapperBackingVarBinding and
|
||||
result = e.getImmediatePropertyWrapperBackingVar() and
|
||||
result = e.getPropertyWrapperBackingVar() and
|
||||
partialPredicateCall = "PropertyWrapperBackingVar()"
|
||||
or
|
||||
index = nPropertyWrapperBackingVar and
|
||||
result = e.getImmediatePropertyWrapperProjectionVarBinding() and
|
||||
result = e.getPropertyWrapperProjectionVarBinding() and
|
||||
partialPredicateCall = "PropertyWrapperProjectionVarBinding()"
|
||||
or
|
||||
index = nPropertyWrapperProjectionVarBinding and
|
||||
result = e.getImmediatePropertyWrapperProjectionVar() and
|
||||
result = e.getPropertyWrapperProjectionVar() and
|
||||
partialPredicateCall = "PropertyWrapperProjectionVar()"
|
||||
)
|
||||
)
|
||||
@@ -929,11 +942,11 @@ private module Impl {
|
||||
result = getImmediateChildOfVarDecl(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and
|
||||
result = e.getImmediatePropertyWrapperLocalWrappedVarBinding() and
|
||||
result = e.getPropertyWrapperLocalWrappedVarBinding() and
|
||||
partialPredicateCall = "PropertyWrapperLocalWrappedVarBinding()"
|
||||
or
|
||||
index = nPropertyWrapperLocalWrappedVarBinding and
|
||||
result = e.getImmediatePropertyWrapperLocalWrappedVar() and
|
||||
result = e.getPropertyWrapperLocalWrappedVar() and
|
||||
partialPredicateCall = "PropertyWrapperLocalWrappedVar()"
|
||||
)
|
||||
)
|
||||
@@ -1030,14 +1043,19 @@ private module Impl {
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfExpr(Expr e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
exists(int b, int bAstNode, int bHideableElement, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
bHideableElement =
|
||||
bAstNode + 1 +
|
||||
max(int i | i = -1 or exists(getImmediateChildOfHideableElement(e, i, _)) | i) and
|
||||
n = bHideableElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = getImmediateChildOfHideableElement(e, index - bAstNode, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -1082,7 +1100,7 @@ private module Impl {
|
||||
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
|
||||
n = bExpr and
|
||||
nFunction = n + 1 and
|
||||
nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getImmediateArgument(i)) | i) and
|
||||
nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
@@ -1090,7 +1108,7 @@ private module Impl {
|
||||
or
|
||||
index = n and result = e.getImmediateFunction() and partialPredicateCall = "Function()"
|
||||
or
|
||||
result = e.getImmediateArgument(index - nFunction) and
|
||||
result = e.getArgument(index - nFunction) and
|
||||
partialPredicateCall = "Argument(" + (index - nFunction).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -1140,14 +1158,14 @@ private module Impl {
|
||||
b = 0 and
|
||||
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
|
||||
n = bExpr and
|
||||
nBindingDecl = n + 1 + max(int i | i = -1 or exists(e.getImmediateBindingDecl(i)) | i) and
|
||||
nBindingDecl = n + 1 + max(int i | i = -1 or exists(e.getBindingDecl(i)) | i) and
|
||||
nClosureBody = nBindingDecl + 1 and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfExpr(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateBindingDecl(index - n) and
|
||||
result = e.getBindingDecl(index - n) and
|
||||
partialPredicateCall = "BindingDecl(" + (index - n).toString() + ")"
|
||||
or
|
||||
index = nBindingDecl and
|
||||
@@ -1470,15 +1488,15 @@ private module Impl {
|
||||
bExpr = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfExpr(e, i, _)) | i) and
|
||||
n = bExpr and
|
||||
nRoot = n + 1 and
|
||||
nComponent = nRoot + 1 + max(int i | i = -1 or exists(e.getImmediateComponent(i)) | i) and
|
||||
nComponent = nRoot + 1 + max(int i | i = -1 or exists(e.getComponent(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfExpr(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateRoot() and partialPredicateCall = "Root()"
|
||||
index = n and result = e.getRoot() and partialPredicateCall = "Root()"
|
||||
or
|
||||
result = e.getImmediateComponent(index - nRoot) and
|
||||
result = e.getComponent(index - nRoot) and
|
||||
partialPredicateCall = "Component(" + (index - nRoot).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -1773,7 +1791,7 @@ private module Impl {
|
||||
or
|
||||
index = n and result = e.getImmediateSubExpr() and partialPredicateCall = "SubExpr()"
|
||||
or
|
||||
index = nSubExpr and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = nSubExpr and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -1824,7 +1842,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfExpr(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateTypeRepr() and partialPredicateCall = "TypeRepr()"
|
||||
index = n and result = e.getTypeRepr() and partialPredicateCall = "TypeRepr()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -2688,13 +2706,13 @@ private module Impl {
|
||||
bLiteralExpr =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfLiteralExpr(e, i, _)) | i) and
|
||||
n = bLiteralExpr and
|
||||
nArgument = n + 1 + max(int i | i = -1 or exists(e.getImmediateArgument(i)) | i) and
|
||||
nArgument = n + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfLiteralExpr(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateArgument(index - n) and
|
||||
result = e.getArgument(index - n) and
|
||||
partialPredicateCall = "Argument(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -2850,13 +2868,13 @@ private module Impl {
|
||||
bLookupExpr =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfLookupExpr(e, i, _)) | i) and
|
||||
n = bLookupExpr and
|
||||
nArgument = n + 1 + max(int i | i = -1 or exists(e.getImmediateArgument(i)) | i) and
|
||||
nArgument = n + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfLookupExpr(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateArgument(index - n) and
|
||||
result = e.getArgument(index - n) and
|
||||
partialPredicateCall = "Argument(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3161,14 +3179,19 @@ private module Impl {
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfPattern(Pattern e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bAstNode, int n |
|
||||
exists(int b, int bAstNode, int bHideableElement, int n |
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
bHideableElement =
|
||||
bAstNode + 1 +
|
||||
max(int i | i = -1 or exists(getImmediateChildOfHideableElement(e, i, _)) | i) and
|
||||
n = bHideableElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = getImmediateChildOfHideableElement(e, index - bAstNode, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3267,9 +3290,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfPattern(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and
|
||||
result = e.getImmediateCastTypeRepr() and
|
||||
partialPredicateCall = "CastTypeRepr()"
|
||||
index = n and result = e.getCastTypeRepr() and partialPredicateCall = "CastTypeRepr()"
|
||||
or
|
||||
index = nCastTypeRepr and
|
||||
result = e.getImmediateSubPattern() and
|
||||
@@ -3364,9 +3385,7 @@ private module Impl {
|
||||
or
|
||||
index = n and result = e.getImmediateSubPattern() and partialPredicateCall = "SubPattern()"
|
||||
or
|
||||
index = nSubPattern and
|
||||
result = e.getImmediateTypeRepr() and
|
||||
partialPredicateCall = "TypeRepr()"
|
||||
index = nSubPattern and result = e.getTypeRepr() and partialPredicateCall = "TypeRepr()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3419,7 +3438,7 @@ private module Impl {
|
||||
partialPredicateCall = "Initializer()"
|
||||
or
|
||||
index = nInitializer and
|
||||
result = e.getImmediateAvailability() and
|
||||
result = e.getAvailability() and
|
||||
partialPredicateCall = "Availability()"
|
||||
)
|
||||
)
|
||||
@@ -3445,13 +3464,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bAstNode = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfAstNode(e, i, _)) | i) and
|
||||
n = bAstNode and
|
||||
nElement = n + 1 + max(int i | i = -1 or exists(e.getImmediateElement(i)) | i) and
|
||||
nElement = n + 1 + max(int i | i = -1 or exists(e.getElement(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfAstNode(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateElement(index - n) and
|
||||
result = e.getElement(index - n) and
|
||||
partialPredicateCall = "Element(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3462,13 +3481,13 @@ private module Impl {
|
||||
b = 0 and
|
||||
bStmt = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfStmt(e, i, _)) | i) and
|
||||
n = bStmt and
|
||||
nElement = n + 1 + max(int i | i = -1 or exists(e.getImmediateElement(i)) | i) and
|
||||
nElement = n + 1 + max(int i | i = -1 or exists(e.getElement(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
result = e.getImmediateElement(index - n) and
|
||||
result = e.getElement(index - n) and
|
||||
partialPredicateCall = "Element(" + (index - n).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3493,15 +3512,15 @@ private module Impl {
|
||||
bStmt = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfStmt(e, i, _)) | i) and
|
||||
n = bStmt and
|
||||
nBody = n + 1 and
|
||||
nLabel = nBody + 1 + max(int i | i = -1 or exists(e.getImmediateLabel(i)) | i) and
|
||||
nLabel = nBody + 1 + max(int i | i = -1 or exists(e.getLabel(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
or
|
||||
result = e.getImmediateLabel(index - nBody) and
|
||||
result = e.getLabel(index - nBody) and
|
||||
partialPredicateCall = "Label(" + (index - nBody).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3533,7 +3552,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3654,15 +3673,15 @@ private module Impl {
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfLabeledStmt(e, i, _)) | i) and
|
||||
n = bLabeledStmt and
|
||||
nBody = n + 1 and
|
||||
nCatch = nBody + 1 + max(int i | i = -1 or exists(e.getImmediateCatch(i)) | i) and
|
||||
nCatch = nBody + 1 + max(int i | i = -1 or exists(e.getCatch(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfLabeledStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
or
|
||||
result = e.getImmediateCatch(index - nBody) and
|
||||
result = e.getCatch(index - nBody) and
|
||||
partialPredicateCall = "Catch(" + (index - nBody).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3680,7 +3699,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLabeledStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3710,7 +3729,7 @@ private module Impl {
|
||||
or
|
||||
index = nSequence and result = e.getImmediateWhere() and partialPredicateCall = "Where()"
|
||||
or
|
||||
index = nWhere and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = nWhere and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3729,7 +3748,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLabeledStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateCondition() and partialPredicateCall = "Condition()"
|
||||
index = n and result = e.getCondition() and partialPredicateCall = "Condition()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3751,7 +3770,7 @@ private module Impl {
|
||||
or
|
||||
index = n and result = e.getImmediateCondition() and partialPredicateCall = "Condition()"
|
||||
or
|
||||
index = nCondition and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = nCondition and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3763,7 +3782,7 @@ private module Impl {
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfLabeledStmt(e, i, _)) | i) and
|
||||
n = bLabeledStmt and
|
||||
nExpr = n + 1 and
|
||||
nCase = nExpr + 1 + max(int i | i = -1 or exists(e.getImmediateCase(i)) | i) and
|
||||
nCase = nExpr + 1 + max(int i | i = -1 or exists(e.getCase(i)) | i) and
|
||||
(
|
||||
none()
|
||||
or
|
||||
@@ -3771,7 +3790,7 @@ private module Impl {
|
||||
or
|
||||
index = n and result = e.getImmediateExpr() and partialPredicateCall = "Expr()"
|
||||
or
|
||||
result = e.getImmediateCase(index - nExpr) and
|
||||
result = e.getCase(index - nExpr) and
|
||||
partialPredicateCall = "Case(" + (index - nExpr).toString() + ")"
|
||||
)
|
||||
)
|
||||
@@ -3790,7 +3809,7 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLabeledConditionalStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3809,9 +3828,9 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLabeledConditionalStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateThen() and partialPredicateCall = "Then()"
|
||||
index = n and result = e.getThen() and partialPredicateCall = "Then()"
|
||||
or
|
||||
index = nThen and result = e.getImmediateElse() and partialPredicateCall = "Else()"
|
||||
index = nThen and result = e.getElse() and partialPredicateCall = "Else()"
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -3829,20 +3848,21 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfLabeledConditionalStmt(e, index - b, partialPredicateCall)
|
||||
or
|
||||
index = n and result = e.getImmediateBody() and partialPredicateCall = "Body()"
|
||||
index = n and result = e.getBody() and partialPredicateCall = "Body()"
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfType(Type e, int index, string partialPredicateCall) {
|
||||
exists(int b, int bElement, int n |
|
||||
exists(int b, int bHideableElement, int n |
|
||||
b = 0 and
|
||||
bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and
|
||||
n = bElement and
|
||||
bHideableElement =
|
||||
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfHideableElement(e, i, _)) | i) and
|
||||
n = bHideableElement and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfElement(e, index - b, partialPredicateCall)
|
||||
result = getImmediateChildOfHideableElement(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -5301,7 +5321,7 @@ private module Impl {
|
||||
}
|
||||
|
||||
Element resolve(Element e) {
|
||||
if e instanceof Element then result = e.(Element).resolve() else result = e
|
||||
if e instanceof HideableElement then result = e.(HideableElement).resolve() else result = e
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
11
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
11
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
@@ -62,6 +62,11 @@ module Raw {
|
||||
predicate isSuccessfullyExtracted() { file_is_successfully_extracted(this) }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class HideableElement extends @hideable_element, Element { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -986,7 +991,7 @@ module Raw {
|
||||
* INTERNAL: Do not use.
|
||||
* The base class for all expressions in Swift.
|
||||
*/
|
||||
class Expr extends @expr, AstNode {
|
||||
class Expr extends @expr, AstNode, HideableElement {
|
||||
/**
|
||||
* Gets the type of this expression, if it exists.
|
||||
*/
|
||||
@@ -2353,7 +2358,7 @@ module Raw {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class Pattern extends @pattern, AstNode { }
|
||||
class Pattern extends @pattern, AstNode, HideableElement { }
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
@@ -2869,7 +2874,7 @@ module Raw {
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class Type extends @type, Element {
|
||||
class Type extends @type, HideableElement {
|
||||
/**
|
||||
* Gets the name of this type.
|
||||
*/
|
||||
|
||||
39
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
39
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
@@ -1043,6 +1043,11 @@ module Synth {
|
||||
*/
|
||||
class TFile = TDbFile or TUnknownFile;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class THideableElement = TExpr or TPattern or TType;
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -3223,11 +3228,11 @@ module Synth {
|
||||
or
|
||||
result = convertGenericContextFromRaw(e)
|
||||
or
|
||||
result = convertHideableElementFromRaw(e)
|
||||
or
|
||||
result = convertLocatableFromRaw(e)
|
||||
or
|
||||
result = convertLocationFromRaw(e)
|
||||
or
|
||||
result = convertTypeFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3272,6 +3277,19 @@ module Synth {
|
||||
result = convertUnknownFileFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `THideableElement`, if possible.
|
||||
*/
|
||||
cached
|
||||
THideableElement convertHideableElementFromRaw(Raw::Element e) {
|
||||
result = convertExprFromRaw(e)
|
||||
or
|
||||
result = convertPatternFromRaw(e)
|
||||
or
|
||||
result = convertTypeFromRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw DB element to a synthesized `TLocatable`, if possible.
|
||||
@@ -6028,11 +6046,11 @@ module Synth {
|
||||
or
|
||||
result = convertGenericContextToRaw(e)
|
||||
or
|
||||
result = convertHideableElementToRaw(e)
|
||||
or
|
||||
result = convertLocatableToRaw(e)
|
||||
or
|
||||
result = convertLocationToRaw(e)
|
||||
or
|
||||
result = convertTypeToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6077,6 +6095,19 @@ module Synth {
|
||||
result = convertUnknownFileToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `THideableElement` to a raw DB element, if possible.
|
||||
*/
|
||||
cached
|
||||
Raw::Element convertHideableElementToRaw(THideableElement e) {
|
||||
result = convertExprToRaw(e)
|
||||
or
|
||||
result = convertPatternToRaw(e)
|
||||
or
|
||||
result = convertTypeToRaw(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TLocatable` to a raw DB element, if possible.
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the parent of this unspecified element, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Element getImmediateParent() {
|
||||
Element getParent() {
|
||||
result =
|
||||
Synth::convertElementFromRaw(Synth::convertUnspecifiedElementToRaw(this)
|
||||
.(Raw::UnspecifiedElement)
|
||||
.getParent())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the parent of this unspecified element, if it exists.
|
||||
*/
|
||||
final Element getParent() {
|
||||
exists(Element immediate |
|
||||
immediate = this.getImmediateParent() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getParent()` exists.
|
||||
*/
|
||||
|
||||
@@ -8,27 +8,14 @@ module Generated {
|
||||
class AbstractStorageDecl extends Synth::TAbstractStorageDecl, ValueDecl {
|
||||
/**
|
||||
* Gets the `index`th accessor of this abstract storage declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Accessor getImmediateAccessor(int index) {
|
||||
Accessor getAccessor(int index) {
|
||||
result =
|
||||
Synth::convertAccessorFromRaw(Synth::convertAbstractStorageDeclToRaw(this)
|
||||
.(Raw::AbstractStorageDecl)
|
||||
.getAccessor(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th accessor of this abstract storage declaration (0-based).
|
||||
*/
|
||||
final Accessor getAccessor(int index) {
|
||||
exists(Accessor immediate |
|
||||
immediate = this.getImmediateAccessor(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the accessors of this abstract storage declaration.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the the declaration captured by the parent closure.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ValueDecl getImmediateDecl() {
|
||||
ValueDecl getDecl() {
|
||||
result =
|
||||
Synth::convertValueDeclFromRaw(Synth::convertCapturedDeclToRaw(this)
|
||||
.(Raw::CapturedDecl)
|
||||
.getDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the the declaration captured by the parent closure.
|
||||
*/
|
||||
final ValueDecl getDecl() {
|
||||
exists(ValueDecl immediate |
|
||||
immediate = this.getImmediateDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if this captured declaration is direct.
|
||||
*/
|
||||
|
||||
30
swift/ql/lib/codeql/swift/generated/decl/Decl.qll
generated
30
swift/ql/lib/codeql/swift/generated/decl/Decl.qll
generated
@@ -8,45 +8,19 @@ module Generated {
|
||||
class Decl extends Synth::TDecl, AstNode {
|
||||
/**
|
||||
* Gets the module of this declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ModuleDecl getImmediateModule() {
|
||||
ModuleDecl getModule() {
|
||||
result =
|
||||
Synth::convertModuleDeclFromRaw(Synth::convertDeclToRaw(this).(Raw::Decl).getModule())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the module of this declaration.
|
||||
*/
|
||||
final ModuleDecl getModule() {
|
||||
exists(ModuleDecl immediate |
|
||||
immediate = this.getImmediateModule() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th member of this declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Decl getImmediateMember(int index) {
|
||||
Decl getMember(int index) {
|
||||
result = Synth::convertDeclFromRaw(Synth::convertDeclToRaw(this).(Raw::Decl).getMember(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th member of this declaration (0-based).
|
||||
*/
|
||||
final Decl getMember(int index) {
|
||||
exists(Decl immediate |
|
||||
immediate = this.getImmediateMember(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the members of this declaration.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this enum case declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
EnumElementDecl getImmediateElement(int index) {
|
||||
EnumElementDecl getElement(int index) {
|
||||
result =
|
||||
Synth::convertEnumElementDeclFromRaw(Synth::convertEnumCaseDeclToRaw(this)
|
||||
.(Raw::EnumCaseDecl)
|
||||
.getElement(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this enum case declaration (0-based).
|
||||
*/
|
||||
final EnumElementDecl getElement(int index) {
|
||||
exists(EnumElementDecl immediate |
|
||||
immediate = this.getImmediateElement(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the elements of this enum case declaration.
|
||||
*/
|
||||
|
||||
@@ -17,27 +17,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this enum element declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateParam(int index) {
|
||||
ParamDecl getParam(int index) {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertEnumElementDeclToRaw(this)
|
||||
.(Raw::EnumElementDecl)
|
||||
.getParam(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this enum element declaration (0-based).
|
||||
*/
|
||||
final ParamDecl getParam(int index) {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateParam(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the parameters of this enum element declaration.
|
||||
*/
|
||||
|
||||
@@ -12,50 +12,24 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the extended type declaration of this extension declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
NominalTypeDecl getImmediateExtendedTypeDecl() {
|
||||
NominalTypeDecl getExtendedTypeDecl() {
|
||||
result =
|
||||
Synth::convertNominalTypeDeclFromRaw(Synth::convertExtensionDeclToRaw(this)
|
||||
.(Raw::ExtensionDecl)
|
||||
.getExtendedTypeDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the extended type declaration of this extension declaration.
|
||||
*/
|
||||
final NominalTypeDecl getExtendedTypeDecl() {
|
||||
exists(NominalTypeDecl immediate |
|
||||
immediate = this.getImmediateExtendedTypeDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th protocol of this extension declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ProtocolDecl getImmediateProtocol(int index) {
|
||||
ProtocolDecl getProtocol(int index) {
|
||||
result =
|
||||
Synth::convertProtocolDeclFromRaw(Synth::convertExtensionDeclToRaw(this)
|
||||
.(Raw::ExtensionDecl)
|
||||
.getProtocol(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th protocol of this extension declaration (0-based).
|
||||
*/
|
||||
final ProtocolDecl getProtocol(int index) {
|
||||
exists(ProtocolDecl immediate |
|
||||
immediate = this.getImmediateProtocol(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the protocols of this extension declaration.
|
||||
*/
|
||||
|
||||
@@ -8,27 +8,14 @@ module Generated {
|
||||
class GenericContext extends Synth::TGenericContext, Element {
|
||||
/**
|
||||
* Gets the `index`th generic type parameter of this generic context (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
GenericTypeParamDecl getImmediateGenericTypeParam(int index) {
|
||||
GenericTypeParamDecl getGenericTypeParam(int index) {
|
||||
result =
|
||||
Synth::convertGenericTypeParamDeclFromRaw(Synth::convertGenericContextToRaw(this)
|
||||
.(Raw::GenericContext)
|
||||
.getGenericTypeParam(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th generic type parameter of this generic context (0-based).
|
||||
*/
|
||||
final GenericTypeParamDecl getGenericTypeParam(int index) {
|
||||
exists(GenericTypeParamDecl immediate |
|
||||
immediate = this.getImmediateGenericTypeParam(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the generic type parameters of this generic context.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th active element of this if config declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
AstNode getImmediateActiveElement(int index) {
|
||||
AstNode getActiveElement(int index) {
|
||||
result =
|
||||
Synth::convertAstNodeFromRaw(Synth::convertIfConfigDeclToRaw(this)
|
||||
.(Raw::IfConfigDecl)
|
||||
.getActiveElement(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th active element of this if config declaration (0-based).
|
||||
*/
|
||||
final AstNode getActiveElement(int index) {
|
||||
exists(AstNode immediate |
|
||||
immediate = this.getImmediateActiveElement(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the active elements of this if config declaration.
|
||||
*/
|
||||
|
||||
@@ -16,27 +16,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the imported module of this import declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ModuleDecl getImmediateImportedModule() {
|
||||
ModuleDecl getImportedModule() {
|
||||
result =
|
||||
Synth::convertModuleDeclFromRaw(Synth::convertImportDeclToRaw(this)
|
||||
.(Raw::ImportDecl)
|
||||
.getImportedModule())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the imported module of this import declaration, if it exists.
|
||||
*/
|
||||
final ModuleDecl getImportedModule() {
|
||||
exists(ModuleDecl immediate |
|
||||
immediate = this.getImmediateImportedModule() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getImportedModule()` exists.
|
||||
*/
|
||||
@@ -44,27 +31,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th declaration of this import declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ValueDecl getImmediateDeclaration(int index) {
|
||||
ValueDecl getDeclaration(int index) {
|
||||
result =
|
||||
Synth::convertValueDeclFromRaw(Synth::convertImportDeclToRaw(this)
|
||||
.(Raw::ImportDecl)
|
||||
.getDeclaration(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th declaration of this import declaration (0-based).
|
||||
*/
|
||||
final ValueDecl getDeclaration(int index) {
|
||||
exists(ValueDecl immediate |
|
||||
immediate = this.getImmediateDeclaration(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the declarations of this import declaration.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the precedence group of this infix operator declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
PrecedenceGroupDecl getImmediatePrecedenceGroup() {
|
||||
PrecedenceGroupDecl getPrecedenceGroup() {
|
||||
result =
|
||||
Synth::convertPrecedenceGroupDeclFromRaw(Synth::convertInfixOperatorDeclToRaw(this)
|
||||
.(Raw::InfixOperatorDecl)
|
||||
.getPrecedenceGroup())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the precedence group of this infix operator declaration, if it exists.
|
||||
*/
|
||||
final PrecedenceGroupDecl getPrecedenceGroup() {
|
||||
exists(PrecedenceGroupDecl immediate |
|
||||
immediate = this.getImmediatePrecedenceGroup() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getPrecedenceGroup()` exists.
|
||||
*/
|
||||
|
||||
@@ -24,28 +24,14 @@ module Generated {
|
||||
/**
|
||||
* Gets the `index`th imported module of this module declaration (0-based).
|
||||
*Gets any of the imported modules of this module declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ModuleDecl getAnImmediateImportedModule() {
|
||||
ModuleDecl getAnImportedModule() {
|
||||
result =
|
||||
Synth::convertModuleDeclFromRaw(Synth::convertModuleDeclToRaw(this)
|
||||
.(Raw::ModuleDecl)
|
||||
.getAnImportedModule())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th imported module of this module declaration (0-based).
|
||||
*Gets any of the imported modules of this module declaration.
|
||||
*/
|
||||
final ModuleDecl getAnImportedModule() {
|
||||
exists(ModuleDecl immediate |
|
||||
immediate = this.getAnImmediateImportedModule() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of imported modules of this module declaration.
|
||||
*/
|
||||
@@ -54,28 +40,14 @@ module Generated {
|
||||
/**
|
||||
* Gets the `index`th exported module of this module declaration (0-based).
|
||||
*Gets any of the exported modules of this module declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ModuleDecl getAnImmediateExportedModule() {
|
||||
ModuleDecl getAnExportedModule() {
|
||||
result =
|
||||
Synth::convertModuleDeclFromRaw(Synth::convertModuleDeclToRaw(this)
|
||||
.(Raw::ModuleDecl)
|
||||
.getAnExportedModule())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th exported module of this module declaration (0-based).
|
||||
*Gets any of the exported modules of this module declaration.
|
||||
*/
|
||||
final ModuleDecl getAnExportedModule() {
|
||||
exists(ModuleDecl immediate |
|
||||
immediate = this.getAnImmediateExportedModule() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of exported modules of this module declaration.
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,7 @@ module Generated {
|
||||
final Type getType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,27 +22,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the naming declaration of this opaque type declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ValueDecl getImmediateNamingDeclaration() {
|
||||
ValueDecl getNamingDeclaration() {
|
||||
result =
|
||||
Synth::convertValueDeclFromRaw(Synth::convertOpaqueTypeDeclToRaw(this)
|
||||
.(Raw::OpaqueTypeDecl)
|
||||
.getNamingDeclaration())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the naming declaration of this opaque type declaration.
|
||||
*/
|
||||
final ValueDecl getNamingDeclaration() {
|
||||
exists(ValueDecl immediate |
|
||||
immediate = this.getImmediateNamingDeclaration() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th opaque generic parameter of this opaque type declaration (0-based).
|
||||
*
|
||||
@@ -62,7 +49,7 @@ module Generated {
|
||||
final GenericTypeParamType getOpaqueGenericParam(int index) {
|
||||
exists(GenericTypeParamType immediate |
|
||||
immediate = this.getImmediateOpaqueGenericParam(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -16,29 +16,16 @@ module Generated {
|
||||
/**
|
||||
* Gets the property wrapper local wrapped variable binding of this parameter declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
* This is the synthesized binding introducing the property wrapper local wrapped projection
|
||||
* variable for this variable, if any.
|
||||
*/
|
||||
PatternBindingDecl getImmediatePropertyWrapperLocalWrappedVarBinding() {
|
||||
PatternBindingDecl getPropertyWrapperLocalWrappedVarBinding() {
|
||||
result =
|
||||
Synth::convertPatternBindingDeclFromRaw(Synth::convertParamDeclToRaw(this)
|
||||
.(Raw::ParamDecl)
|
||||
.getPropertyWrapperLocalWrappedVarBinding())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper local wrapped variable binding of this parameter declaration, if it exists.
|
||||
*
|
||||
* This is the synthesized binding introducing the property wrapper local wrapped projection
|
||||
* variable for this variable, if any.
|
||||
*/
|
||||
final PatternBindingDecl getPropertyWrapperLocalWrappedVarBinding() {
|
||||
exists(PatternBindingDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperLocalWrappedVarBinding() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getPropertyWrapperLocalWrappedVarBinding()` exists.
|
||||
*/
|
||||
@@ -49,29 +36,16 @@ module Generated {
|
||||
/**
|
||||
* Gets the property wrapper local wrapped variable of this parameter declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
* This is the synthesized local wrapped value, shadowing this parameter declaration in case it
|
||||
* has a property wrapper.
|
||||
*/
|
||||
VarDecl getImmediatePropertyWrapperLocalWrappedVar() {
|
||||
VarDecl getPropertyWrapperLocalWrappedVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertParamDeclToRaw(this)
|
||||
.(Raw::ParamDecl)
|
||||
.getPropertyWrapperLocalWrappedVar())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper local wrapped variable of this parameter declaration, if it exists.
|
||||
*
|
||||
* This is the synthesized local wrapped value, shadowing this parameter declaration in case it
|
||||
* has a property wrapper.
|
||||
*/
|
||||
final VarDecl getPropertyWrapperLocalWrappedVar() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperLocalWrappedVar() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getPropertyWrapperLocalWrappedVar()` exists.
|
||||
*/
|
||||
|
||||
@@ -28,7 +28,7 @@ module Generated {
|
||||
final Expr getInit(int index) {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateInit(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ module Generated {
|
||||
final Pattern getPattern(int index) {
|
||||
exists(Pattern immediate |
|
||||
immediate = this.getImmediatePattern(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ module Generated {
|
||||
final StringLiteralExpr getMessage() {
|
||||
exists(StringLiteralExpr immediate |
|
||||
immediate = this.getImmediateMessage() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,27 +12,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this subscript declaration (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateParam(int index) {
|
||||
ParamDecl getParam(int index) {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertSubscriptDeclToRaw(this)
|
||||
.(Raw::SubscriptDecl)
|
||||
.getParam(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th parameter of this subscript declaration (0-based).
|
||||
*/
|
||||
final ParamDecl getParam(int index) {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateParam(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the parameters of this subscript declaration.
|
||||
*/
|
||||
@@ -62,7 +49,7 @@ module Generated {
|
||||
final Type getElementType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateElementType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,25 +10,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this top level code declaration.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertTopLevelCodeDeclToRaw(this)
|
||||
.(Raw::TopLevelCodeDecl)
|
||||
.getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this top level code declaration.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ module Generated {
|
||||
final Type getAliasedType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateAliasedType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ module Generated {
|
||||
final Type getBaseType(int index) {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateBaseType(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ module Generated {
|
||||
final Type getInterfaceType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateInterfaceType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
92
swift/ql/lib/codeql/swift/generated/decl/VarDecl.qll
generated
92
swift/ql/lib/codeql/swift/generated/decl/VarDecl.qll
generated
@@ -48,7 +48,7 @@ module Generated {
|
||||
final Type getType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ module Generated {
|
||||
final Type getAttachedPropertyWrapperType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateAttachedPropertyWrapperType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ module Generated {
|
||||
final Pattern getParentPattern() {
|
||||
exists(Pattern immediate |
|
||||
immediate = this.getImmediateParentPattern() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ module Generated {
|
||||
final Expr getParentInitializer() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateParentInitializer() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -141,29 +141,16 @@ module Generated {
|
||||
/**
|
||||
* Gets the property wrapper backing variable binding of this variable declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
* This is the synthesized binding introducing the property wrapper backing variable for this
|
||||
* variable, if any. See `getPropertyWrapperBackingVar`.
|
||||
*/
|
||||
PatternBindingDecl getImmediatePropertyWrapperBackingVarBinding() {
|
||||
PatternBindingDecl getPropertyWrapperBackingVarBinding() {
|
||||
result =
|
||||
Synth::convertPatternBindingDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperBackingVarBinding())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper backing variable binding of this variable declaration, if it exists.
|
||||
*
|
||||
* This is the synthesized binding introducing the property wrapper backing variable for this
|
||||
* variable, if any. See `getPropertyWrapperBackingVar`.
|
||||
*/
|
||||
final PatternBindingDecl getPropertyWrapperBackingVarBinding() {
|
||||
exists(PatternBindingDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperBackingVarBinding() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getPropertyWrapperBackingVarBinding()` exists.
|
||||
*/
|
||||
@@ -171,19 +158,6 @@ module Generated {
|
||||
exists(this.getPropertyWrapperBackingVarBinding())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper backing variable of this variable declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediatePropertyWrapperBackingVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperBackingVar())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper backing variable of this variable declaration, if it exists.
|
||||
*
|
||||
@@ -203,11 +177,11 @@ module Generated {
|
||||
* ```
|
||||
* This predicate returns such variable declaration.
|
||||
*/
|
||||
final VarDecl getPropertyWrapperBackingVar() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperBackingVar() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
VarDecl getPropertyWrapperBackingVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperBackingVar())
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -218,29 +192,16 @@ module Generated {
|
||||
/**
|
||||
* Gets the property wrapper projection variable binding of this variable declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
* This is the synthesized binding introducing the property wrapper projection variable for this
|
||||
* variable, if any. See `getPropertyWrapperProjectionVar`.
|
||||
*/
|
||||
PatternBindingDecl getImmediatePropertyWrapperProjectionVarBinding() {
|
||||
PatternBindingDecl getPropertyWrapperProjectionVarBinding() {
|
||||
result =
|
||||
Synth::convertPatternBindingDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperProjectionVarBinding())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper projection variable binding of this variable declaration, if it exists.
|
||||
*
|
||||
* This is the synthesized binding introducing the property wrapper projection variable for this
|
||||
* variable, if any. See `getPropertyWrapperProjectionVar`.
|
||||
*/
|
||||
final PatternBindingDecl getPropertyWrapperProjectionVarBinding() {
|
||||
exists(PatternBindingDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperProjectionVarBinding() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getPropertyWrapperProjectionVarBinding()` exists.
|
||||
*/
|
||||
@@ -248,19 +209,6 @@ module Generated {
|
||||
exists(this.getPropertyWrapperProjectionVarBinding())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper projection variable of this variable declaration, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediatePropertyWrapperProjectionVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperProjectionVar())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the property wrapper projection variable of this variable declaration, if it exists.
|
||||
*
|
||||
@@ -286,11 +234,11 @@ module Generated {
|
||||
* ```
|
||||
* This predicate returns such variable declaration.
|
||||
*/
|
||||
final VarDecl getPropertyWrapperProjectionVar() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediatePropertyWrapperProjectionVar() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
VarDecl getPropertyWrapperProjectionVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertVarDeclToRaw(this)
|
||||
.(Raw::VarDecl)
|
||||
.getPropertyWrapperProjectionVar())
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -50,25 +50,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the parameter declaration owning this wrapper application.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateParam() {
|
||||
ParamDecl getParam() {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertAppliedPropertyWrapperExprToRaw(this)
|
||||
.(Raw::AppliedPropertyWrapperExpr)
|
||||
.getParam())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the parameter declaration owning this wrapper application.
|
||||
*/
|
||||
final ParamDecl getParam() {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateParam() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,27 +29,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument passed to the applied function (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Argument getImmediateArgument(int index) {
|
||||
Argument getArgument(int index) {
|
||||
result =
|
||||
Synth::convertArgumentFromRaw(Synth::convertApplyExprToRaw(this)
|
||||
.(Raw::ApplyExpr)
|
||||
.getArgument(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument passed to the applied function (0-based).
|
||||
*/
|
||||
final Argument getArgument(int index) {
|
||||
exists(Argument immediate |
|
||||
immediate = this.getImmediateArgument(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the arguments passed to the applied function.
|
||||
*/
|
||||
|
||||
@@ -30,7 +30,7 @@ module Generated {
|
||||
final Expr getExpr() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateExpr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,27 +11,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th binding declaration of this capture list expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
PatternBindingDecl getImmediateBindingDecl(int index) {
|
||||
PatternBindingDecl getBindingDecl(int index) {
|
||||
result =
|
||||
Synth::convertPatternBindingDeclFromRaw(Synth::convertCaptureListExprToRaw(this)
|
||||
.(Raw::CaptureListExpr)
|
||||
.getBindingDecl(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th binding declaration of this capture list expression (0-based).
|
||||
*/
|
||||
final PatternBindingDecl getBindingDecl(int index) {
|
||||
exists(PatternBindingDecl immediate |
|
||||
immediate = this.getImmediateBindingDecl(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the binding declarations of this capture list expression.
|
||||
*/
|
||||
|
||||
@@ -11,25 +11,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the declaration of this declaration reference expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Decl getImmediateDecl() {
|
||||
Decl getDecl() {
|
||||
result =
|
||||
Synth::convertDeclFromRaw(Synth::convertDeclRefExprToRaw(this).(Raw::DeclRefExpr).getDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the declaration of this declaration reference expression.
|
||||
*/
|
||||
final Decl getDecl() {
|
||||
exists(Decl immediate |
|
||||
immediate = this.getImmediateDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th replacement type of this declaration reference expression (0-based).
|
||||
*
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the parameter declaration of this default argument expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ParamDecl getImmediateParamDecl() {
|
||||
ParamDecl getParamDecl() {
|
||||
result =
|
||||
Synth::convertParamDeclFromRaw(Synth::convertDefaultArgumentExprToRaw(this)
|
||||
.(Raw::DefaultArgumentExpr)
|
||||
.getParamDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the parameter declaration of this default argument expression.
|
||||
*/
|
||||
final ParamDecl getParamDecl() {
|
||||
exists(ParamDecl immediate |
|
||||
immediate = this.getImmediateParamDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the parameter index of this default argument expression.
|
||||
*/
|
||||
|
||||
@@ -33,25 +33,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the element of this enum is case expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
EnumElementDecl getImmediateElement() {
|
||||
EnumElementDecl getElement() {
|
||||
result =
|
||||
Synth::convertEnumElementDeclFromRaw(Synth::convertEnumIsCaseExprToRaw(this)
|
||||
.(Raw::EnumIsCaseExpr)
|
||||
.getElement())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the element of this enum is case expression.
|
||||
*/
|
||||
final EnumElementDecl getElement() {
|
||||
exists(EnumElementDecl immediate |
|
||||
immediate = this.getImmediateElement() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
private import codeql.swift.generated.Synth
|
||||
private import codeql.swift.generated.Raw
|
||||
import codeql.swift.elements.AstNode
|
||||
import codeql.swift.elements.HideableElement
|
||||
import codeql.swift.elements.type.Type
|
||||
|
||||
module Generated {
|
||||
/**
|
||||
* The base class for all expressions in Swift.
|
||||
*/
|
||||
class Expr extends Synth::TExpr, AstNode {
|
||||
class Expr extends Synth::TExpr, AstNode, HideableElement {
|
||||
/**
|
||||
* Gets the type of this expression, if it exists.
|
||||
*
|
||||
|
||||
@@ -14,27 +14,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the root of this key path expression, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
TypeRepr getImmediateRoot() {
|
||||
TypeRepr getRoot() {
|
||||
result =
|
||||
Synth::convertTypeReprFromRaw(Synth::convertKeyPathExprToRaw(this)
|
||||
.(Raw::KeyPathExpr)
|
||||
.getRoot())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the root of this key path expression, if it exists.
|
||||
*/
|
||||
final TypeRepr getRoot() {
|
||||
exists(TypeRepr immediate |
|
||||
immediate = this.getImmediateRoot() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getRoot()` exists.
|
||||
*/
|
||||
@@ -42,27 +29,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th component of this key path expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
KeyPathComponent getImmediateComponent(int index) {
|
||||
KeyPathComponent getComponent(int index) {
|
||||
result =
|
||||
Synth::convertKeyPathComponentFromRaw(Synth::convertKeyPathExprToRaw(this)
|
||||
.(Raw::KeyPathExpr)
|
||||
.getComponent(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th component of this key path expression (0-based).
|
||||
*/
|
||||
final KeyPathComponent getComponent(int index) {
|
||||
exists(KeyPathComponent immediate |
|
||||
immediate = this.getImmediateComponent(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the components of this key path expression.
|
||||
*/
|
||||
|
||||
@@ -29,25 +29,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the member of this lookup expression, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Decl getImmediateMember() {
|
||||
Decl getMember() {
|
||||
result =
|
||||
Synth::convertDeclFromRaw(Synth::convertLookupExprToRaw(this).(Raw::LookupExpr).getMember())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the member of this lookup expression, if it exists.
|
||||
*/
|
||||
final Decl getMember() {
|
||||
exists(Decl immediate |
|
||||
immediate = this.getImmediateMember() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getMember()` exists.
|
||||
*/
|
||||
|
||||
@@ -33,25 +33,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the method of this obj c selector expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Function getImmediateMethod() {
|
||||
Function getMethod() {
|
||||
result =
|
||||
Synth::convertFunctionFromRaw(Synth::convertObjCSelectorExprToRaw(this)
|
||||
.(Raw::ObjCSelectorExpr)
|
||||
.getMethod())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the method of this obj c selector expression.
|
||||
*/
|
||||
final Function getMethod() {
|
||||
exists(Function immediate |
|
||||
immediate = this.getImmediateMethod() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,27 +22,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this object literal expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Argument getImmediateArgument(int index) {
|
||||
Argument getArgument(int index) {
|
||||
result =
|
||||
Synth::convertArgumentFromRaw(Synth::convertObjectLiteralExprToRaw(this)
|
||||
.(Raw::ObjectLiteralExpr)
|
||||
.getArgument(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this object literal expression (0-based).
|
||||
*/
|
||||
final Argument getArgument(int index) {
|
||||
exists(Argument immediate |
|
||||
immediate = this.getImmediateArgument(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the arguments of this object literal expression.
|
||||
*/
|
||||
|
||||
@@ -10,25 +10,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the initializer of this other initializer reference expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Initializer getImmediateInitializer() {
|
||||
Initializer getInitializer() {
|
||||
result =
|
||||
Synth::convertInitializerFromRaw(Synth::convertOtherInitializerRefExprToRaw(this)
|
||||
.(Raw::OtherInitializerRefExpr)
|
||||
.getInitializer())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the initializer of this other initializer reference expression.
|
||||
*/
|
||||
final Initializer getInitializer() {
|
||||
exists(Initializer immediate |
|
||||
immediate = this.getImmediateInitializer() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,27 +15,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th possible declaration of this overloaded declaration reference expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ValueDecl getImmediatePossibleDeclaration(int index) {
|
||||
ValueDecl getPossibleDeclaration(int index) {
|
||||
result =
|
||||
Synth::convertValueDeclFromRaw(Synth::convertOverloadedDeclRefExprToRaw(this)
|
||||
.(Raw::OverloadedDeclRefExpr)
|
||||
.getPossibleDeclaration(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th possible declaration of this overloaded declaration reference expression (0-based).
|
||||
*/
|
||||
final ValueDecl getPossibleDeclaration(int index) {
|
||||
exists(ValueDecl immediate |
|
||||
immediate = this.getImmediatePossibleDeclaration(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the possible declarations of this overloaded declaration reference expression.
|
||||
*/
|
||||
|
||||
@@ -33,25 +33,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the self of this rebind self in initializer expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediateSelf() {
|
||||
VarDecl getSelf() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertRebindSelfInInitializerExprToRaw(this)
|
||||
.(Raw::RebindSelfInInitializerExpr)
|
||||
.getSelf())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the self of this rebind self in initializer expression.
|
||||
*/
|
||||
final VarDecl getSelf() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediateSelf() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this subscript expression (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Argument getImmediateArgument(int index) {
|
||||
Argument getArgument(int index) {
|
||||
result =
|
||||
Synth::convertArgumentFromRaw(Synth::convertSubscriptExprToRaw(this)
|
||||
.(Raw::SubscriptExpr)
|
||||
.getArgument(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th argument of this subscript expression (0-based).
|
||||
*/
|
||||
final Argument getArgument(int index) {
|
||||
exists(Argument immediate |
|
||||
immediate = this.getImmediateArgument(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the arguments of this subscript expression.
|
||||
*/
|
||||
|
||||
@@ -10,25 +10,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the self of this super reference expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediateSelf() {
|
||||
VarDecl getSelf() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertSuperRefExprToRaw(this)
|
||||
.(Raw::SuperRefExpr)
|
||||
.getSelf())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the self of this super reference expression.
|
||||
*/
|
||||
final VarDecl getSelf() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediateSelf() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
30
swift/ql/lib/codeql/swift/generated/expr/TapExpr.qll
generated
30
swift/ql/lib/codeql/swift/generated/expr/TapExpr.qll
generated
@@ -37,44 +37,18 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this tap expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertTapExprToRaw(this).(Raw::TapExpr).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this tap expression.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the variable of this tap expression.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediateVar() {
|
||||
VarDecl getVar() {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertTapExprToRaw(this).(Raw::TapExpr).getVar())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the variable of this tap expression.
|
||||
*/
|
||||
final VarDecl getVar() {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediateVar() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the type representation of this type expression, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
TypeRepr getImmediateTypeRepr() {
|
||||
TypeRepr getTypeRepr() {
|
||||
result =
|
||||
Synth::convertTypeReprFromRaw(Synth::convertTypeExprToRaw(this)
|
||||
.(Raw::TypeExpr)
|
||||
.getTypeRepr())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type representation of this type expression, if it exists.
|
||||
*/
|
||||
final TypeRepr getTypeRepr() {
|
||||
exists(TypeRepr immediate |
|
||||
immediate = this.getImmediateTypeRepr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTypeRepr()` exists.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the element of this enum element pattern.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
EnumElementDecl getImmediateElement() {
|
||||
EnumElementDecl getElement() {
|
||||
result =
|
||||
Synth::convertEnumElementDeclFromRaw(Synth::convertEnumElementPatternToRaw(this)
|
||||
.(Raw::EnumElementPattern)
|
||||
.getElement())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the element of this enum element pattern.
|
||||
*/
|
||||
final EnumElementDecl getElement() {
|
||||
exists(EnumElementDecl immediate |
|
||||
immediate = this.getImmediateElement() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the sub pattern of this enum element pattern, if it exists.
|
||||
*
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the cast type representation of this is pattern, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
TypeRepr getImmediateCastTypeRepr() {
|
||||
TypeRepr getCastTypeRepr() {
|
||||
result =
|
||||
Synth::convertTypeReprFromRaw(Synth::convertIsPatternToRaw(this)
|
||||
.(Raw::IsPattern)
|
||||
.getCastTypeRepr())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cast type representation of this is pattern, if it exists.
|
||||
*/
|
||||
final TypeRepr getCastTypeRepr() {
|
||||
exists(TypeRepr immediate |
|
||||
immediate = this.getImmediateCastTypeRepr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getCastTypeRepr()` exists.
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
private import codeql.swift.generated.Synth
|
||||
private import codeql.swift.generated.Raw
|
||||
import codeql.swift.elements.AstNode
|
||||
import codeql.swift.elements.HideableElement
|
||||
|
||||
module Generated {
|
||||
class Pattern extends Synth::TPattern, AstNode { }
|
||||
class Pattern extends Synth::TPattern, AstNode, HideableElement { }
|
||||
}
|
||||
|
||||
@@ -33,27 +33,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the type representation of this typed pattern, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
TypeRepr getImmediateTypeRepr() {
|
||||
TypeRepr getTypeRepr() {
|
||||
result =
|
||||
Synth::convertTypeReprFromRaw(Synth::convertTypedPatternToRaw(this)
|
||||
.(Raw::TypedPattern)
|
||||
.getTypeRepr())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type representation of this typed pattern, if it exists.
|
||||
*/
|
||||
final TypeRepr getTypeRepr() {
|
||||
exists(TypeRepr immediate |
|
||||
immediate = this.getImmediateTypeRepr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTypeRepr()` exists.
|
||||
*/
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this brace statement (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
AstNode getImmediateElement(int index) {
|
||||
AstNode getElement(int index) {
|
||||
result =
|
||||
Synth::convertAstNodeFromRaw(Synth::convertBraceStmtToRaw(this)
|
||||
.(Raw::BraceStmt)
|
||||
.getElement(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this brace statement (0-based).
|
||||
*/
|
||||
final AstNode getElement(int index) {
|
||||
exists(AstNode immediate |
|
||||
immediate = this.getImmediateElement(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the elements of this brace statement.
|
||||
*/
|
||||
|
||||
@@ -21,25 +21,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the target of this break statement, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateTarget() {
|
||||
Stmt getTarget() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertBreakStmtToRaw(this).(Raw::BreakStmt).getTarget())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the target of this break statement, if it exists.
|
||||
*/
|
||||
final Stmt getTarget() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateTarget() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTarget()` exists.
|
||||
*/
|
||||
|
||||
@@ -28,7 +28,7 @@ module Generated {
|
||||
final Pattern getPattern() {
|
||||
exists(Pattern immediate |
|
||||
immediate = this.getImmediatePattern() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ module Generated {
|
||||
final Expr getGuard() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateGuard() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -11,48 +11,22 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this case statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateBody() {
|
||||
Stmt getBody() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertCaseStmtToRaw(this).(Raw::CaseStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this case statement.
|
||||
*/
|
||||
final Stmt getBody() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th label of this case statement (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CaseLabelItem getImmediateLabel(int index) {
|
||||
CaseLabelItem getLabel(int index) {
|
||||
result =
|
||||
Synth::convertCaseLabelItemFromRaw(Synth::convertCaseStmtToRaw(this)
|
||||
.(Raw::CaseStmt)
|
||||
.getLabel(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th label of this case statement (0-based).
|
||||
*/
|
||||
final CaseLabelItem getLabel(int index) {
|
||||
exists(CaseLabelItem immediate |
|
||||
immediate = this.getImmediateLabel(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the labels of this case statement.
|
||||
*/
|
||||
@@ -65,27 +39,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th variable of this case statement (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
VarDecl getImmediateVariable(int index) {
|
||||
VarDecl getVariable(int index) {
|
||||
result =
|
||||
Synth::convertVarDeclFromRaw(Synth::convertCaseStmtToRaw(this)
|
||||
.(Raw::CaseStmt)
|
||||
.getVariable(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th variable of this case statement (0-based).
|
||||
*/
|
||||
final VarDecl getVariable(int index) {
|
||||
exists(VarDecl immediate |
|
||||
immediate = this.getImmediateVariable(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the variables of this case statement.
|
||||
*/
|
||||
|
||||
@@ -29,7 +29,7 @@ module Generated {
|
||||
final Expr getBoolean() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateBoolean() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ module Generated {
|
||||
final Pattern getPattern() {
|
||||
exists(Pattern immediate |
|
||||
immediate = this.getImmediatePattern() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ module Generated {
|
||||
final Expr getInitializer() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateInitializer() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -96,27 +96,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the availability of this condition element, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
AvailabilityInfo getImmediateAvailability() {
|
||||
AvailabilityInfo getAvailability() {
|
||||
result =
|
||||
Synth::convertAvailabilityInfoFromRaw(Synth::convertConditionElementToRaw(this)
|
||||
.(Raw::ConditionElement)
|
||||
.getAvailability())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the availability of this condition element, if it exists.
|
||||
*/
|
||||
final AvailabilityInfo getAvailability() {
|
||||
exists(AvailabilityInfo immediate |
|
||||
immediate = this.getImmediateAvailability() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getAvailability()` exists.
|
||||
*/
|
||||
|
||||
@@ -21,27 +21,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the target of this continue statement, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateTarget() {
|
||||
Stmt getTarget() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertContinueStmtToRaw(this)
|
||||
.(Raw::ContinueStmt)
|
||||
.getTarget())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the target of this continue statement, if it exists.
|
||||
*/
|
||||
final Stmt getTarget() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateTarget() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getTarget()` exists.
|
||||
*/
|
||||
|
||||
@@ -10,23 +10,10 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this defer statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertDeferStmtToRaw(this).(Raw::DeferStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this defer statement.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,48 +11,22 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this do catch statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateBody() {
|
||||
Stmt getBody() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertDoCatchStmtToRaw(this).(Raw::DoCatchStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this do catch statement.
|
||||
*/
|
||||
final Stmt getBody() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th catch of this do catch statement (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CaseStmt getImmediateCatch(int index) {
|
||||
CaseStmt getCatch(int index) {
|
||||
result =
|
||||
Synth::convertCaseStmtFromRaw(Synth::convertDoCatchStmtToRaw(this)
|
||||
.(Raw::DoCatchStmt)
|
||||
.getCatch(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th catch of this do catch statement (0-based).
|
||||
*/
|
||||
final CaseStmt getCatch(int index) {
|
||||
exists(CaseStmt immediate |
|
||||
immediate = this.getImmediateCatch(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the catches of this do catch statement.
|
||||
*/
|
||||
|
||||
15
swift/ql/lib/codeql/swift/generated/stmt/DoStmt.qll
generated
15
swift/ql/lib/codeql/swift/generated/stmt/DoStmt.qll
generated
@@ -10,23 +10,10 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this do statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertDoStmtToRaw(this).(Raw::DoStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this do statement.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,48 +10,22 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the fallthrough source of this fallthrough statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CaseStmt getImmediateFallthroughSource() {
|
||||
CaseStmt getFallthroughSource() {
|
||||
result =
|
||||
Synth::convertCaseStmtFromRaw(Synth::convertFallthroughStmtToRaw(this)
|
||||
.(Raw::FallthroughStmt)
|
||||
.getFallthroughSource())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the fallthrough source of this fallthrough statement.
|
||||
*/
|
||||
final CaseStmt getFallthroughSource() {
|
||||
exists(CaseStmt immediate |
|
||||
immediate = this.getImmediateFallthroughSource() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the fallthrough dest of this fallthrough statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CaseStmt getImmediateFallthroughDest() {
|
||||
CaseStmt getFallthroughDest() {
|
||||
result =
|
||||
Synth::convertCaseStmtFromRaw(Synth::convertFallthroughStmtToRaw(this)
|
||||
.(Raw::FallthroughStmt)
|
||||
.getFallthroughDest())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the fallthrough dest of this fallthrough statement.
|
||||
*/
|
||||
final CaseStmt getFallthroughDest() {
|
||||
exists(CaseStmt immediate |
|
||||
immediate = this.getImmediateFallthroughDest() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ module Generated {
|
||||
final Pattern getPattern() {
|
||||
exists(Pattern immediate |
|
||||
immediate = this.getImmediatePattern() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ module Generated {
|
||||
final Expr getSequence() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateSequence() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -73,7 +73,7 @@ module Generated {
|
||||
final Expr getWhere() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateWhere() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -84,25 +84,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this for each statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertForEachStmtToRaw(this)
|
||||
.(Raw::ForEachStmt)
|
||||
.getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this for each statement.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,23 +10,10 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this guard statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
BraceStmt getImmediateBody() {
|
||||
BraceStmt getBody() {
|
||||
result =
|
||||
Synth::convertBraceStmtFromRaw(Synth::convertGuardStmtToRaw(this).(Raw::GuardStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this guard statement.
|
||||
*/
|
||||
final BraceStmt getBody() {
|
||||
exists(BraceStmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
30
swift/ql/lib/codeql/swift/generated/stmt/IfStmt.qll
generated
30
swift/ql/lib/codeql/swift/generated/stmt/IfStmt.qll
generated
@@ -10,44 +10,18 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the then of this if statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateThen() {
|
||||
Stmt getThen() {
|
||||
result = Synth::convertStmtFromRaw(Synth::convertIfStmtToRaw(this).(Raw::IfStmt).getThen())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the then of this if statement.
|
||||
*/
|
||||
final Stmt getThen() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateThen() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the else of this if statement, if it exists.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateElse() {
|
||||
Stmt getElse() {
|
||||
result = Synth::convertStmtFromRaw(Synth::convertIfStmtToRaw(this).(Raw::IfStmt).getElse())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the else of this if statement, if it exists.
|
||||
*/
|
||||
final Stmt getElse() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateElse() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `getElse()` exists.
|
||||
*/
|
||||
|
||||
@@ -8,25 +8,12 @@ module Generated {
|
||||
class LabeledConditionalStmt extends Synth::TLabeledConditionalStmt, LabeledStmt {
|
||||
/**
|
||||
* Gets the condition of this labeled conditional statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
StmtCondition getImmediateCondition() {
|
||||
StmtCondition getCondition() {
|
||||
result =
|
||||
Synth::convertStmtConditionFromRaw(Synth::convertLabeledConditionalStmtToRaw(this)
|
||||
.(Raw::LabeledConditionalStmt)
|
||||
.getCondition())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the condition of this labeled conditional statement.
|
||||
*/
|
||||
final StmtCondition getCondition() {
|
||||
exists(StmtCondition immediate |
|
||||
immediate = this.getImmediateCondition() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ module Generated {
|
||||
final Expr getCondition() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateCondition() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -28,31 +28,18 @@ module Generated {
|
||||
final Expr getCondition() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateCondition() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this repeat while statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateBody() {
|
||||
Stmt getBody() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertRepeatWhileStmtToRaw(this)
|
||||
.(Raw::RepeatWhileStmt)
|
||||
.getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this repeat while statement.
|
||||
*/
|
||||
final Stmt getBody() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ module Generated {
|
||||
final Expr getResult() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateResult() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -10,27 +10,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this statement condition (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ConditionElement getImmediateElement(int index) {
|
||||
ConditionElement getElement(int index) {
|
||||
result =
|
||||
Synth::convertConditionElementFromRaw(Synth::convertStmtConditionToRaw(this)
|
||||
.(Raw::StmtCondition)
|
||||
.getElement(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th element of this statement condition (0-based).
|
||||
*/
|
||||
final ConditionElement getElement(int index) {
|
||||
exists(ConditionElement immediate |
|
||||
immediate = this.getImmediateElement(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the elements of this statement condition.
|
||||
*/
|
||||
|
||||
@@ -26,33 +26,20 @@ module Generated {
|
||||
final Expr getExpr() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateExpr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th case of this switch statement (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
CaseStmt getImmediateCase(int index) {
|
||||
CaseStmt getCase(int index) {
|
||||
result =
|
||||
Synth::convertCaseStmtFromRaw(Synth::convertSwitchStmtToRaw(this)
|
||||
.(Raw::SwitchStmt)
|
||||
.getCase(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th case of this switch statement (0-based).
|
||||
*/
|
||||
final CaseStmt getCase(int index) {
|
||||
exists(CaseStmt immediate |
|
||||
immediate = this.getImmediateCase(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the cases of this switch statement.
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,7 @@ module Generated {
|
||||
final Expr getSubExpr() {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateSubExpr() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,23 +10,10 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the body of this while statement.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
Stmt getImmediateBody() {
|
||||
Stmt getBody() {
|
||||
result =
|
||||
Synth::convertStmtFromRaw(Synth::convertWhileStmtToRaw(this).(Raw::WhileStmt).getBody())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the body of this while statement.
|
||||
*/
|
||||
final Stmt getBody() {
|
||||
exists(Stmt immediate |
|
||||
immediate = this.getImmediateBody() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ module Generated {
|
||||
final Expr getResult(int index) {
|
||||
exists(Expr immediate |
|
||||
immediate = this.getImmediateResult(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -36,25 +36,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the declaration of this any generic type.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
GenericTypeDecl getImmediateDeclaration() {
|
||||
GenericTypeDecl getDeclaration() {
|
||||
result =
|
||||
Synth::convertGenericTypeDeclFromRaw(Synth::convertAnyGenericTypeToRaw(this)
|
||||
.(Raw::AnyGenericType)
|
||||
.getDeclaration())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the declaration of this any generic type.
|
||||
*/
|
||||
final GenericTypeDecl getDeclaration() {
|
||||
exists(GenericTypeDecl immediate |
|
||||
immediate = this.getImmediateDeclaration() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,27 +60,14 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the `index`th protocol of this archetype type (0-based).
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ProtocolDecl getImmediateProtocol(int index) {
|
||||
ProtocolDecl getProtocol(int index) {
|
||||
result =
|
||||
Synth::convertProtocolDeclFromRaw(Synth::convertArchetypeTypeToRaw(this)
|
||||
.(Raw::ArchetypeType)
|
||||
.getProtocol(index))
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the `index`th protocol of this archetype type (0-based).
|
||||
*/
|
||||
final ProtocolDecl getProtocol(int index) {
|
||||
exists(ProtocolDecl immediate |
|
||||
immediate = this.getImmediateProtocol(index) and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets any of the protocols of this archetype type.
|
||||
*/
|
||||
|
||||
@@ -33,25 +33,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the associated type declaration of this dependent member type.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
AssociatedTypeDecl getImmediateAssociatedTypeDecl() {
|
||||
AssociatedTypeDecl getAssociatedTypeDecl() {
|
||||
result =
|
||||
Synth::convertAssociatedTypeDeclFromRaw(Synth::convertDependentMemberTypeToRaw(this)
|
||||
.(Raw::DependentMemberType)
|
||||
.getAssociatedTypeDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the associated type declaration of this dependent member type.
|
||||
*/
|
||||
final AssociatedTypeDecl getAssociatedTypeDecl() {
|
||||
exists(AssociatedTypeDecl immediate |
|
||||
immediate = this.getImmediateAssociatedTypeDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,25 +10,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the module of this module type.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
ModuleDecl getImmediateModule() {
|
||||
ModuleDecl getModule() {
|
||||
result =
|
||||
Synth::convertModuleDeclFromRaw(Synth::convertModuleTypeToRaw(this)
|
||||
.(Raw::ModuleType)
|
||||
.getModule())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the module of this module type.
|
||||
*/
|
||||
final ModuleDecl getModule() {
|
||||
exists(ModuleDecl immediate |
|
||||
immediate = this.getImmediateModule() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,25 +15,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the declaration of this opaque type archetype type.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
OpaqueTypeDecl getImmediateDeclaration() {
|
||||
OpaqueTypeDecl getDeclaration() {
|
||||
result =
|
||||
Synth::convertOpaqueTypeDeclFromRaw(Synth::convertOpaqueTypeArchetypeTypeToRaw(this)
|
||||
.(Raw::OpaqueTypeArchetypeType)
|
||||
.getDeclaration())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the declaration of this opaque type archetype type.
|
||||
*/
|
||||
final OpaqueTypeDecl getDeclaration() {
|
||||
exists(OpaqueTypeDecl immediate |
|
||||
immediate = this.getImmediateDeclaration() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// generated by codegen/codegen.py
|
||||
private import codeql.swift.generated.Synth
|
||||
private import codeql.swift.generated.Raw
|
||||
import codeql.swift.elements.Element
|
||||
import codeql.swift.elements.HideableElement
|
||||
|
||||
module Generated {
|
||||
class Type extends Synth::TType, Element {
|
||||
class Type extends Synth::TType, HideableElement {
|
||||
/**
|
||||
* Gets the name of this type.
|
||||
*/
|
||||
|
||||
@@ -10,25 +10,12 @@ module Generated {
|
||||
|
||||
/**
|
||||
* Gets the declaration of this type alias type.
|
||||
*
|
||||
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
|
||||
* behavior of both the `Immediate` and non-`Immediate` versions.
|
||||
*/
|
||||
TypeAliasDecl getImmediateDecl() {
|
||||
TypeAliasDecl getDecl() {
|
||||
result =
|
||||
Synth::convertTypeAliasDeclFromRaw(Synth::convertTypeAliasTypeToRaw(this)
|
||||
.(Raw::TypeAliasType)
|
||||
.getDecl())
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the declaration of this type alias type.
|
||||
*/
|
||||
final TypeAliasDecl getDecl() {
|
||||
exists(TypeAliasDecl immediate |
|
||||
immediate = this.getImmediateDecl() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ module Generated {
|
||||
final Type getType() {
|
||||
exists(Type immediate |
|
||||
immediate = this.getImmediateType() and
|
||||
if exists(this.getResolveStep()) then result = immediate else result = immediate.resolve()
|
||||
result = immediate.resolve()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ private string prettyPrint(Locatable e) {
|
||||
result = "[" + concat(e.getPrimaryQlClasses(), ", ") + "] " + e
|
||||
}
|
||||
|
||||
private class Unresolved extends Locatable {
|
||||
private class Unresolved extends HideableElement, Locatable {
|
||||
Unresolved() { this != this.resolve() }
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ class PrintLocatable extends PrintAstNode, TLocatable {
|
||||
// use even indexes for normal children, leaving odd slots for conversions if any
|
||||
child = TLocatable(c) and index = 2 * i and label = accessor
|
||||
or
|
||||
child = TLocatable(c.getFullyUnresolved().(Unresolved)) and
|
||||
child = TLocatable(c.(HideableElement).getFullyUnresolved().(Unresolved)) and
|
||||
index = 2 * i + 1 and
|
||||
(
|
||||
if c instanceof Expr
|
||||
|
||||
8
swift/ql/lib/swift.dbscheme
generated
8
swift/ql/lib/swift.dbscheme
generated
@@ -15,9 +15,9 @@ sourceLocationPrefix(
|
||||
@callable
|
||||
| @file
|
||||
| @generic_context
|
||||
| @hideable_element
|
||||
| @locatable
|
||||
| @location
|
||||
| @type
|
||||
;
|
||||
|
||||
#keyset[id]
|
||||
@@ -77,6 +77,12 @@ file_is_successfully_extracted(
|
||||
int id: @file ref
|
||||
);
|
||||
|
||||
@hideable_element =
|
||||
@expr
|
||||
| @pattern
|
||||
| @type
|
||||
;
|
||||
|
||||
@locatable =
|
||||
@argument
|
||||
| @ast_node
|
||||
|
||||
@@ -14,7 +14,6 @@ from misc.codegen.lib.schemadefs import *
|
||||
include("prefix.dbscheme")
|
||||
|
||||
@qltest.skip
|
||||
@ql.hideable
|
||||
class Element:
|
||||
is_unknown: predicate | cpp.skip
|
||||
|
||||
@@ -73,8 +72,12 @@ class UnknownLocation(Location):
|
||||
class AstNode(Locatable):
|
||||
pass
|
||||
|
||||
@ql.hideable
|
||||
class HideableElement(Element):
|
||||
pass
|
||||
|
||||
@group("type")
|
||||
class Type(Element):
|
||||
class Type(HideableElement):
|
||||
name: string
|
||||
canonical_type: "Type"
|
||||
|
||||
@@ -84,12 +87,12 @@ class Decl(AstNode):
|
||||
members: list["Decl"] | child
|
||||
|
||||
@group("expr")
|
||||
class Expr(AstNode):
|
||||
class Expr(AstNode, HideableElement):
|
||||
"""The base class for all expressions in Swift."""
|
||||
type: optional[Type]
|
||||
|
||||
@group("pattern")
|
||||
class Pattern(AstNode):
|
||||
class Pattern(AstNode, HideableElement):
|
||||
pass
|
||||
|
||||
@group("stmt")
|
||||
|
||||
Reference in New Issue
Block a user