mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Swift: extract ActorIsolationErasureExpr
This commit is contained in:
@@ -175,7 +175,7 @@ MAP(swift::Expr, ExprTag)
|
||||
MAP(swift::LinearFunctionExtractOriginalExpr, LinearFunctionExtractOriginalExprTag)
|
||||
MAP(swift::LinearToDifferentiableFunctionExpr, LinearToDifferentiableFunctionExprTag)
|
||||
MAP(swift::ABISafeConversionExpr, AbiSafeConversionExprTag) // different acronym convention
|
||||
MAP(swift::ActorIsolationErasureExpr, void) // TODO swift 6.0
|
||||
MAP(swift::ActorIsolationErasureExpr, ActorIsolationErasureExprTag)
|
||||
MAP(swift::UnreachableExpr, void) // TODO swift 6.0
|
||||
MAP(swift::ExplicitCastExpr, ExplicitCastExprTag)
|
||||
MAP(swift::CheckedCastExpr, CheckedCastExprTag)
|
||||
|
||||
14
swift/ql/.generated.list
generated
14
swift/ql/.generated.list
generated
@@ -111,6 +111,7 @@ lib/codeql/swift/elements/decl/internal/SubscriptDeclConstructor.qll 67882596f38
|
||||
lib/codeql/swift/elements/decl/internal/TopLevelCodeDeclConstructor.qll 3924b6e5bee007fd62ae4b2352e38ae20292dbdab65fd1724ca9cd698bfc88f4 28ac8627c75cd787e6dca1a8bfed4c36edbfd13cdad19a08905a49d56b815ad7
|
||||
lib/codeql/swift/elements/decl/internal/TypeAliasDeclConstructor.qll 1dc3d7ef11adf5fb9b4be1c824b8a49393137071584ed44224a2f47b3a0b8a4a 2e1e8222b851376b0d7843a93fb6affeac7f8ee52867623b1e2fa99c1ac37dbb
|
||||
lib/codeql/swift/elements/expr/AbiSafeConversionExpr.qll 62c6b231898c42a7756cae20ed9b3818958872cb581cca6f1db0b28e4cff9b93 b90f7496229e76a40ac66e8a3d0ac2f14c65d729ebeea796cb34f395f2858b32
|
||||
lib/codeql/swift/elements/expr/ActorIsolationErasureExpr.qll bbbc615255877e7fd95199710449fa696d68d81a4cfb985240d0cfbf124d9d37 526e7b4f2b5af5f2c8172b5d2c76c1f7198025e02c9e1068f92fa6c78cddeb81
|
||||
lib/codeql/swift/elements/expr/AnyHashableErasureExpr.qll 3388c1ad2c9d984fb0a0368ef9090f03cc5bbd63088024308a056cabfb9c93c9 49e3450180b8a4626911fc83bd64d17e486fad6b50f33b55b9322faef1ced39f
|
||||
lib/codeql/swift/elements/expr/AnyTryExpr.qll 1edad5f25c3e36412e4d93b3a5f6d1886670c353837c7bd9477351136ea4d743 58f5a8d11b5b5aea41cc5c513e2f594bc418e979f27aa0a44ddc3340aba50f95
|
||||
lib/codeql/swift/elements/expr/AppliedPropertyWrapperExpr.qll 83c08f24e715393c8e9a9434ab53556f38965a750ee1c8b145df03435e8bf41c ad70842a93f26d70b1a9400039c4446b75302a3005e3b44905cefd44c57c46af
|
||||
@@ -241,6 +242,8 @@ lib/codeql/swift/elements/expr/UnresolvedTypeConversionExpr.qll e259a187d70ea6b6
|
||||
lib/codeql/swift/elements/expr/VarargExpansionExpr.qll c7d7574caaac88fd73e69e82a84ca924e078eece0fd85a476b4a831e23b425f9 27213c88f864b7f8fd73edf8951e04a5ae7a57140a387df7c03dc1544ced723b
|
||||
lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprConstructor.qll de9d2daf68b754e783374d017116606c8cd0710dbf8989d3606939e977dc672c 63c5ddb9da56da2c9637d7a0a6d9d069f745b4c095b07c9494a0b3a7e11be95b
|
||||
lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprImpl.qll 6b2c51a5a5dd17044c6f5510048a9a2187aac9d35a70541faa9400406e35bc1e 448c23eec2ef44bd90e6c1636e3e881ca3447198eb68b8261412f42c4995b766
|
||||
lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprConstructor.qll da71e5e88434f620484b792075c4966758721b46a20834c296ae77be587a8952 aafac69f37c3fd8b7d0973ca616bba30833b00d64639c3d6b7fb2e86d212406d
|
||||
lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprImpl.qll e9b2498761c33cd765566978dbb789637e04549bdb967a1948cb6518435bfa7b 3d7b115e8d40fe1ab1fe7375493d991e51b4689b8565dde4beb6181ce7ea44ba
|
||||
lib/codeql/swift/elements/expr/internal/AnyHashableErasureExprConstructor.qll a1a1b5b5cb85202756826d5858b336fa2c06859020084695f6182dff999993ed bc9aab20cb809516512ddca305e2d107c2b2d2f5850620fe53af021145bde247
|
||||
lib/codeql/swift/elements/expr/internal/AnyHashableErasureExprImpl.qll c1a0516ad5176f00347f7a5187f3c521746066235eb3f3bdd6f1ec068180d9f1 cb0d36379fff2483e30e54e75d8b63dc92669e8a129c8fcb24495cfad6456cfc
|
||||
lib/codeql/swift/elements/expr/internal/AnyTryExprImpl.qll 8225177728e36e4cdab514d060052b7174e99146ddfeb1a0cacbaab5bcd7f7a4 074ee2100466303ee268fbe50a3c4d4f93d920b24e17e1a2c60c9f7d3e7b46c2
|
||||
@@ -698,7 +701,7 @@ lib/codeql/swift/elements/type/internal/UnresolvedTypeImpl.qll ee1499dd568753898
|
||||
lib/codeql/swift/elements/type/internal/VariadicSequenceTypeConstructor.qll fc74a5a2a2effa28ef24509b20ee4373d97cf6e8c71840121bb031c6adedf584 c9b2effc1d01c13c5e6a74a111122fa79a2f6554dda3cb016d68ba397e566ec4
|
||||
lib/codeql/swift/elements/type/internal/WeakStorageTypeConstructor.qll 5fdce3716aba6318522174a2c455a63480970222ae81c732fb19c6dd3ae2d271 60ea79d6943e129deba0deccb566cf9d73f78398b0f7f0212674d91287d6b2ae
|
||||
lib/codeql/swift/elements/type/internal/WeakStorageTypeImpl.qll 74f79b458f3204ec2519bd654de21bc4fb6b76816bd8ca01990fe897563a1383 34e1810f74cecda5b580ed050438ae1d914b97a36b8f4e2de1c25254c0cac633
|
||||
lib/codeql/swift/elements.qll 913ca9d6eda0972ab2e1922c40cc5f3519bcdfc36db70873b4802822852eac44 913ca9d6eda0972ab2e1922c40cc5f3519bcdfc36db70873b4802822852eac44
|
||||
lib/codeql/swift/elements.qll 397f257159ffcad583f3944333f99406289ee2ef85c6da781d72dc52a59477e4 397f257159ffcad583f3944333f99406289ee2ef85c6da781d72dc52a59477e4
|
||||
lib/codeql/swift/generated/AstNode.qll 6fb80e9b230a1e3ae8193af40744f253d5cc81dc4239156924e5ab606c491efc e5c28418e9a38bde08f323a3986a199620189fc4a8a4dc8f670610a5d3d65b99
|
||||
lib/codeql/swift/generated/AvailabilityInfo.qll e3a5274c43e72ff124b6988fd8be0c83a41b89337e11104150dd0ca7f51d8a11 889563791ca8d9758dbbccf64a0731c4bdbf721cad32bc6cd723f1072b6aa1de
|
||||
lib/codeql/swift/generated/AvailabilitySpec.qll bc64d5c690c4d18800f0a48cc76a6a9ee4f832041343666da2d8df2aae04ed7e d03bf874293ac0ab09c025f75c0f392473d47bebe3223143adcc13882a366119
|
||||
@@ -715,12 +718,12 @@ lib/codeql/swift/generated/Locatable.qll 1d37fa20de71c0b9986bfd7a7c0cb82ab7bf3fd
|
||||
lib/codeql/swift/generated/Location.qll 5e20316c3e480ddfe632b7e88e016c19f10a67df1f6ae9c8f128755a6907d6f5 5a0af2d070bcb2ed53d6d0282bf9c60dc64c2dce89c21fdd485e9c7893c1c8fa
|
||||
lib/codeql/swift/generated/MacroRole.qll 0d8fa6b0b6e2045d9097a87d53888cae2ea5371b2fa7d140341cf206f575b556 ea3b8a7c0a88851809f9a5a5aa80b0d2da3c4779bb29044cdba2b60246a2722c
|
||||
lib/codeql/swift/generated/OtherAvailabilitySpec.qll d9feaa2a71acff3184ca389045b0a49d09156210df0e034923d715b432ad594b 046737621a8bcf69bf805afb0cff476bd15259f12f0d77fce3206dd01b31518f
|
||||
lib/codeql/swift/generated/ParentChild.qll 6208de45f7dbf7713f91c710c6bcca1e14800cb025bdc054ea21df5f23ad9075 c6450faaf5d027fd3f43372588b893855cc72d61eab1a6efa7d9266c00a84aa2
|
||||
lib/codeql/swift/generated/ParentChild.qll 2411882684c204243d9ea793ea8c9d02355e31f606ffc43cf8882e985d799c3d e7ab1c802ea38c0c048d43482852916b62df36b58e6033f87002ec362f11ea61
|
||||
lib/codeql/swift/generated/PlatformVersionAvailabilitySpec.qll dc17b49a90a18a8f7607adf2433bc8f0c194fa3e803aa3822f809d4d4fbd6793 be48ea9f8ae17354c8508aaed24337a9e57ce01f288fece3dcecd99776cabcec
|
||||
lib/codeql/swift/generated/PureSynthConstructors.qll bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4
|
||||
lib/codeql/swift/generated/Raw.qll 855cacf92f587700c5408b9e17bb360dbcc57656d936148d96a3d4f747593e47 13fde0d5c2644691d6e89f9b62d528a0bdc01c32e1990769c53b65fb4b87526e
|
||||
lib/codeql/swift/generated/Synth.qll 96e48b93040580edb77d94f1c3b5974899808d507fab2f3c2eab0d50367a3d3f 7e6b50a342e45cb8b3ed53150dbcdb75be07264885fde15d19fd98ae61d1ba05
|
||||
lib/codeql/swift/generated/SynthConstructors.qll 6367ac382b6516cdf793922702acd6187c7e873eac9f4c215955a67825ab6bf4 6367ac382b6516cdf793922702acd6187c7e873eac9f4c215955a67825ab6bf4
|
||||
lib/codeql/swift/generated/Raw.qll 7ae3ca2a8c219aeeb7be1fb2b8f4be74ce8e6ce728bc97c259693ebd3c7bf8a5 8d0713432ec6355d9a9bd208c35e3751cee173996d9bea032796042bf39014e9
|
||||
lib/codeql/swift/generated/Synth.qll a009cd58c63421832a02bad44551350b1af97fcedd6c13e920df5f66ea30d4ad f2107a40928c833da54e5f6e4bc58d4db6a982d144c59c66e449baee3d4b5848
|
||||
lib/codeql/swift/generated/SynthConstructors.qll 4d984e2e839c082b9bc70d3b6166303d81eae9baa4cef5e072a792405a014cc8 4d984e2e839c082b9bc70d3b6166303d81eae9baa4cef5e072a792405a014cc8
|
||||
lib/codeql/swift/generated/UnknownFile.qll 247ddf2ebb49ce5ed4bf7bf91a969ddff37de6c78d43d8affccaf7eb586e06f2 452b29f0465ef45e978ef8b647b75e5a2a1e53f2a568fc003bc8f52f73b3fa4d
|
||||
lib/codeql/swift/generated/UnknownLocation.qll d871000b4f53ffca4f67ea23ca5626e5dcce125d62a4d4b9969e08cc974af6fc b05971d7774e60790362fb810fb7086314f40a2de747b8cb1bc823ec6494a4dd
|
||||
lib/codeql/swift/generated/UnspecifiedElement.qll d9ad4ba1ffff90cc465e8ba0dea8c4e8ba67dce5529b53b63ab6dc8e13c85e67 025218e1fee8ee382b63ad38009dfec73dc604d2ba80b9ad956c7c96eeed7022
|
||||
@@ -768,6 +771,7 @@ lib/codeql/swift/generated/decl/TypeDecl.qll 92f74709cce7e9f0f713598d3b20b730475
|
||||
lib/codeql/swift/generated/decl/ValueDecl.qll d3b9c241fd6cb1ce8274435c0242775c28c08f6a47caae01ad1ecd38897b2cd5 bc81291b1394b47972d7b75b6a767ed847f881932a7d9345d28d161a55b66bd1
|
||||
lib/codeql/swift/generated/decl/VarDecl.qll 8978a73fa2d7a9f952b68a2638788eda857e62502311a33fa6de1dad49a6cb1c b8b6c8cf6773056c3a90494754b0a257dcae494c03d933f138ece7f531fb9158
|
||||
lib/codeql/swift/generated/expr/AbiSafeConversionExpr.qll 9d8f0f895a5e1abb89bed9671a9b398e48eca4664eb10b4b41263eb2a29bb2cf 4f65b8e62876664a357433f886baccaf40e4bf7e9ca7eebeb9f5d999354578f9
|
||||
lib/codeql/swift/generated/expr/ActorIsolationErasureExpr.qll 0ebade7950363d63a3d0e86877174e763522ba5119253ec6b9dbf6506ab7ab6d a5a94ef22d198b7325c8dda3ca380c600f4f0147534fc1b12e57fd19e4e63961
|
||||
lib/codeql/swift/generated/expr/AnyHashableErasureExpr.qll e9040afb7bf3d2d79fe931aa98f565bf1b8ad4ba56a9f2ee579e61afa7c50719 1e6e4fa2519522a117b7ca05c060f060376974a4148cbad38bb238ac432509c6
|
||||
lib/codeql/swift/generated/expr/AnyTryExpr.qll 32b5df81d686959183af42c0ba30976360f3062bd6279b88d8578ac010740b24 b8a78d4e06d7160b83b31bbd033e4697f607bd6ea294f2e0dbbe96a0c665014d
|
||||
lib/codeql/swift/generated/expr/AppliedPropertyWrapperExpr.qll a272cddf6e161406a886a779939a88b4536eace5579ac6930f1b5f7c234c6525 1c93e30d1850fb3be09cc250f4e645b8c36878c7ea3d028bc06a3255f764605d
|
||||
|
||||
4
swift/ql/.gitattributes
generated
vendored
4
swift/ql/.gitattributes
generated
vendored
@@ -113,6 +113,7 @@
|
||||
/lib/codeql/swift/elements/decl/internal/TopLevelCodeDeclConstructor.qll linguist-generated
|
||||
/lib/codeql/swift/elements/decl/internal/TypeAliasDeclConstructor.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/AbiSafeConversionExpr.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/ActorIsolationErasureExpr.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/AnyHashableErasureExpr.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/AnyTryExpr.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/AppliedPropertyWrapperExpr.qll linguist-generated
|
||||
@@ -243,6 +244,8 @@
|
||||
/lib/codeql/swift/elements/expr/VarargExpansionExpr.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprConstructor.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/AbiSafeConversionExprImpl.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprConstructor.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprImpl.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/AnyHashableErasureExprConstructor.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/AnyHashableErasureExprImpl.qll linguist-generated
|
||||
/lib/codeql/swift/elements/expr/internal/AnyTryExprImpl.qll linguist-generated
|
||||
@@ -770,6 +773,7 @@
|
||||
/lib/codeql/swift/generated/decl/ValueDecl.qll linguist-generated
|
||||
/lib/codeql/swift/generated/decl/VarDecl.qll linguist-generated
|
||||
/lib/codeql/swift/generated/expr/AbiSafeConversionExpr.qll linguist-generated
|
||||
/lib/codeql/swift/generated/expr/ActorIsolationErasureExpr.qll linguist-generated
|
||||
/lib/codeql/swift/generated/expr/AnyHashableErasureExpr.qll linguist-generated
|
||||
/lib/codeql/swift/generated/expr/AnyTryExpr.qll linguist-generated
|
||||
/lib/codeql/swift/generated/expr/AppliedPropertyWrapperExpr.qll linguist-generated
|
||||
|
||||
1
swift/ql/lib/codeql/swift/elements.qll
generated
1
swift/ql/lib/codeql/swift/elements.qll
generated
@@ -66,6 +66,7 @@ import codeql.swift.elements.decl.TypeDecl
|
||||
import codeql.swift.elements.decl.ValueDecl
|
||||
import codeql.swift.elements.decl.VarDecl
|
||||
import codeql.swift.elements.expr.AbiSafeConversionExpr
|
||||
import codeql.swift.elements.expr.ActorIsolationErasureExpr
|
||||
import codeql.swift.elements.expr.AnyHashableErasureExpr
|
||||
import codeql.swift.elements.expr.AnyTryExpr
|
||||
import codeql.swift.elements.expr.AppliedPropertyWrapperExpr
|
||||
|
||||
13
swift/ql/lib/codeql/swift/elements/expr/ActorIsolationErasureExpr.qll
generated
Normal file
13
swift/ql/lib/codeql/swift/elements/expr/ActorIsolationErasureExpr.qll
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
// generated by codegen/codegen.py, do not edit
|
||||
/**
|
||||
* This module provides the public class `ActorIsolationErasureExpr`.
|
||||
*/
|
||||
|
||||
private import internal.ActorIsolationErasureExprImpl
|
||||
import codeql.swift.elements.expr.ImplicitConversionExpr
|
||||
|
||||
/**
|
||||
* A conversion that erases the actor isolation of an expression with `@isolated(any)` function
|
||||
* type.
|
||||
*/
|
||||
final class ActorIsolationErasureExpr = Impl::ActorIsolationErasureExpr;
|
||||
14
swift/ql/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprConstructor.qll
generated
Normal file
14
swift/ql/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprConstructor.qll
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module defines the hook used internally to tweak the characteristic predicate of
|
||||
* `ActorIsolationErasureExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.swift.generated.Raw
|
||||
|
||||
/**
|
||||
* The characteristic predicate of `ActorIsolationErasureExpr` synthesized instances.
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
predicate constructActorIsolationErasureExpr(Raw::ActorIsolationErasureExpr id) { any() }
|
||||
20
swift/ql/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprImpl.qll
generated
Normal file
20
swift/ql/lib/codeql/swift/elements/expr/internal/ActorIsolationErasureExprImpl.qll
generated
Normal file
@@ -0,0 +1,20 @@
|
||||
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
|
||||
/**
|
||||
* This module provides a hand-modifiable wrapper around the generated class `ActorIsolationErasureExpr`.
|
||||
*
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
private import codeql.swift.generated.expr.ActorIsolationErasureExpr
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the customizable definition of `ActorIsolationErasureExpr` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Impl {
|
||||
/**
|
||||
* A conversion that erases the actor isolation of an expression with `@isolated(any)` function
|
||||
* type.
|
||||
*/
|
||||
class ActorIsolationErasureExpr extends Generated::ActorIsolationErasureExpr { }
|
||||
}
|
||||
19
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
19
swift/ql/lib/codeql/swift/generated/ParentChild.qll
generated
@@ -2148,6 +2148,23 @@ private module Impl {
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfActorIsolationErasureExpr(
|
||||
ActorIsolationErasureExpr e, int index, string partialPredicateCall
|
||||
) {
|
||||
exists(int b, int bImplicitConversionExpr, int n |
|
||||
b = 0 and
|
||||
bImplicitConversionExpr =
|
||||
b + 1 +
|
||||
max(int i | i = -1 or exists(getImmediateChildOfImplicitConversionExpr(e, i, _)) | i) and
|
||||
n = bImplicitConversionExpr and
|
||||
(
|
||||
none()
|
||||
or
|
||||
result = getImmediateChildOfImplicitConversionExpr(e, index - b, partialPredicateCall)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
private Element getImmediateChildOfAnyHashableErasureExpr(
|
||||
AnyHashableErasureExpr e, int index, string partialPredicateCall
|
||||
) {
|
||||
@@ -5345,6 +5362,8 @@ private module Impl {
|
||||
or
|
||||
result = getImmediateChildOfAbiSafeConversionExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfActorIsolationErasureExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfAnyHashableErasureExpr(e, index, partialAccessor)
|
||||
or
|
||||
result = getImmediateChildOfArchetypeToSuperExpr(e, index, partialAccessor)
|
||||
|
||||
9
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
9
swift/ql/lib/codeql/swift/generated/Raw.qll
generated
@@ -1937,6 +1937,15 @@ module Raw {
|
||||
override string toString() { result = "AbiSafeConversionExpr" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* A conversion that erases the actor isolation of an expression with `@isolated(any)` function
|
||||
* type.
|
||||
*/
|
||||
class ActorIsolationErasureExpr extends @actor_isolation_erasure_expr, ImplicitConversionExpr {
|
||||
override string toString() { result = "ActorIsolationErasureExpr" }
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
|
||||
30
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
30
swift/ql/lib/codeql/swift/generated/Synth.qll
generated
@@ -192,6 +192,12 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TAbiSafeConversionExpr(Raw::AbiSafeConversionExpr id) { constructAbiSafeConversionExpr(id) } or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
TActorIsolationErasureExpr(Raw::ActorIsolationErasureExpr id) {
|
||||
constructActorIsolationErasureExpr(id)
|
||||
} or
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
@@ -1266,8 +1272,8 @@ module Synth {
|
||||
* INTERNAL: Do not use.
|
||||
*/
|
||||
class TImplicitConversionExpr =
|
||||
TAbiSafeConversionExpr or TAnyHashableErasureExpr or TArchetypeToSuperExpr or
|
||||
TArrayToPointerExpr or TBridgeFromObjCExpr or TBridgeToObjCExpr or
|
||||
TAbiSafeConversionExpr or TActorIsolationErasureExpr or TAnyHashableErasureExpr or
|
||||
TArchetypeToSuperExpr or TArrayToPointerExpr or TBridgeFromObjCExpr or TBridgeToObjCExpr or
|
||||
TClassMetatypeToObjectExpr or TCollectionUpcastConversionExpr or
|
||||
TConditionalBridgeFromObjCExpr or TCovariantFunctionConversionExpr or
|
||||
TCovariantReturnConversionExpr or TDerivedToBaseExpr or TDestructureTupleExpr or
|
||||
@@ -1710,6 +1716,14 @@ module Synth {
|
||||
result = TAbiSafeConversionExpr(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TActorIsolationErasureExpr`, if possible.
|
||||
*/
|
||||
TActorIsolationErasureExpr convertActorIsolationErasureExprFromRaw(Raw::Element e) {
|
||||
result = TActorIsolationErasureExpr(e)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a raw element to a synthesized `TAnyHashableErasureExpr`, if possible.
|
||||
@@ -3675,6 +3689,8 @@ module Synth {
|
||||
TImplicitConversionExpr convertImplicitConversionExprFromRaw(Raw::Element e) {
|
||||
result = convertAbiSafeConversionExprFromRaw(e)
|
||||
or
|
||||
result = convertActorIsolationErasureExprFromRaw(e)
|
||||
or
|
||||
result = convertAnyHashableErasureExprFromRaw(e)
|
||||
or
|
||||
result = convertArchetypeToSuperExprFromRaw(e)
|
||||
@@ -4402,6 +4418,14 @@ module Synth {
|
||||
e = TAbiSafeConversionExpr(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TActorIsolationErasureExpr` to a raw DB element, if possible.
|
||||
*/
|
||||
Raw::Element convertActorIsolationErasureExprToRaw(TActorIsolationErasureExpr e) {
|
||||
e = TActorIsolationErasureExpr(result)
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
* Converts a synthesized `TAnyHashableErasureExpr` to a raw DB element, if possible.
|
||||
@@ -6365,6 +6389,8 @@ module Synth {
|
||||
Raw::Element convertImplicitConversionExprToRaw(TImplicitConversionExpr e) {
|
||||
result = convertAbiSafeConversionExprToRaw(e)
|
||||
or
|
||||
result = convertActorIsolationErasureExprToRaw(e)
|
||||
or
|
||||
result = convertAnyHashableErasureExprToRaw(e)
|
||||
or
|
||||
result = convertArchetypeToSuperExprToRaw(e)
|
||||
|
||||
@@ -45,6 +45,7 @@ import codeql.swift.elements.decl.internal.SubscriptDeclConstructor
|
||||
import codeql.swift.elements.decl.internal.TopLevelCodeDeclConstructor
|
||||
import codeql.swift.elements.decl.internal.TypeAliasDeclConstructor
|
||||
import codeql.swift.elements.expr.internal.AbiSafeConversionExprConstructor
|
||||
import codeql.swift.elements.expr.internal.ActorIsolationErasureExprConstructor
|
||||
import codeql.swift.elements.expr.internal.AnyHashableErasureExprConstructor
|
||||
import codeql.swift.elements.expr.internal.AppliedPropertyWrapperExprConstructor
|
||||
import codeql.swift.elements.expr.internal.ArchetypeToSuperExprConstructor
|
||||
|
||||
27
swift/ql/lib/codeql/swift/generated/expr/ActorIsolationErasureExpr.qll
generated
Normal file
27
swift/ql/lib/codeql/swift/generated/expr/ActorIsolationErasureExpr.qll
generated
Normal file
@@ -0,0 +1,27 @@
|
||||
// generated by codegen/codegen.py, do not edit
|
||||
/**
|
||||
* This module provides the generated definition of `ActorIsolationErasureExpr`.
|
||||
* INTERNAL: Do not import directly.
|
||||
*/
|
||||
|
||||
private import codeql.swift.generated.Synth
|
||||
private import codeql.swift.generated.Raw
|
||||
import codeql.swift.elements.expr.internal.ImplicitConversionExprImpl::Impl as ImplicitConversionExprImpl
|
||||
|
||||
/**
|
||||
* INTERNAL: This module contains the fully generated definition of `ActorIsolationErasureExpr` and should not
|
||||
* be referenced directly.
|
||||
*/
|
||||
module Generated {
|
||||
/**
|
||||
* A conversion that erases the actor isolation of an expression with `@isolated(any)` function
|
||||
* type.
|
||||
* INTERNAL: Do not reference the `Generated::ActorIsolationErasureExpr` class directly.
|
||||
* Use the subclass `ActorIsolationErasureExpr`, where the following predicates are available.
|
||||
*/
|
||||
class ActorIsolationErasureExpr extends Synth::TActorIsolationErasureExpr,
|
||||
ImplicitConversionExprImpl::ImplicitConversionExpr
|
||||
{
|
||||
override string getAPrimaryQlClass() { result = "ActorIsolationErasureExpr" }
|
||||
}
|
||||
}
|
||||
5
swift/ql/lib/swift.dbscheme
generated
5
swift/ql/lib/swift.dbscheme
generated
@@ -1034,6 +1034,7 @@ if_exprs( //dir=expr
|
||||
|
||||
@implicit_conversion_expr =
|
||||
@abi_safe_conversion_expr
|
||||
| @actor_isolation_erasure_expr
|
||||
| @any_hashable_erasure_expr
|
||||
| @archetype_to_super_expr
|
||||
| @array_to_pointer_expr
|
||||
@@ -1318,6 +1319,10 @@ abi_safe_conversion_exprs( //dir=expr
|
||||
unique int id: @abi_safe_conversion_expr
|
||||
);
|
||||
|
||||
actor_isolation_erasure_exprs( //dir=expr
|
||||
unique int id: @actor_isolation_erasure_expr
|
||||
);
|
||||
|
||||
any_hashable_erasure_exprs( //dir=expr
|
||||
unique int id: @any_hashable_erasure_expr
|
||||
);
|
||||
|
||||
@@ -1450,3 +1450,10 @@ class CurrentContextIsolationExpr(Expr):
|
||||
the source.
|
||||
"""
|
||||
actor: Expr
|
||||
|
||||
|
||||
class ActorIsolationErasureExpr(ImplicitConversionExpr):
|
||||
"""
|
||||
A conversion that erases the actor isolation of an expression with `@isolated(any)` function
|
||||
type.
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user