diff --git a/swift/ql/.generated.list b/swift/ql/.generated.list index 1d3e3da7e3e..8d2fb9a2ebc 100644 --- a/swift/ql/.generated.list +++ b/swift/ql/.generated.list @@ -737,10 +737,10 @@ lib/codeql/swift/generated/KeyPathComponent.qll e11dcf952045b5e6062e24c23515cff9 lib/codeql/swift/generated/Locatable.qll 1d37fa20de71c0b9986bfd7a7c0cb82ab7bf3fda2d2008700f955ad82ce109a7 e97d4d4fb8a4800e0008cc00f60c8ed9b1ebd5f1140fd85e68b034616178d721 lib/codeql/swift/generated/Location.qll 5e20316c3e480ddfe632b7e88e016c19f10a67df1f6ae9c8f128755a6907d6f5 5a0af2d070bcb2ed53d6d0282bf9c60dc64c2dce89c21fdd485e9c7893c1c8fa lib/codeql/swift/generated/MacroRole.qll facf907e75490d69cd401c491215e4719324d751f40ea46c86ccf24cf3663c1f 969d8d4b44e3f1a9c193a152a4d83a303e56d2dbb871fc920c47a33f699cf018 -lib/codeql/swift/generated/ParentChild.qll 4d697f5372ad82380dc375a59fa0619ee56c7d88be58530147cd8e160262bbe3 e164b712a41f20d0b9986804cd753fb5e55ceb55139234d98bdb332a8f248db4 +lib/codeql/swift/generated/ParentChild.qll 7fdc133bdec6cc223d5ee85e757b02c5d2e1ab121bcf269bb48c8a12a31a61e9 d8dd6e21d290a293db4db510b1523a9ea428b12f48b7574f03acf00b9ca065ef lib/codeql/swift/generated/PureSynthConstructors.qll bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 -lib/codeql/swift/generated/Raw.qll f7dd5c3eb1afba1077dd6c291502e2b5dd5d18000ee581f7e3ad4f0050165c69 f042929df4651dfe587769cd3f539d07f97328c2fe17fbe19cbb8e4fbefe97f2 -lib/codeql/swift/generated/Synth.qll 6af0f5778c6c6a9d9a518c00707501c3fdb3ccaa96fa06793549c2b1f28c9cbb 575829e7a2a4c7619c6d98f1b7ec47d978d0b3d77d5c1a87eae5e9f98612ef5b +lib/codeql/swift/generated/Raw.qll 6adc2ec210e91051b6d3d6c84117b827f10dbea682a18b69348d1c6cdc53629c 9ff02fcca7a7b83c85303ffc6daa00ea392da6ce1f9cb389b5053b34d4a45e4c +lib/codeql/swift/generated/Synth.qll b0084d1f573ba1b10ec8a8fab169b15f15866ecb9a6aeeeac81553a442be28e3 09efe455f3fd6b8b983b30efbd797f09af46e6f5a1a1075801650528999ed938 lib/codeql/swift/generated/SynthConstructors.qll c40f01e1331bdbe238620a41d17409cefe34a6b23066708ef5d74f8631b54f48 c40f01e1331bdbe238620a41d17409cefe34a6b23066708ef5d74f8631b54f48 lib/codeql/swift/generated/UnknownFile.qll 247ddf2ebb49ce5ed4bf7bf91a969ddff37de6c78d43d8affccaf7eb586e06f2 452b29f0465ef45e978ef8b647b75e5a2a1e53f2a568fc003bc8f52f73b3fa4d lib/codeql/swift/generated/UnknownLocation.qll d871000b4f53ffca4f67ea23ca5626e5dcce125d62a4d4b9969e08cc974af6fc b05971d7774e60790362fb810fb7086314f40a2de747b8cb1bc823ec6494a4dd diff --git a/swift/ql/lib/codeql/swift/generated/ParentChild.qll b/swift/ql/lib/codeql/swift/generated/ParentChild.qll index 28b92e4902a..efed12bb5fe 100644 --- a/swift/ql/lib/codeql/swift/generated/ParentChild.qll +++ b/swift/ql/lib/codeql/swift/generated/ParentChild.qll @@ -45,7 +45,7 @@ private module Impl { ) { exists(int n, int nSpec | n = 0 and - nSpec = n + 1 + max(int i | i = -1 or exists(e.getSpec(i)) | i) and + nSpec = n + e.getNumberOfSpecs() and ( none() or @@ -66,7 +66,7 @@ private module Impl { ) { exists(int n, int nSubscriptArgument | n = 0 and - nSubscriptArgument = n + 1 + max(int i | i = -1 or exists(e.getSubscriptArgument(i)) | i) and + nSubscriptArgument = n + e.getNumberOfSubscriptArguments() and ( none() or @@ -100,7 +100,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -115,7 +115,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -130,8 +130,8 @@ private module Impl { ) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -149,7 +149,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -162,7 +162,7 @@ private module Impl { private Element getImmediateChildOfImportDecl(ImportDecl e, int index, string partialPredicateCall) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -177,7 +177,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -192,7 +192,7 @@ private module Impl { ) { exists(int n, int nMember, int nInit, int nPattern | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and nInit = nMember + 1 + max(int i | i = -1 or exists(e.getImmediateInit(i)) | i) and nPattern = nInit + 1 + max(int i | i = -1 or exists(e.getImmediatePattern(i)) | i) and ( @@ -215,7 +215,7 @@ private module Impl { ) { exists(int n, int nMember, int nMessage | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and nMessage = nMember + 1 and ( none() @@ -233,7 +233,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -248,7 +248,7 @@ private module Impl { ) { exists(int n, int nMember, int nBody | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and nBody = nMember + 1 and ( none() @@ -264,7 +264,7 @@ private module Impl { private Element getImmediateChildOfUsingDecl(UsingDecl e, int index, string partialPredicateCall) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -279,8 +279,8 @@ private module Impl { ) { exists(int n, int nMember, int nParam | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and - nParam = nMember + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nMember = n + e.getNumberOfMembers() and + nParam = nMember + e.getNumberOfParams() and ( none() or @@ -298,7 +298,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -311,8 +311,8 @@ private module Impl { private Element getImmediateChildOfMacroDecl(MacroDecl e, int index, string partialPredicateCall) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -330,7 +330,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -345,7 +345,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -362,12 +362,12 @@ private module Impl { int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and nSelfParam = nMember + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -397,12 +397,12 @@ private module Impl { int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and nSelfParam = nMember + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -428,7 +428,7 @@ private module Impl { private Element getImmediateChildOfModuleDecl(ModuleDecl e, int index, string partialPredicateCall) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -443,11 +443,10 @@ private module Impl { ) { exists(int n, int nMember, int nAccessor, int nGenericTypeParam, int nParam | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and - nAccessor = nMember + 1 + max(int i | i = -1 or exists(e.getAccessor(i)) | i) and - nGenericTypeParam = - nAccessor + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nParam = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and + nGenericTypeParam = nAccessor + e.getNumberOfGenericTypeParams() and + nParam = nGenericTypeParam + e.getNumberOfParams() and ( none() or @@ -471,12 +470,12 @@ private module Impl { int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and nSelfParam = nMember + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -504,7 +503,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -523,8 +522,8 @@ private module Impl { int nPropertyWrapperProjectionVar | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and - nAccessor = nMember + 1 + max(int i | i = -1 or exists(e.getAccessor(i)) | i) and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and nPropertyWrapperBackingVarBinding = nAccessor + 1 and nPropertyWrapperBackingVar = nPropertyWrapperBackingVarBinding + 1 and nPropertyWrapperProjectionVarBinding = nPropertyWrapperBackingVar + 1 and @@ -562,7 +561,7 @@ private module Impl { ) { exists(int n, int nMember | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nMember = n + e.getNumberOfMembers() and ( none() or @@ -579,12 +578,12 @@ private module Impl { int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and nSelfParam = nMember + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -612,8 +611,8 @@ private module Impl { ) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -634,8 +633,8 @@ private module Impl { int nPropertyWrapperLocalWrappedVar | n = 0 and - nMember = n + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and - nAccessor = nMember + 1 + max(int i | i = -1 or exists(e.getAccessor(i)) | i) and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and nPropertyWrapperBackingVarBinding = nAccessor + 1 and nPropertyWrapperBackingVar = nPropertyWrapperBackingVarBinding + 1 and nPropertyWrapperProjectionVarBinding = nPropertyWrapperBackingVar + 1 and @@ -683,8 +682,8 @@ private module Impl { ) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -700,8 +699,8 @@ private module Impl { private Element getImmediateChildOfClassDecl(ClassDecl e, int index, string partialPredicateCall) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -717,8 +716,8 @@ private module Impl { private Element getImmediateChildOfEnumDecl(EnumDecl e, int index, string partialPredicateCall) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -736,8 +735,8 @@ private module Impl { ) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -753,8 +752,8 @@ private module Impl { private Element getImmediateChildOfStructDecl(StructDecl e, int index, string partialPredicateCall) { exists(int n, int nGenericTypeParam, int nMember | n = 0 and - nGenericTypeParam = n + 1 + max(int i | i = -1 or exists(e.getGenericTypeParam(i)) | i) and - nMember = nGenericTypeParam + 1 + max(int i | i = -1 or exists(e.getMember(i)) | i) and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and ( none() or @@ -827,8 +826,8 @@ private module Impl { ) { exists(int n, int nBindingDecl, int nVariable, int nClosureBody | n = 0 and - nBindingDecl = n + 1 + max(int i | i = -1 or exists(e.getBindingDecl(i)) | i) and - nVariable = nBindingDecl + 1 + max(int i | i = -1 or exists(e.getVariable(i)) | i) and + nBindingDecl = n + e.getNumberOfBindingDecls() and + nVariable = nBindingDecl + e.getNumberOfVariables() and nClosureBody = nVariable + 1 and ( none() @@ -1040,7 +1039,7 @@ private module Impl { exists(int n, int nRoot, int nComponent | n = 0 and nRoot = n + 1 and - nComponent = nRoot + 1 + max(int i | i = -1 or exists(e.getComponent(i)) | i) and + nComponent = nRoot + e.getNumberOfComponents() and ( none() or @@ -1493,9 +1492,9 @@ private module Impl { exists(int n, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and nSelfParam = n + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -1528,7 +1527,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -1584,7 +1583,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -1797,9 +1796,9 @@ private module Impl { exists(int n, int nSelfParam, int nParam, int nBody, int nCapture | n = 0 and nSelfParam = n + 1 and - nParam = nSelfParam + 1 + max(int i | i = -1 or exists(e.getParam(i)) | i) and + nParam = nSelfParam + e.getNumberOfParams() and nBody = nParam + 1 and - nCapture = nBody + 1 + max(int i | i = -1 or exists(e.getCapture(i)) | i) and + nCapture = nBody + e.getNumberOfCaptures() and ( none() or @@ -2014,7 +2013,7 @@ private module Impl { ) { exists(int n, int nArgument | n = 0 and - nArgument = n + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = n + e.getNumberOfArguments() and ( none() or @@ -2070,7 +2069,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -2088,7 +2087,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -2140,7 +2139,7 @@ private module Impl { exists(int n, int nBase, int nArgument | n = 0 and nBase = n + 1 and - nArgument = nBase + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nBase + e.getNumberOfArguments() and ( none() or @@ -2286,7 +2285,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -2346,7 +2345,7 @@ private module Impl { exists(int n, int nFunction, int nArgument | n = 0 and nFunction = n + 1 and - nArgument = nFunction + 1 + max(int i | i = -1 or exists(e.getArgument(i)) | i) and + nArgument = nFunction + e.getNumberOfArguments() and ( none() or @@ -2578,7 +2577,7 @@ private module Impl { ) { exists(int n, int nElement | n = 0 and - nElement = n + 1 + max(int i | i = -1 or exists(e.getElement(i)) | i) and + nElement = n + e.getNumberOfElements() and ( none() or @@ -2591,7 +2590,7 @@ private module Impl { private Element getImmediateChildOfBraceStmt(BraceStmt e, int index, string partialPredicateCall) { exists(int n, int nVariable, int nElement | n = 0 and - nVariable = n + 1 + max(int i | i = -1 or exists(e.getVariable(i)) | i) and + nVariable = n + e.getNumberOfVariables() and nElement = nVariable + 1 + max(int i | i = -1 or exists(e.getImmediateElement(i)) | i) and ( none() @@ -2612,8 +2611,8 @@ private module Impl { private Element getImmediateChildOfCaseStmt(CaseStmt e, int index, string partialPredicateCall) { exists(int n, int nLabel, int nVariable, int nBody | n = 0 and - nLabel = n + 1 + max(int i | i = -1 or exists(e.getLabel(i)) | i) and - nVariable = nLabel + 1 + max(int i | i = -1 or exists(e.getVariable(i)) | i) and + nLabel = n + e.getNumberOfLabels() and + nVariable = nLabel + e.getNumberOfVariables() and nBody = nVariable + 1 and ( none() @@ -2732,7 +2731,7 @@ private module Impl { exists(int n, int nBody, int nCatch | n = 0 and nBody = n + 1 and - nCatch = nBody + 1 + max(int i | i = -1 or exists(e.getCatch(i)) | i) and + nCatch = nBody + e.getNumberOfCatches() and ( none() or @@ -2763,7 +2762,7 @@ private module Impl { int n, int nVariable, int nPattern, int nWhere, int nIteratorVar, int nNextCall, int nBody | n = 0 and - nVariable = n + 1 + max(int i | i = -1 or exists(e.getVariable(i)) | i) and + nVariable = n + e.getNumberOfVariables() and nPattern = nVariable + 1 and nWhere = nPattern + 1 and nIteratorVar = nWhere + 1 and @@ -2813,7 +2812,7 @@ private module Impl { exists(int n, int nExpr, int nCase | n = 0 and nExpr = n + 1 and - nCase = nExpr + 1 + max(int i | i = -1 or exists(e.getCase(i)) | i) and + nCase = nExpr + e.getNumberOfCases() and ( none() or diff --git a/swift/ql/lib/codeql/swift/generated/Raw.qll b/swift/ql/lib/codeql/swift/generated/Raw.qll index 39bc6ac7373..714579218bc 100644 --- a/swift/ql/lib/codeql/swift/generated/Raw.qll +++ b/swift/ql/lib/codeql/swift/generated/Raw.qll @@ -87,6 +87,8 @@ module Raw { string getText() { comments(this, result) } } + private Element getImmediateChildOfComment(Comment e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -94,6 +96,8 @@ module Raw { override string toString() { result = "DbFile" } } + private Element getImmediateChildOfDbFile(DbFile e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -101,6 +105,8 @@ module Raw { override string toString() { result = "DbLocation" } } + private Element getImmediateChildOfDbLocation(DbLocation e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -118,6 +124,8 @@ module Raw { int getKind() { diagnostics(this, _, result) } } + private Element getImmediateChildOfDiagnostics(Diagnostics e, int index) { none() } + /** * INTERNAL: Do not use. * The superclass of all elements indicating some kind of error. @@ -152,6 +160,23 @@ module Raw { * Gets the `index`th spec of this availability info (0-based). */ AvailabilitySpec getSpec(int index) { availability_info_specs(this, index, result) } + + /** + * Gets the number of specs of this availability info. + */ + int getNumberOfSpecs() { result = count(int i | availability_info_specs(this, i, _)) } + } + + private Element getImmediateChildOfAvailabilityInfo(AvailabilityInfo e, int index) { + exists(int n, int nSpec | + n = 0 and + nSpec = n + e.getNumberOfSpecs() and + ( + none() + or + result = e.getSpec(index - n) + ) + ) } /** @@ -180,6 +205,8 @@ module Raw { predicate isWildcard() { availability_spec_is_wildcard(this) } } + private Element getImmediateChildOfAvailabilitySpec(AvailabilitySpec e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -201,6 +228,11 @@ module Raw { */ ParamDecl getParam(int index) { callable_params(this, index, result) } + /** + * Gets the number of parameters of this callable. + */ + int getNumberOfParams() { result = count(int i | callable_params(this, i, _)) } + /** * Gets the body of this callable, if it exists. * @@ -212,6 +244,11 @@ module Raw { * Gets the `index`th capture of this callable (0-based). */ CapturedDecl getCapture(int index) { callable_captures(this, index, result) } + + /** + * Gets the number of captures of this callable. + */ + int getNumberOfCaptures() { result = count(int i | callable_captures(this, i, _)) } } /** @@ -243,6 +280,13 @@ module Raw { key_path_component_subscript_arguments(this, index, result) } + /** + * Gets the number of arguments to an array or dictionary subscript expression. + */ + int getNumberOfSubscriptArguments() { + result = count(int i | key_path_component_subscript_arguments(this, i, _)) + } + /** * Gets the tuple index of this key path component, if it exists. */ @@ -263,6 +307,18 @@ module Raw { Type getComponentType() { key_path_components(this, _, result) } } + private Element getImmediateChildOfKeyPathComponent(KeyPathComponent e, int index) { + exists(int n, int nSubscriptArgument | + n = 0 and + nSubscriptArgument = n + e.getNumberOfSubscriptArguments() and + ( + none() + or + result = e.getSubscriptArgument(index - n) + ) + ) + } + /** * INTERNAL: Do not use. * The role of a macro, for example #freestanding(declaration) or @attached(member). @@ -285,12 +341,24 @@ module Raw { */ Expr getConformance(int index) { macro_role_conformances(this, index, result) } + /** + * Gets the number of conformances of this macro role. + */ + int getNumberOfConformances() { result = count(int i | macro_role_conformances(this, i, _)) } + /** * Gets the `index`th name of this macro role (0-based). */ string getName(int index) { macro_role_names(this, index, result) } + + /** + * Gets the number of names of this macro role. + */ + int getNumberOfNames() { result = count(int i | macro_role_names(this, i, _)) } } + private Element getImmediateChildOfMacroRole(MacroRole e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -323,6 +391,23 @@ module Raw { * These will be present only in certain downgraded databases. */ AstNode getChild(int index) { unspecified_element_children(this, index, result) } + + /** + * Gets the number of children of this unspecified element. + */ + int getNumberOfChildren() { result = count(int i | unspecified_element_children(this, i, _)) } + } + + private Element getImmediateChildOfUnspecifiedElement(UnspecifiedElement e, int index) { + exists(int n, int nChild | + n = 0 and + nChild = n + e.getNumberOfChildren() and + ( + none() + or + result = e.getChild(index - n) + ) + ) } /** @@ -342,6 +427,11 @@ module Raw { * align with expectations, and could change in future releases. */ Decl getMember(int index) { decl_members(this, index, result) } + + /** + * Gets the number of members of this declaration. + */ + int getNumberOfMembers() { result = count(int i | decl_members(this, i, _)) } } /** @@ -354,6 +444,13 @@ module Raw { GenericTypeParamDecl getGenericTypeParam(int index) { generic_context_generic_type_params(this, index, result) } + + /** + * Gets the number of generic type parameters of this generic context. + */ + int getNumberOfGenericTypeParams() { + result = count(int i | generic_context_generic_type_params(this, i, _)) + } } /** @@ -378,6 +475,18 @@ module Raw { predicate isEscaping() { captured_decl_is_escaping(this) } } + private Element getImmediateChildOfCapturedDecl(CapturedDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -388,6 +497,23 @@ module Raw { * Gets the `index`th element of this enum case declaration (0-based). */ EnumElementDecl getElement(int index) { enum_case_decl_elements(this, index, result) } + + /** + * Gets the number of elements of this enum case declaration. + */ + int getNumberOfElements() { result = count(int i | enum_case_decl_elements(this, i, _)) } + } + + private Element getImmediateChildOfEnumCaseDecl(EnumCaseDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) } /** @@ -405,6 +531,26 @@ module Raw { * Gets the `index`th protocol of this extension declaration (0-based). */ ProtocolDecl getProtocol(int index) { extension_decl_protocols(this, index, result) } + + /** + * Gets the number of protocols of this extension declaration. + */ + int getNumberOfProtocols() { result = count(int i | extension_decl_protocols(this, i, _)) } + } + + private Element getImmediateChildOfExtensionDecl(ExtensionDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) } /** @@ -417,6 +563,25 @@ module Raw { * Gets the `index`th active element of this if config declaration (0-based). */ AstNode getActiveElement(int index) { if_config_decl_active_elements(this, index, result) } + + /** + * Gets the number of active elements of this if config declaration. + */ + int getNumberOfActiveElements() { + result = count(int i | if_config_decl_active_elements(this, i, _)) + } + } + + private Element getImmediateChildOfIfConfigDecl(IfConfigDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) } /** @@ -439,6 +604,23 @@ module Raw { * Gets the `index`th declaration of this import declaration (0-based). */ ValueDecl getDeclaration(int index) { import_decl_declarations(this, index, result) } + + /** + * Gets the number of declarations of this import declaration. + */ + int getNumberOfDeclarations() { result = count(int i | import_decl_declarations(this, i, _)) } + } + + private Element getImmediateChildOfImportDecl(ImportDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) } /** @@ -454,6 +636,18 @@ module Raw { string getName() { missing_member_decls(this, result) } } + private Element getImmediateChildOfMissingMemberDecl(MissingMemberDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -475,10 +669,38 @@ module Raw { */ Expr getInit(int index) { pattern_binding_decl_inits(this, index, result) } + /** + * Gets the number of inits of this pattern binding declaration. + */ + int getNumberOfInits() { result = count(int i | pattern_binding_decl_inits(this, i, _)) } + /** * Gets the `index`th pattern of this pattern binding declaration (0-based). */ Pattern getPattern(int index) { pattern_binding_decl_patterns(this, index, result) } + + /** + * Gets the number of patterns of this pattern binding declaration. + */ + int getNumberOfPatterns() { result = count(int i | pattern_binding_decl_patterns(this, i, _)) } + } + + private Element getImmediateChildOfPatternBindingDecl(PatternBindingDecl e, int index) { + exists(int n, int nMember, int nInit, int nPattern | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nInit = nMember + e.getNumberOfInits() and + nPattern = nInit + e.getNumberOfPatterns() and + ( + none() + or + result = e.getMember(index - n) + or + result = e.getInit(index - nMember) + or + result = e.getPattern(index - nInit) + ) + ) } /** @@ -501,6 +723,21 @@ module Raw { StringLiteralExpr getMessage() { pound_diagnostic_decls(this, _, result) } } + private Element getImmediateChildOfPoundDiagnosticDecl(PoundDiagnosticDecl e, int index) { + exists(int n, int nMember, int nMessage | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nMessage = nMember + 1 and + ( + none() + or + result = e.getMember(index - n) + or + index = nMember and result = e.getMessage() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -508,6 +745,18 @@ module Raw { override string toString() { result = "PrecedenceGroupDecl" } } + private Element getImmediateChildOfPrecedenceGroupDecl(PrecedenceGroupDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -520,6 +769,21 @@ module Raw { BraceStmt getBody() { top_level_code_decls(this, result) } } + private Element getImmediateChildOfTopLevelCodeDecl(TopLevelCodeDecl e, int index) { + exists(int n, int nMember, int nBody | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nBody = nMember + 1 and + ( + none() + or + result = e.getMember(index - n) + or + index = nMember and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -537,6 +801,18 @@ module Raw { predicate isNonisolated() { using_decl_is_nonisolated(this) } } + private Element getImmediateChildOfUsingDecl(UsingDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -555,6 +831,13 @@ module Raw { * Gets the `index`th accessor of this abstract storage declaration (0-based). */ Accessor getAccessor(int index) { abstract_storage_decl_accessors(this, index, result) } + + /** + * Gets the number of accessors of this abstract storage declaration. + */ + int getNumberOfAccessors() { + result = count(int i | abstract_storage_decl_accessors(this, i, _)) + } } /** @@ -572,6 +855,26 @@ module Raw { * Gets the `index`th parameter of this enum element declaration (0-based). */ ParamDecl getParam(int index) { enum_element_decl_params(this, index, result) } + + /** + * Gets the number of parameters of this enum element declaration. + */ + int getNumberOfParams() { result = count(int i | enum_element_decl_params(this, i, _)) } + } + + private Element getImmediateChildOfEnumElementDecl(EnumElementDecl e, int index) { + exists(int n, int nMember, int nParam | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nParam = nMember + e.getNumberOfParams() and + ( + none() + or + result = e.getMember(index - n) + or + result = e.getParam(index - nMember) + ) + ) } /** @@ -591,6 +894,18 @@ module Raw { PrecedenceGroupDecl getPrecedenceGroup() { infix_operator_decl_precedence_groups(this, result) } } + private Element getImmediateChildOfInfixOperatorDecl(InfixOperatorDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. * A declaration of a macro. Some examples: @@ -617,10 +932,35 @@ module Raw { */ ParamDecl getParameter(int index) { macro_decl_parameters(this, index, result) } + /** + * Gets the number of parameters of this macro. + */ + int getNumberOfParameters() { result = count(int i | macro_decl_parameters(this, i, _)) } + /** * Gets the `index`th role of this macro (0-based). */ MacroRole getRole(int index) { macro_decl_roles(this, index, result) } + + /** + * Gets the number of roles of this macro. + */ + int getNumberOfRoles() { result = count(int i | macro_decl_roles(this, i, _)) } + } + + private Element getImmediateChildOfMacroDecl(MacroDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) } /** @@ -630,6 +970,18 @@ module Raw { override string toString() { result = "PostfixOperatorDecl" } } + private Element getImmediateChildOfPostfixOperatorDecl(PostfixOperatorDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -637,6 +989,18 @@ module Raw { override string toString() { result = "PrefixOperatorDecl" } } + private Element getImmediateChildOfPrefixOperatorDecl(PrefixOperatorDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -653,6 +1017,13 @@ module Raw { * will not resolve `TypeAliasDecl`s or consider base types added by extensions. */ Type getInheritedType(int index) { type_decl_inherited_types(this, index, result) } + + /** + * Gets the number of inherited types of this type declaration. + */ + int getNumberOfInheritedTypes() { + result = count(int i | type_decl_inherited_types(this, i, _)) + } } /** @@ -672,6 +1043,35 @@ module Raw { override string toString() { result = "Deinitializer" } } + private Element getImmediateChildOfDeinitializer(Deinitializer e, int index) { + exists( + int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture + | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + nSelfParam = nMember + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + or + index = nMember and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -684,6 +1084,35 @@ module Raw { override string toString() { result = "Initializer" } } + private Element getImmediateChildOfInitializer(Initializer e, int index) { + exists( + int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture + | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + nSelfParam = nMember + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + or + index = nMember and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -713,6 +1142,18 @@ module Raw { ModuleDecl getAnExportedModule() { module_decl_exported_modules(this, result) } } + private Element getImmediateChildOfModuleDecl(ModuleDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -724,12 +1165,38 @@ module Raw { */ ParamDecl getParam(int index) { subscript_decl_params(this, index, result) } + /** + * Gets the number of parameters of this subscript declaration. + */ + int getNumberOfParams() { result = count(int i | subscript_decl_params(this, i, _)) } + /** * Gets the element type of this subscript declaration. */ Type getElementType() { subscript_decls(this, result) } } + private Element getImmediateChildOfSubscriptDecl(SubscriptDecl e, int index) { + exists(int n, int nMember, int nAccessor, int nGenericTypeParam, int nParam | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and + nGenericTypeParam = nAccessor + e.getNumberOfGenericTypeParams() and + nParam = nGenericTypeParam + e.getNumberOfParams() and + ( + none() + or + result = e.getMember(index - n) + or + result = e.getAccessor(index - nMember) + or + result = e.getGenericTypeParam(index - nAccessor) + or + result = e.getParam(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. * A declaration of a variable such as @@ -913,6 +1380,35 @@ module Raw { predicate isInit() { accessor_is_init(this) } } + private Element getImmediateChildOfAccessor(Accessor e, int index) { + exists( + int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture + | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + nSelfParam = nMember + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + or + index = nMember and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -920,6 +1416,18 @@ module Raw { override string toString() { result = "AssociatedTypeDecl" } } + private Element getImmediateChildOfAssociatedTypeDecl(AssociatedTypeDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -934,6 +1442,38 @@ module Raw { int getIntroducerInt() { concrete_var_decls(this, result) } } + private Element getImmediateChildOfConcreteVarDecl(ConcreteVarDecl e, int index) { + exists( + int n, int nMember, int nAccessor, int nPropertyWrapperBackingVarBinding, + int nPropertyWrapperBackingVar, int nPropertyWrapperProjectionVarBinding, + int nPropertyWrapperProjectionVar + | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and + nPropertyWrapperBackingVarBinding = nAccessor + 1 and + nPropertyWrapperBackingVar = nPropertyWrapperBackingVarBinding + 1 and + nPropertyWrapperProjectionVarBinding = nPropertyWrapperBackingVar + 1 and + nPropertyWrapperProjectionVar = nPropertyWrapperProjectionVarBinding + 1 and + ( + none() + or + result = e.getMember(index - n) + or + result = e.getAccessor(index - nMember) + or + index = nAccessor and result = e.getPropertyWrapperBackingVarBinding() + or + index = nPropertyWrapperBackingVarBinding and result = e.getPropertyWrapperBackingVar() + or + index = nPropertyWrapperBackingVar and result = e.getPropertyWrapperProjectionVarBinding() + or + index = nPropertyWrapperProjectionVarBinding and + result = e.getPropertyWrapperProjectionVar() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -941,6 +1481,18 @@ module Raw { override string toString() { result = "GenericTypeParamDecl" } } + private Element getImmediateChildOfGenericTypeParamDecl(GenericTypeParamDecl e, int index) { + exists(int n, int nMember | + n = 0 and + nMember = n + e.getNumberOfMembers() and + ( + none() + or + result = e.getMember(index - n) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -948,6 +1500,35 @@ module Raw { override string toString() { result = "NamedFunction" } } + private Element getImmediateChildOfNamedFunction(NamedFunction e, int index) { + exists( + int n, int nGenericTypeParam, int nMember, int nSelfParam, int nParam, int nBody, int nCapture + | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + nSelfParam = nMember + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + or + index = nMember and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -984,6 +1565,28 @@ module Raw { GenericTypeParamType getOpaqueGenericParam(int index) { opaque_type_decl_opaque_generic_params(this, index, result) } + + /** + * Gets the number of opaque generic parameters of this opaque type declaration. + */ + int getNumberOfOpaqueGenericParams() { + result = count(int i | opaque_type_decl_opaque_generic_params(this, i, _)) + } + } + + private Element getImmediateChildOfOpaqueTypeDecl(OpaqueTypeDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) } /** @@ -1018,6 +1621,47 @@ module Raw { } } + private Element getImmediateChildOfParamDecl(ParamDecl e, int index) { + exists( + int n, int nMember, int nAccessor, int nPropertyWrapperBackingVarBinding, + int nPropertyWrapperBackingVar, int nPropertyWrapperProjectionVarBinding, + int nPropertyWrapperProjectionVar, int nPropertyWrapperLocalWrappedVarBinding, + int nPropertyWrapperLocalWrappedVar + | + n = 0 and + nMember = n + e.getNumberOfMembers() and + nAccessor = nMember + e.getNumberOfAccessors() and + nPropertyWrapperBackingVarBinding = nAccessor + 1 and + nPropertyWrapperBackingVar = nPropertyWrapperBackingVarBinding + 1 and + nPropertyWrapperProjectionVarBinding = nPropertyWrapperBackingVar + 1 and + nPropertyWrapperProjectionVar = nPropertyWrapperProjectionVarBinding + 1 and + nPropertyWrapperLocalWrappedVarBinding = nPropertyWrapperProjectionVar + 1 and + nPropertyWrapperLocalWrappedVar = nPropertyWrapperLocalWrappedVarBinding + 1 and + ( + none() + or + result = e.getMember(index - n) + or + result = e.getAccessor(index - nMember) + or + index = nAccessor and result = e.getPropertyWrapperBackingVarBinding() + or + index = nPropertyWrapperBackingVarBinding and result = e.getPropertyWrapperBackingVar() + or + index = nPropertyWrapperBackingVar and result = e.getPropertyWrapperProjectionVarBinding() + or + index = nPropertyWrapperProjectionVarBinding and + result = e.getPropertyWrapperProjectionVar() + or + index = nPropertyWrapperProjectionVar and + result = e.getPropertyWrapperLocalWrappedVarBinding() + or + index = nPropertyWrapperLocalWrappedVarBinding and + result = e.getPropertyWrapperLocalWrappedVar() + ) + ) + } + /** * INTERNAL: Do not use. * A declaration of a type alias to another type. For example: @@ -1039,6 +1683,21 @@ module Raw { Type getAliasedType() { type_alias_decls(this, result) } } + private Element getImmediateChildOfTypeAliasDecl(TypeAliasDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1046,6 +1705,21 @@ module Raw { override string toString() { result = "ClassDecl" } } + private Element getImmediateChildOfClassDecl(ClassDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1053,6 +1727,21 @@ module Raw { override string toString() { result = "EnumDecl" } } + private Element getImmediateChildOfEnumDecl(EnumDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1060,6 +1749,21 @@ module Raw { override string toString() { result = "ProtocolDecl" } } + private Element getImmediateChildOfProtocolDecl(ProtocolDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1067,6 +1771,21 @@ module Raw { override string toString() { result = "StructDecl" } } + private Element getImmediateChildOfStructDecl(StructDecl e, int index) { + exists(int n, int nGenericTypeParam, int nMember | + n = 0 and + nGenericTypeParam = n + e.getNumberOfGenericTypeParams() and + nMember = nGenericTypeParam + e.getNumberOfMembers() and + ( + none() + or + result = e.getGenericTypeParam(index - n) + or + result = e.getMember(index - nGenericTypeParam) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1084,6 +1803,18 @@ module Raw { Expr getExpr() { arguments(this, _, result) } } + private Element getImmediateChildOfArgument(Argument e, int index) { + exists(int n, int nExpr | + n = 0 and + nExpr = n + 1 and + ( + none() + or + index = n and result = e.getExpr() + ) + ) + } + /** * INTERNAL: Do not use. * The base class for all expressions in Swift. @@ -1132,6 +1863,20 @@ module Raw { ParamDecl getParam() { applied_property_wrapper_exprs(this, _, _, result) } } + private Element getImmediateChildOfAppliedPropertyWrapperExpr( + AppliedPropertyWrapperExpr e, int index + ) { + exists(int n, int nValue | + n = 0 and + nValue = n + 1 and + ( + none() + or + index = n and result = e.getValue() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1145,6 +1890,11 @@ module Raw { * Gets the `index`th argument passed to the applied function (0-based). */ Argument getArgument(int index) { apply_expr_arguments(this, index, result) } + + /** + * Gets the number of arguments passed to the applied function. + */ + int getNumberOfArguments() { result = count(int i | apply_expr_arguments(this, i, _)) } } /** @@ -1164,6 +1914,21 @@ module Raw { Expr getSource() { assign_exprs(this, _, result) } } + private Element getImmediateChildOfAssignExpr(AssignExpr e, int index) { + exists(int n, int nDest, int nSource | + n = 0 and + nDest = n + 1 and + nSource = nDest + 1 and + ( + none() + or + index = n and result = e.getDest() + or + index = nDest and result = e.getSource() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1176,6 +1941,18 @@ module Raw { Expr getSubExpr() { bind_optional_exprs(this, result) } } + private Element getImmediateChildOfBindOptionalExpr(BindOptionalExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1189,12 +1966,35 @@ module Raw { capture_list_expr_binding_decls(this, index, result) } + /** + * Gets the number of binding declarations of this capture list expression. + */ + int getNumberOfBindingDecls() { + result = count(int i | capture_list_expr_binding_decls(this, i, _)) + } + /** * Gets the closure body of this capture list expression. */ ClosureExpr getClosureBody() { capture_list_exprs(this, result) } } + private Element getImmediateChildOfCaptureListExpr(CaptureListExpr e, int index) { + exists(int n, int nBindingDecl, int nVariable, int nClosureBody | + n = 0 and + nBindingDecl = n + e.getNumberOfBindingDecls() and + nVariable = nBindingDecl and + nClosureBody = nVariable + 1 and + ( + none() + or + result = e.getBindingDecl(index - n) + or + index = nVariable and result = e.getClosureBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1223,6 +2023,18 @@ module Raw { Expr getSubExpr() { consume_exprs(this, result) } } + private Element getImmediateChildOfConsumeExpr(ConsumeExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * An expression that forces value to be copied. In the example below, `copy` marks the copy expression: @@ -1241,6 +2053,18 @@ module Raw { Expr getSubExpr() { copy_exprs(this, result) } } + private Element getImmediateChildOfCopyExpr(CopyExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * An expression that extracts the actor isolation of the current context, of type `(any Actor)?`. @@ -1256,6 +2080,12 @@ module Raw { Expr getActor() { current_context_isolation_exprs(this, result) } } + private Element getImmediateChildOfCurrentContextIsolationExpr( + CurrentContextIsolationExpr e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1272,6 +2102,13 @@ module Raw { */ Type getReplacementType(int index) { decl_ref_expr_replacement_types(this, index, result) } + /** + * Gets the number of replacement types of this declaration reference expression. + */ + int getNumberOfReplacementTypes() { + result = count(int i | decl_ref_expr_replacement_types(this, i, _)) + } + /** * Holds if this declaration reference expression has direct to storage semantics. */ @@ -1295,6 +2132,8 @@ module Raw { predicate hasDistributedThunkSemantics() { decl_ref_expr_has_distributed_thunk_semantics(this) } } + private Element getImmediateChildOfDeclRefExpr(DeclRefExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -1317,6 +2156,10 @@ module Raw { Expr getCallerSideDefault() { default_argument_expr_caller_side_defaults(this, result) } } + private Element getImmediateChildOfDefaultArgumentExpr(DefaultArgumentExpr e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1324,6 +2167,10 @@ module Raw { override string toString() { result = "DiscardAssignmentExpr" } } + private Element getImmediateChildOfDiscardAssignmentExpr(DiscardAssignmentExpr e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1341,6 +2188,21 @@ module Raw { Expr getSubExpr() { dot_syntax_base_ignored_exprs(this, _, result) } } + private Element getImmediateChildOfDotSyntaxBaseIgnoredExpr(DotSyntaxBaseIgnoredExpr e, int index) { + exists(int n, int nQualifier, int nSubExpr | + n = 0 and + nQualifier = n + 1 and + nSubExpr = nQualifier + 1 and + ( + none() + or + index = n and result = e.getQualifier() + or + index = nQualifier and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1353,6 +2215,18 @@ module Raw { Expr getBase() { dynamic_type_exprs(this, result) } } + private Element getImmediateChildOfDynamicTypeExpr(DynamicTypeExpr e, int index) { + exists(int n, int nBase | + n = 0 and + nBase = n + 1 and + ( + none() + or + index = n and result = e.getBase() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1370,6 +2244,18 @@ module Raw { EnumElementDecl getElement() { enum_is_case_exprs(this, _, result) } } + private Element getImmediateChildOfEnumIsCaseExpr(EnumIsCaseExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1377,6 +2263,8 @@ module Raw { override string toString() { result = "ErrorExpr" } } + private Element getImmediateChildOfErrorExpr(ErrorExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -1408,6 +2296,20 @@ module Raw { Expr getFunctionExpr() { extract_function_isolation_exprs(this, result) } } + private Element getImmediateChildOfExtractFunctionIsolationExpr( + ExtractFunctionIsolationExpr e, int index + ) { + exists(int n, int nFunctionExpr | + n = 0 and + nFunctionExpr = n + 1 and + ( + none() + or + index = n and result = e.getFunctionExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1420,6 +2322,18 @@ module Raw { Expr getSubExpr() { force_value_exprs(this, result) } } + private Element getImmediateChildOfForceValueExpr(ForceValueExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1452,6 +2366,24 @@ module Raw { Expr getElseExpr() { if_exprs(this, _, _, result) } } + private Element getImmediateChildOfIfExpr(IfExpr e, int index) { + exists(int n, int nCondition, int nThenExpr, int nElseExpr | + n = 0 and + nCondition = n + 1 and + nThenExpr = nCondition + 1 and + nElseExpr = nThenExpr + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getThenExpr() + or + index = nThenExpr and result = e.getElseExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1474,6 +2406,18 @@ module Raw { Expr getSubExpr() { in_out_exprs(this, result) } } + private Element getImmediateChildOfInOutExpr(InOutExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1491,6 +2435,21 @@ module Raw { Expr getKeyPath() { key_path_application_exprs(this, _, result) } } + private Element getImmediateChildOfKeyPathApplicationExpr(KeyPathApplicationExpr e, int index) { + exists(int n, int nBase, int nKeyPath | + n = 0 and + nBase = n + 1 and + nKeyPath = nBase + 1 and + ( + none() + or + index = n and result = e.getBase() + or + index = nBase and result = e.getKeyPath() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1498,6 +2457,8 @@ module Raw { override string toString() { result = "KeyPathDotExpr" } } + private Element getImmediateChildOfKeyPathDotExpr(KeyPathDotExpr e, int index) { none() } + /** * INTERNAL: Do not use. * A key-path expression. @@ -1514,6 +2475,26 @@ module Raw { * Gets the `index`th component of this key path expression (0-based). */ KeyPathComponent getComponent(int index) { key_path_expr_components(this, index, result) } + + /** + * Gets the number of components of this key path expression. + */ + int getNumberOfComponents() { result = count(int i | key_path_expr_components(this, i, _)) } + } + + private Element getImmediateChildOfKeyPathExpr(KeyPathExpr e, int index) { + exists(int n, int nRoot, int nComponent | + n = 0 and + nRoot = n + 1 and + nComponent = nRoot + e.getNumberOfComponents() and + ( + none() + or + index = n and result = e.getRoot() + or + result = e.getComponent(index - nRoot) + ) + ) } /** @@ -1528,6 +2509,18 @@ module Raw { Expr getSubExpr() { lazy_initialization_exprs(this, result) } } + private Element getImmediateChildOfLazyInitializationExpr(LazyInitializationExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1570,6 +2563,26 @@ module Raw { Expr getSubExpr() { make_temporarily_escapable_exprs(this, _, _, result) } } + private Element getImmediateChildOfMakeTemporarilyEscapableExpr( + MakeTemporarilyEscapableExpr e, int index + ) { + exists(int n, int nEscapingClosure, int nNonescapingClosure, int nSubExpr | + n = 0 and + nEscapingClosure = n + 1 and + nNonescapingClosure = nEscapingClosure + 1 and + nSubExpr = nNonescapingClosure + 1 and + ( + none() + or + index = n and result = e.getEscapingClosure() + or + index = nEscapingClosure and result = e.getNonescapingClosure() + or + index = nNonescapingClosure and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * An expression that materializes a pack during expansion. Appears around PackExpansionExpr. @@ -1586,6 +2599,18 @@ module Raw { Expr getSubExpr() { materialize_pack_exprs(this, result) } } + private Element getImmediateChildOfMaterializePackExpr(MaterializePackExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1603,6 +2628,18 @@ module Raw { Function getMethod() { obj_c_selector_exprs(this, _, result) } } + private Element getImmediateChildOfObjCSelectorExpr(ObjCSelectorExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1615,6 +2652,18 @@ module Raw { Expr getSubExpr() { one_way_exprs(this, result) } } + private Element getImmediateChildOfOneWayExpr(OneWayExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1622,6 +2671,8 @@ module Raw { override string toString() { result = "OpaqueValueExpr" } } + private Element getImmediateChildOfOpaqueValueExpr(OpaqueValueExpr e, int index) { none() } + /** * INTERNAL: Do not use. * An implicit expression created by the compiler when a method is called on a protocol. For example in @@ -1657,6 +2708,21 @@ module Raw { OpaqueValueExpr getOpaqueExpr() { open_existential_exprs(this, _, _, result) } } + private Element getImmediateChildOfOpenExistentialExpr(OpenExistentialExpr e, int index) { + exists(int n, int nSubExpr, int nExistential | + n = 0 and + nSubExpr = n + 1 and + nExistential = nSubExpr + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + or + index = nSubExpr and result = e.getExistential() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1669,6 +2735,18 @@ module Raw { Expr getSubExpr() { optional_evaluation_exprs(this, result) } } + private Element getImmediateChildOfOptionalEvaluationExpr(OptionalEvaluationExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1681,6 +2759,10 @@ module Raw { Initializer getInitializer() { other_initializer_ref_exprs(this, result) } } + private Element getImmediateChildOfOtherInitializerRefExpr(OtherInitializerRefExpr e, int index) { + none() + } + /** * INTERNAL: Do not use. * An ambiguous expression that might refer to multiple declarations. This will be present only @@ -1695,6 +2777,17 @@ module Raw { ValueDecl getPossibleDeclaration(int index) { overloaded_decl_ref_expr_possible_declarations(this, index, result) } + + /** + * Gets the number of possible declarations of this overloaded declaration reference expression. + */ + int getNumberOfPossibleDeclarations() { + result = count(int i | overloaded_decl_ref_expr_possible_declarations(this, i, _)) + } + } + + private Element getImmediateChildOfOverloadedDeclRefExpr(OverloadedDeclRefExpr e, int index) { + none() } /** @@ -1720,6 +2813,18 @@ module Raw { Expr getSubExpr() { pack_element_exprs(this, result) } } + private Element getImmediateChildOfPackElementExpr(PackElementExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A pack expansion expression. @@ -1743,6 +2848,18 @@ module Raw { Expr getPatternExpr() { pack_expansion_exprs(this, result) } } + private Element getImmediateChildOfPackExpansionExpr(PackExpansionExpr e, int index) { + exists(int n, int nPatternExpr | + n = 0 and + nPatternExpr = n + 1 and + ( + none() + or + index = n and result = e.getPatternExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A placeholder substituting property initializations with `=` when the property has a property @@ -1762,6 +2879,12 @@ module Raw { OpaqueValueExpr getPlaceholder() { property_wrapper_value_placeholder_exprs(this, result) } } + private Element getImmediateChildOfPropertyWrapperValuePlaceholderExpr( + PropertyWrapperValuePlaceholderExpr e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1779,6 +2902,20 @@ module Raw { VarDecl getSelf() { rebind_self_in_initializer_exprs(this, _, result) } } + private Element getImmediateChildOfRebindSelfInInitializerExpr( + RebindSelfInInitializerExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1789,6 +2926,23 @@ module Raw { * Gets the `index`th element of this sequence expression (0-based). */ Expr getElement(int index) { sequence_expr_elements(this, index, result) } + + /** + * Gets the number of elements of this sequence expression. + */ + int getNumberOfElements() { result = count(int i | sequence_expr_elements(this, i, _)) } + } + + private Element getImmediateChildOfSequenceExpr(SequenceExpr e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -1804,6 +2958,18 @@ module Raw { Stmt getStmt() { single_value_stmt_exprs(this, result) } } + private Element getImmediateChildOfSingleValueStmtExpr(SingleValueStmtExpr e, int index) { + exists(int n, int nStmt | + n = 0 and + nStmt = n + 1 and + ( + none() + or + index = n and result = e.getStmt() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1816,6 +2982,8 @@ module Raw { VarDecl getSelf() { super_ref_exprs(this, result) } } + private Element getImmediateChildOfSuperRefExpr(SuperRefExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -1838,6 +3006,21 @@ module Raw { VarDecl getVar() { tap_exprs(this, _, result) } } + private Element getImmediateChildOfTapExpr(TapExpr e, int index) { + exists(int n, int nSubExpr, int nBody | + n = 0 and + nSubExpr = n + 1 and + nBody = nSubExpr + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + or + index = nSubExpr and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1855,6 +3038,18 @@ module Raw { int getIndex() { tuple_element_exprs(this, _, result) } } + private Element getImmediateChildOfTupleElementExpr(TupleElementExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1865,6 +3060,23 @@ module Raw { * Gets the `index`th element of this tuple expression (0-based). */ Expr getElement(int index) { tuple_expr_elements(this, index, result) } + + /** + * Gets the number of elements of this tuple expression. + */ + int getNumberOfElements() { result = count(int i | tuple_expr_elements(this, i, _)) } + } + + private Element getImmediateChildOfTupleExpr(TupleExpr e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -1879,6 +3091,18 @@ module Raw { TypeRepr getTypeRepr() { type_expr_type_reprs(this, result) } } + private Element getImmediateChildOfTypeExpr(TypeExpr e, int index) { + exists(int n, int nTypeRepr | + n = 0 and + nTypeRepr = n + 1 and + ( + none() + or + index = n and result = e.getTypeRepr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1891,6 +3115,18 @@ module Raw { TypeRepr getTypeRepr() { type_value_exprs(this, result) } } + private Element getImmediateChildOfTypeValueExpr(TypeValueExpr e, int index) { + exists(int n, int nTypeRepr | + n = 0 and + nTypeRepr = n + 1 and + ( + none() + or + index = n and result = e.getTypeRepr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1903,6 +3139,10 @@ module Raw { string getName() { unresolved_decl_ref_expr_names(this, result) } } + private Element getImmediateChildOfUnresolvedDeclRefExpr(UnresolvedDeclRefExpr e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1920,6 +3160,18 @@ module Raw { string getName() { unresolved_dot_exprs(this, _, result) } } + private Element getImmediateChildOfUnresolvedDotExpr(UnresolvedDotExpr e, int index) { + exists(int n, int nBase | + n = 0 and + nBase = n + 1 and + ( + none() + or + index = n and result = e.getBase() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1932,6 +3184,10 @@ module Raw { string getName() { unresolved_member_exprs(this, result) } } + private Element getImmediateChildOfUnresolvedMemberExpr(UnresolvedMemberExpr e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -1944,6 +3200,18 @@ module Raw { Pattern getSubPattern() { unresolved_pattern_exprs(this, result) } } + private Element getImmediateChildOfUnresolvedPatternExpr(UnresolvedPatternExpr e, int index) { + exists(int n, int nSubPattern | + n = 0 and + nSubPattern = n + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1956,6 +3224,18 @@ module Raw { Expr getSubExpr() { unresolved_specialize_exprs(this, result) } } + private Element getImmediateChildOfUnresolvedSpecializeExpr(UnresolvedSpecializeExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1968,6 +3248,18 @@ module Raw { Expr getSubExpr() { vararg_expansion_exprs(this, result) } } + private Element getImmediateChildOfVarargExpansionExpr(VarargExpansionExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1975,6 +3267,18 @@ module Raw { override string toString() { result = "AbiSafeConversionExpr" } } + private Element getImmediateChildOfAbiSafeConversionExpr(AbiSafeConversionExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A conversion that erases the actor isolation of an expression with `@isolated(any)` function @@ -1984,6 +3288,20 @@ module Raw { override string toString() { result = "ActorIsolationErasureExpr" } } + private Element getImmediateChildOfActorIsolationErasureExpr( + ActorIsolationErasureExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1991,6 +3309,18 @@ module Raw { override string toString() { result = "AnyHashableErasureExpr" } } + private Element getImmediateChildOfAnyHashableErasureExpr(AnyHashableErasureExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -1998,6 +3328,18 @@ module Raw { override string toString() { result = "ArchetypeToSuperExpr" } } + private Element getImmediateChildOfArchetypeToSuperExpr(ArchetypeToSuperExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2008,6 +3350,23 @@ module Raw { * Gets the `index`th element of this array expression (0-based). */ Expr getElement(int index) { array_expr_elements(this, index, result) } + + /** + * Gets the number of elements of this array expression. + */ + int getNumberOfElements() { result = count(int i | array_expr_elements(this, i, _)) } + } + + private Element getImmediateChildOfArrayExpr(ArrayExpr e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -2017,6 +3376,18 @@ module Raw { override string toString() { result = "ArrayToPointerExpr" } } + private Element getImmediateChildOfArrayToPointerExpr(ArrayToPointerExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2024,6 +3395,27 @@ module Raw { override string toString() { result = "AutoClosureExpr" } } + private Element getImmediateChildOfAutoClosureExpr(AutoClosureExpr e, int index) { + exists(int n, int nSelfParam, int nParam, int nBody, int nCapture | + n = 0 and + nSelfParam = n + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + index = n and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2031,6 +3423,18 @@ module Raw { override string toString() { result = "AwaitExpr" } } + private Element getImmediateChildOfAwaitExpr(AwaitExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2038,6 +3442,21 @@ module Raw { override string toString() { result = "BinaryExpr" } } + private Element getImmediateChildOfBinaryExpr(BinaryExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. * An expression that marks value as borrowed. In the example below, `_borrow` marks the borrow expression: @@ -2051,6 +3470,18 @@ module Raw { override string toString() { result = "BorrowExpr" } } + private Element getImmediateChildOfBorrowExpr(BorrowExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2058,6 +3489,18 @@ module Raw { override string toString() { result = "BridgeFromObjCExpr" } } + private Element getImmediateChildOfBridgeFromObjCExpr(BridgeFromObjCExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2065,6 +3508,18 @@ module Raw { override string toString() { result = "BridgeToObjCExpr" } } + private Element getImmediateChildOfBridgeToObjCExpr(BridgeToObjCExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2077,6 +3532,21 @@ module Raw { override string toString() { result = "CallExpr" } } + private Element getImmediateChildOfCallExpr(CallExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2089,6 +3559,20 @@ module Raw { override string toString() { result = "ClassMetatypeToObjectExpr" } } + private Element getImmediateChildOfClassMetatypeToObjectExpr( + ClassMetatypeToObjectExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2096,6 +3580,18 @@ module Raw { override string toString() { result = "CoerceExpr" } } + private Element getImmediateChildOfCoerceExpr(CoerceExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2105,6 +3601,20 @@ module Raw { override string toString() { result = "CollectionUpcastConversionExpr" } } + private Element getImmediateChildOfCollectionUpcastConversionExpr( + CollectionUpcastConversionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2114,6 +3624,20 @@ module Raw { override string toString() { result = "ConditionalBridgeFromObjCExpr" } } + private Element getImmediateChildOfConditionalBridgeFromObjCExpr( + ConditionalBridgeFromObjCExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2123,6 +3647,20 @@ module Raw { override string toString() { result = "CovariantFunctionConversionExpr" } } + private Element getImmediateChildOfCovariantFunctionConversionExpr( + CovariantFunctionConversionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2132,6 +3670,20 @@ module Raw { override string toString() { result = "CovariantReturnConversionExpr" } } + private Element getImmediateChildOfCovariantReturnConversionExpr( + CovariantReturnConversionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2139,6 +3691,18 @@ module Raw { override string toString() { result = "DerivedToBaseExpr" } } + private Element getImmediateChildOfDerivedToBaseExpr(DerivedToBaseExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2146,6 +3710,18 @@ module Raw { override string toString() { result = "DestructureTupleExpr" } } + private Element getImmediateChildOfDestructureTupleExpr(DestructureTupleExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2156,6 +3732,23 @@ module Raw { * Gets the `index`th element of this dictionary expression (0-based). */ Expr getElement(int index) { dictionary_expr_elements(this, index, result) } + + /** + * Gets the number of elements of this dictionary expression. + */ + int getNumberOfElements() { result = count(int i | dictionary_expr_elements(this, i, _)) } + } + + private Element getImmediateChildOfDictionaryExpr(DictionaryExpr e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -2165,6 +3758,20 @@ module Raw { override string toString() { result = "DifferentiableFunctionExpr" } } + private Element getImmediateChildOfDifferentiableFunctionExpr( + DifferentiableFunctionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2174,6 +3781,20 @@ module Raw { override string toString() { result = "DifferentiableFunctionExtractOriginalExpr" } } + private Element getImmediateChildOfDifferentiableFunctionExtractOriginalExpr( + DifferentiableFunctionExtractOriginalExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2181,6 +3802,18 @@ module Raw { override string toString() { result = "DotSelfExpr" } } + private Element getImmediateChildOfDotSelfExpr(DotSelfExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2193,6 +3826,18 @@ module Raw { override string toString() { result = "ErasureExpr" } } + private Element getImmediateChildOfErasureExpr(ErasureExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2202,6 +3847,20 @@ module Raw { override string toString() { result = "ExistentialMetatypeToObjectExpr" } } + private Element getImmediateChildOfExistentialMetatypeToObjectExpr( + ExistentialMetatypeToObjectExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2209,6 +3868,27 @@ module Raw { override string toString() { result = "ExplicitClosureExpr" } } + private Element getImmediateChildOfExplicitClosureExpr(ExplicitClosureExpr e, int index) { + exists(int n, int nSelfParam, int nParam, int nBody, int nCapture | + n = 0 and + nSelfParam = n + 1 and + nParam = nSelfParam + e.getNumberOfParams() and + nBody = nParam + 1 and + nCapture = nBody + e.getNumberOfCaptures() and + ( + none() + or + index = n and result = e.getSelfParam() + or + result = e.getParam(index - nSelfParam) + or + index = nParam and result = e.getBody() + or + result = e.getCapture(index - nBody) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2216,6 +3896,18 @@ module Raw { override string toString() { result = "ForceTryExpr" } } + private Element getImmediateChildOfForceTryExpr(ForceTryExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2223,6 +3915,20 @@ module Raw { override string toString() { result = "ForeignObjectConversionExpr" } } + private Element getImmediateChildOfForeignObjectConversionExpr( + ForeignObjectConversionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2230,6 +3936,18 @@ module Raw { override string toString() { result = "FunctionConversionExpr" } } + private Element getImmediateChildOfFunctionConversionExpr(FunctionConversionExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2237,6 +3955,18 @@ module Raw { override string toString() { result = "InOutToPointerExpr" } } + private Element getImmediateChildOfInOutToPointerExpr(InOutToPointerExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2244,6 +3974,18 @@ module Raw { override string toString() { result = "InjectIntoOptionalExpr" } } + private Element getImmediateChildOfInjectIntoOptionalExpr(InjectIntoOptionalExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2263,6 +4005,20 @@ module Raw { TapExpr getAppendingExpr() { interpolated_string_literal_expr_appending_exprs(this, result) } } + private Element getImmediateChildOfInterpolatedStringLiteralExpr( + InterpolatedStringLiteralExpr e, int index + ) { + exists(int n, int nAppendingExpr | + n = 0 and + nAppendingExpr = n + 1 and + ( + none() + or + index = n and result = e.getAppendingExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2270,6 +4026,18 @@ module Raw { override string toString() { result = "LinearFunctionExpr" } } + private Element getImmediateChildOfLinearFunctionExpr(LinearFunctionExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2279,6 +4047,20 @@ module Raw { override string toString() { result = "LinearFunctionExtractOriginalExpr" } } + private Element getImmediateChildOfLinearFunctionExtractOriginalExpr( + LinearFunctionExtractOriginalExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2288,6 +4070,20 @@ module Raw { override string toString() { result = "LinearToDifferentiableFunctionExpr" } } + private Element getImmediateChildOfLinearToDifferentiableFunctionExpr( + LinearToDifferentiableFunctionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2295,6 +4091,18 @@ module Raw { override string toString() { result = "LoadExpr" } } + private Element getImmediateChildOfLoadExpr(LoadExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2328,6 +4136,18 @@ module Raw { } } + private Element getImmediateChildOfMemberRefExpr(MemberRefExpr e, int index) { + exists(int n, int nBase | + n = 0 and + nBase = n + 1 and + ( + none() + or + index = n and result = e.getBase() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2335,6 +4155,18 @@ module Raw { override string toString() { result = "MetatypeConversionExpr" } } + private Element getImmediateChildOfMetatypeConversionExpr(MetatypeConversionExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2342,6 +4174,8 @@ module Raw { override string toString() { result = "NilLiteralExpr" } } + private Element getImmediateChildOfNilLiteralExpr(NilLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. * An instance of `#fileLiteral`, `#imageLiteral` or `#colorLiteral` expressions, which are used in playgrounds. @@ -2360,6 +4194,23 @@ module Raw { * Gets the `index`th argument of this object literal expression (0-based). */ Argument getArgument(int index) { object_literal_expr_arguments(this, index, result) } + + /** + * Gets the number of arguments of this object literal expression. + */ + int getNumberOfArguments() { result = count(int i | object_literal_expr_arguments(this, i, _)) } + } + + private Element getImmediateChildOfObjectLiteralExpr(ObjectLiteralExpr e, int index) { + exists(int n, int nArgument | + n = 0 and + nArgument = n + e.getNumberOfArguments() and + ( + none() + or + result = e.getArgument(index - n) + ) + ) } /** @@ -2369,6 +4220,18 @@ module Raw { override string toString() { result = "OptionalTryExpr" } } + private Element getImmediateChildOfOptionalTryExpr(OptionalTryExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2376,6 +4239,18 @@ module Raw { override string toString() { result = "ParenExpr" } } + private Element getImmediateChildOfParenExpr(ParenExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2383,6 +4258,18 @@ module Raw { override string toString() { result = "PointerToPointerExpr" } } + private Element getImmediateChildOfPointerToPointerExpr(PointerToPointerExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2390,6 +4277,21 @@ module Raw { override string toString() { result = "PostfixUnaryExpr" } } + private Element getImmediateChildOfPostfixUnaryExpr(PostfixUnaryExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2397,6 +4299,21 @@ module Raw { override string toString() { result = "PrefixUnaryExpr" } } + private Element getImmediateChildOfPrefixUnaryExpr(PrefixUnaryExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2406,6 +4323,20 @@ module Raw { override string toString() { result = "ProtocolMetatypeToObjectExpr" } } + private Element getImmediateChildOfProtocolMetatypeToObjectExpr( + ProtocolMetatypeToObjectExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A regular expression literal which is checked at compile time, for example `/a(a|b)*b/`. @@ -2424,6 +4355,8 @@ module Raw { int getVersion() { regex_literal_exprs(this, _, result) } } + private Element getImmediateChildOfRegexLiteralExpr(RegexLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. * An internal raw instance of method lookups like `x.foo` in `x.foo()`. @@ -2443,6 +4376,18 @@ module Raw { override string toString() { result = "StringToPointerExpr" } } + private Element getImmediateChildOfStringToPointerExpr(StringToPointerExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2454,6 +4399,11 @@ module Raw { */ Argument getArgument(int index) { subscript_expr_arguments(this, index, result) } + /** + * Gets the number of arguments of this subscript expression. + */ + int getNumberOfArguments() { result = count(int i | subscript_expr_arguments(this, i, _)) } + /** * Holds if this subscript expression has direct to storage semantics. */ @@ -2479,6 +4429,21 @@ module Raw { } } + private Element getImmediateChildOfSubscriptExpr(SubscriptExpr e, int index) { + exists(int n, int nBase, int nArgument | + n = 0 and + nBase = n + 1 and + nArgument = nBase + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getBase() + or + result = e.getArgument(index - nBase) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2486,6 +4451,18 @@ module Raw { override string toString() { result = "TryExpr" } } + private Element getImmediateChildOfTryExpr(TryExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2493,6 +4470,18 @@ module Raw { override string toString() { result = "UnderlyingToOpaqueExpr" } } + private Element getImmediateChildOfUnderlyingToOpaqueExpr(UnderlyingToOpaqueExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2500,6 +4489,18 @@ module Raw { override string toString() { result = "UnevaluatedInstanceExpr" } } + private Element getImmediateChildOfUnevaluatedInstanceExpr(UnevaluatedInstanceExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A conversion from the uninhabited type to any other type. It's never evaluated. @@ -2508,6 +4509,18 @@ module Raw { override string toString() { result = "UnreachableExpr" } } + private Element getImmediateChildOfUnreachableExpr(UnreachableExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2517,6 +4530,20 @@ module Raw { override string toString() { result = "UnresolvedMemberChainResultExpr" } } + private Element getImmediateChildOfUnresolvedMemberChainResultExpr( + UnresolvedMemberChainResultExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2526,6 +4553,20 @@ module Raw { override string toString() { result = "UnresolvedTypeConversionExpr" } } + private Element getImmediateChildOfUnresolvedTypeConversionExpr( + UnresolvedTypeConversionExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. * A conversion that performs an unsafe bitcast. @@ -2534,6 +4575,18 @@ module Raw { override string toString() { result = "UnsafeCastExpr" } } + private Element getImmediateChildOfUnsafeCastExpr(UnsafeCastExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2541,6 +4594,18 @@ module Raw { override string toString() { result = "UnsafeExpr" } } + private Element getImmediateChildOfUnsafeExpr(UnsafeExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2553,6 +4618,8 @@ module Raw { boolean getValue() { boolean_literal_exprs(this, result) } } + private Element getImmediateChildOfBooleanLiteralExpr(BooleanLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2560,6 +4627,20 @@ module Raw { override string toString() { result = "ConditionalCheckedCastExpr" } } + private Element getImmediateChildOfConditionalCheckedCastExpr( + ConditionalCheckedCastExpr e, int index + ) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2567,6 +4648,21 @@ module Raw { override string toString() { result = "DotSyntaxCallExpr" } } + private Element getImmediateChildOfDotSyntaxCallExpr(DotSyntaxCallExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2574,6 +4670,18 @@ module Raw { override string toString() { result = "DynamicMemberRefExpr" } } + private Element getImmediateChildOfDynamicMemberRefExpr(DynamicMemberRefExpr e, int index) { + exists(int n, int nBase | + n = 0 and + nBase = n + 1 and + ( + none() + or + index = n and result = e.getBase() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2581,6 +4689,18 @@ module Raw { override string toString() { result = "DynamicSubscriptExpr" } } + private Element getImmediateChildOfDynamicSubscriptExpr(DynamicSubscriptExpr e, int index) { + exists(int n, int nBase | + n = 0 and + nBase = n + 1 and + ( + none() + or + index = n and result = e.getBase() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2588,6 +4708,18 @@ module Raw { override string toString() { result = "ForcedCheckedCastExpr" } } + private Element getImmediateChildOfForcedCheckedCastExpr(ForcedCheckedCastExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2595,6 +4727,21 @@ module Raw { override string toString() { result = "InitializerRefCallExpr" } } + private Element getImmediateChildOfInitializerRefCallExpr(InitializerRefCallExpr e, int index) { + exists(int n, int nFunction, int nArgument | + n = 0 and + nFunction = n + 1 and + nArgument = nFunction + e.getNumberOfArguments() and + ( + none() + or + index = n and result = e.getFunction() + or + result = e.getArgument(index - nFunction) + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2602,6 +4749,18 @@ module Raw { override string toString() { result = "IsExpr" } } + private Element getImmediateChildOfIsExpr(IsExpr e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2614,6 +4773,12 @@ module Raw { string getKind() { magic_identifier_literal_exprs(this, result) } } + private Element getImmediateChildOfMagicIdentifierLiteralExpr( + MagicIdentifierLiteralExpr e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -2631,6 +4796,8 @@ module Raw { string getValue() { string_literal_exprs(this, result) } } + private Element getImmediateChildOfStringLiteralExpr(StringLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2643,6 +4810,8 @@ module Raw { string getStringValue() { float_literal_exprs(this, result) } } + private Element getImmediateChildOfFloatLiteralExpr(FloatLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2655,6 +4824,8 @@ module Raw { string getStringValue() { integer_literal_exprs(this, result) } } + private Element getImmediateChildOfIntegerLiteralExpr(IntegerLiteralExpr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2672,6 +4843,8 @@ module Raw { override string toString() { result = "AnyPattern" } } + private Element getImmediateChildOfAnyPattern(AnyPattern e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2684,6 +4857,18 @@ module Raw { Pattern getSubPattern() { binding_patterns(this, result) } } + private Element getImmediateChildOfBindingPattern(BindingPattern e, int index) { + exists(int n, int nSubPattern | + n = 0 and + nSubPattern = n + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2696,6 +4881,8 @@ module Raw { boolean getValue() { bool_patterns(this, result) } } + private Element getImmediateChildOfBoolPattern(BoolPattern e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2713,6 +4900,18 @@ module Raw { Pattern getSubPattern() { enum_element_pattern_sub_patterns(this, result) } } + private Element getImmediateChildOfEnumElementPattern(EnumElementPattern e, int index) { + exists(int n, int nSubPattern | + n = 0 and + nSubPattern = n + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2725,6 +4924,18 @@ module Raw { Expr getSubExpr() { expr_patterns(this, result) } } + private Element getImmediateChildOfExprPattern(ExprPattern e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2742,6 +4953,21 @@ module Raw { Pattern getSubPattern() { is_pattern_sub_patterns(this, result) } } + private Element getImmediateChildOfIsPattern(IsPattern e, int index) { + exists(int n, int nCastTypeRepr, int nSubPattern | + n = 0 and + nCastTypeRepr = n + 1 and + nSubPattern = nCastTypeRepr + 1 and + ( + none() + or + index = n and result = e.getCastTypeRepr() + or + index = nCastTypeRepr and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2754,6 +4980,8 @@ module Raw { VarDecl getVarDecl() { named_patterns(this, result) } } + private Element getImmediateChildOfNamedPattern(NamedPattern e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2766,6 +4994,18 @@ module Raw { Pattern getSubPattern() { optional_some_patterns(this, result) } } + private Element getImmediateChildOfOptionalSomePattern(OptionalSomePattern e, int index) { + exists(int n, int nSubPattern | + n = 0 and + nSubPattern = n + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2778,6 +5018,18 @@ module Raw { Pattern getSubPattern() { paren_patterns(this, result) } } + private Element getImmediateChildOfParenPattern(ParenPattern e, int index) { + exists(int n, int nSubPattern | + n = 0 and + nSubPattern = n + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2788,6 +5040,23 @@ module Raw { * Gets the `index`th element of this tuple pattern (0-based). */ Pattern getElement(int index) { tuple_pattern_elements(this, index, result) } + + /** + * Gets the number of elements of this tuple pattern. + */ + int getNumberOfElements() { result = count(int i | tuple_pattern_elements(this, i, _)) } + } + + private Element getImmediateChildOfTuplePattern(TuplePattern e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -2807,6 +5076,21 @@ module Raw { TypeRepr getTypeRepr() { typed_pattern_type_reprs(this, result) } } + private Element getImmediateChildOfTypedPattern(TypedPattern e, int index) { + exists(int n, int nSubPattern, int nTypeRepr | + n = 0 and + nSubPattern = n + 1 and + nTypeRepr = nSubPattern + 1 and + ( + none() + or + index = n and result = e.getSubPattern() + or + index = nSubPattern and result = e.getTypeRepr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2824,6 +5108,21 @@ module Raw { Expr getGuard() { case_label_item_guards(this, result) } } + private Element getImmediateChildOfCaseLabelItem(CaseLabelItem e, int index) { + exists(int n, int nPattern, int nGuard | + n = 0 and + nPattern = n + 1 and + nGuard = nPattern + 1 and + ( + none() + or + index = n and result = e.getPattern() + or + index = nPattern and result = e.getGuard() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2851,6 +5150,27 @@ module Raw { AvailabilityInfo getAvailability() { condition_element_availabilities(this, result) } } + private Element getImmediateChildOfConditionElement(ConditionElement e, int index) { + exists(int n, int nBoolean, int nPattern, int nInitializer, int nAvailability | + n = 0 and + nBoolean = n + 1 and + nPattern = nBoolean + 1 and + nInitializer = nPattern + 1 and + nAvailability = nInitializer + 1 and + ( + none() + or + index = n and result = e.getBoolean() + or + index = nBoolean and result = e.getPattern() + or + index = nPattern and result = e.getInitializer() + or + index = nInitializer and result = e.getAvailability() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2866,6 +5186,23 @@ module Raw { * Gets the `index`th element of this statement condition (0-based). */ ConditionElement getElement(int index) { stmt_condition_elements(this, index, result) } + + /** + * Gets the number of elements of this statement condition. + */ + int getNumberOfElements() { result = count(int i | stmt_condition_elements(this, i, _)) } + } + + private Element getImmediateChildOfStmtCondition(StmtCondition e, int index) { + exists(int n, int nElement | + n = 0 and + nElement = n + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - n) + ) + ) } /** @@ -2878,6 +5215,24 @@ module Raw { * Gets the `index`th element of this brace statement (0-based). */ AstNode getElement(int index) { brace_stmt_elements(this, index, result) } + + /** + * Gets the number of elements of this brace statement. + */ + int getNumberOfElements() { result = count(int i | brace_stmt_elements(this, i, _)) } + } + + private Element getImmediateChildOfBraceStmt(BraceStmt e, int index) { + exists(int n, int nVariable, int nElement | + n = 0 and + nVariable = n and + nElement = nVariable + e.getNumberOfElements() and + ( + none() + or + result = e.getElement(index - nVariable) + ) + ) } /** @@ -2897,6 +5252,8 @@ module Raw { Stmt getTarget() { break_stmt_targets(this, result) } } + private Element getImmediateChildOfBreakStmt(BreakStmt e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2908,17 +5265,45 @@ module Raw { */ CaseLabelItem getLabel(int index) { case_stmt_labels(this, index, result) } + /** + * Gets the number of labels of this case statement. + */ + int getNumberOfLabels() { result = count(int i | case_stmt_labels(this, i, _)) } + /** * Gets the `index`th variable of this case statement (0-based). */ VarDecl getVariable(int index) { case_stmt_variables(this, index, result) } + /** + * Gets the number of variables of this case statement. + */ + int getNumberOfVariables() { result = count(int i | case_stmt_variables(this, i, _)) } + /** * Gets the body of this case statement. */ Stmt getBody() { case_stmts(this, result) } } + private Element getImmediateChildOfCaseStmt(CaseStmt e, int index) { + exists(int n, int nLabel, int nVariable, int nBody | + n = 0 and + nLabel = n + e.getNumberOfLabels() and + nVariable = nLabel + e.getNumberOfVariables() and + nBody = nVariable + 1 and + ( + none() + or + result = e.getLabel(index - n) + or + result = e.getVariable(index - nLabel) + or + index = nVariable and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2936,6 +5321,8 @@ module Raw { Stmt getTarget() { continue_stmt_targets(this, result) } } + private Element getImmediateChildOfContinueStmt(ContinueStmt e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2948,6 +5335,18 @@ module Raw { BraceStmt getBody() { defer_stmts(this, result) } } + private Element getImmediateChildOfDeferStmt(DeferStmt e, int index) { + exists(int n, int nBody | + n = 0 and + nBody = n + 1 and + ( + none() + or + index = n and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. * A statement that takes a non-copyable value and destructs its members/fields. @@ -2966,6 +5365,18 @@ module Raw { Expr getSubExpr() { discard_stmts(this, result) } } + private Element getImmediateChildOfDiscardStmt(DiscardStmt e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -2973,6 +5384,8 @@ module Raw { override string toString() { result = "FailStmt" } } + private Element getImmediateChildOfFailStmt(FailStmt e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -2990,6 +5403,8 @@ module Raw { CaseStmt getFallthroughDest() { fallthrough_stmts(this, _, result) } } + private Element getImmediateChildOfFallthroughStmt(FallthroughStmt e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3017,6 +5432,8 @@ module Raw { string getMessage() { pound_assert_stmts(this, _, result) } } + private Element getImmediateChildOfPoundAssertStmt(PoundAssertStmt e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3029,6 +5446,18 @@ module Raw { Expr getResult() { return_stmt_results(this, result) } } + private Element getImmediateChildOfReturnStmt(ReturnStmt e, int index) { + exists(int n, int nResult | + n = 0 and + nResult = n + 1 and + ( + none() + or + index = n and result = e.getResult() + ) + ) + } + /** * INTERNAL: Do not use. * A statement implicitly wrapping values to be used in branches of if/switch expressions. For example in: @@ -3050,6 +5479,18 @@ module Raw { Expr getResult() { then_stmts(this, result) } } + private Element getImmediateChildOfThenStmt(ThenStmt e, int index) { + exists(int n, int nResult | + n = 0 and + nResult = n + 1 and + ( + none() + or + index = n and result = e.getResult() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3062,6 +5503,18 @@ module Raw { Expr getSubExpr() { throw_stmts(this, result) } } + private Element getImmediateChildOfThrowStmt(ThrowStmt e, int index) { + exists(int n, int nSubExpr | + n = 0 and + nSubExpr = n + 1 and + ( + none() + or + index = n and result = e.getSubExpr() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3072,6 +5525,23 @@ module Raw { * Gets the `index`th result of this yield statement (0-based). */ Expr getResult(int index) { yield_stmt_results(this, index, result) } + + /** + * Gets the number of results of this yield statement. + */ + int getNumberOfResults() { result = count(int i | yield_stmt_results(this, i, _)) } + } + + private Element getImmediateChildOfYieldStmt(YieldStmt e, int index) { + exists(int n, int nResult | + n = 0 and + nResult = n + e.getNumberOfResults() and + ( + none() + or + result = e.getResult(index - n) + ) + ) } /** @@ -3089,6 +5559,26 @@ module Raw { * Gets the `index`th catch of this do catch statement (0-based). */ CaseStmt getCatch(int index) { do_catch_stmt_catches(this, index, result) } + + /** + * Gets the number of catches of this do catch statement. + */ + int getNumberOfCatches() { result = count(int i | do_catch_stmt_catches(this, i, _)) } + } + + private Element getImmediateChildOfDoCatchStmt(DoCatchStmt e, int index) { + exists(int n, int nBody, int nCatch | + n = 0 and + nBody = n + 1 and + nCatch = nBody + e.getNumberOfCatches() and + ( + none() + or + index = n and result = e.getBody() + or + result = e.getCatch(index - nBody) + ) + ) } /** @@ -3103,6 +5593,18 @@ module Raw { BraceStmt getBody() { do_stmts(this, result) } } + private Element getImmediateChildOfDoStmt(DoStmt e, int index) { + exists(int n, int nBody | + n = 0 and + nBody = n + 1 and + ( + none() + or + index = n and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3114,6 +5616,11 @@ module Raw { */ VarDecl getVariable(int index) { for_each_stmt_variables(this, index, result) } + /** + * Gets the number of variables of this for each statement. + */ + int getNumberOfVariables() { result = count(int i | for_each_stmt_variables(this, i, _)) } + /** * Gets the pattern of this for each statement. */ @@ -3140,6 +5647,35 @@ module Raw { BraceStmt getBody() { for_each_stmts(this, _, result) } } + private Element getImmediateChildOfForEachStmt(ForEachStmt e, int index) { + exists( + int n, int nVariable, int nPattern, int nWhere, int nIteratorVar, int nNextCall, int nBody + | + n = 0 and + nVariable = n + e.getNumberOfVariables() and + nPattern = nVariable + 1 and + nWhere = nPattern + 1 and + nIteratorVar = nWhere + 1 and + nNextCall = nIteratorVar + 1 and + nBody = nNextCall + 1 and + ( + none() + or + result = e.getVariable(index - n) + or + index = nVariable and result = e.getPattern() + or + index = nPattern and result = e.getWhere() + or + index = nWhere and result = e.getIteratorVar() + or + index = nIteratorVar and result = e.getNextCall() + or + index = nNextCall and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3167,6 +5703,21 @@ module Raw { Stmt getBody() { repeat_while_stmts(this, _, result) } } + private Element getImmediateChildOfRepeatWhileStmt(RepeatWhileStmt e, int index) { + exists(int n, int nCondition, int nBody | + n = 0 and + nCondition = n + 1 and + nBody = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3182,6 +5733,26 @@ module Raw { * Gets the `index`th case of this switch statement (0-based). */ CaseStmt getCase(int index) { switch_stmt_cases(this, index, result) } + + /** + * Gets the number of cases of this switch statement. + */ + int getNumberOfCases() { result = count(int i | switch_stmt_cases(this, i, _)) } + } + + private Element getImmediateChildOfSwitchStmt(SwitchStmt e, int index) { + exists(int n, int nExpr, int nCase | + n = 0 and + nExpr = n + 1 and + nCase = nExpr + e.getNumberOfCases() and + ( + none() + or + index = n and result = e.getExpr() + or + result = e.getCase(index - nExpr) + ) + ) } /** @@ -3196,6 +5767,21 @@ module Raw { BraceStmt getBody() { guard_stmts(this, result) } } + private Element getImmediateChildOfGuardStmt(GuardStmt e, int index) { + exists(int n, int nCondition, int nBody | + n = 0 and + nCondition = n + 1 and + nBody = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3213,6 +5799,24 @@ module Raw { Stmt getElse() { if_stmt_elses(this, result) } } + private Element getImmediateChildOfIfStmt(IfStmt e, int index) { + exists(int n, int nCondition, int nThen, int nElse | + n = 0 and + nCondition = n + 1 and + nThen = nCondition + 1 and + nElse = nThen + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getThen() + or + index = nThen and result = e.getElse() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3225,6 +5829,21 @@ module Raw { Stmt getBody() { while_stmts(this, result) } } + private Element getImmediateChildOfWhileStmt(WhileStmt e, int index) { + exists(int n, int nCondition, int nBody | + n = 0 and + nCondition = n + 1 and + nBody = nCondition + 1 and + ( + none() + or + index = n and result = e.getCondition() + or + index = nCondition and result = e.getBody() + ) + ) + } + /** * INTERNAL: Do not use. */ @@ -3258,6 +5877,8 @@ module Raw { Type getType() { type_reprs(this, result) } } + private Element getImmediateChildOfTypeRepr(TypeRepr e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3272,6 +5893,13 @@ module Raw { */ Type getParamType(int index) { any_function_type_param_types(this, index, result) } + /** + * Gets the number of parameter types of this function type. + */ + int getNumberOfParamTypes() { + result = count(int i | any_function_type_param_types(this, i, _)) + } + /** * Holds if this type refers to a throwing function. */ @@ -3325,6 +5953,10 @@ module Raw { AssociatedTypeDecl getAssociatedTypeDecl() { dependent_member_types(this, _, result) } } + private Element getImmediateChildOfDependentMemberType(DependentMemberType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3337,6 +5969,8 @@ module Raw { Type getStaticSelfType() { dynamic_self_types(this, result) } } + private Element getImmediateChildOfDynamicSelfType(DynamicSelfType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3344,6 +5978,8 @@ module Raw { override string toString() { result = "ErrorType" } } + private Element getImmediateChildOfErrorType(ErrorType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3356,6 +5992,8 @@ module Raw { Type getConstraint() { existential_types(this, result) } } + private Element getImmediateChildOfExistentialType(ExistentialType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3368,6 +6006,8 @@ module Raw { Type getObjectType() { in_out_types(this, result) } } + private Element getImmediateChildOfInOutType(InOutType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3380,6 +6020,8 @@ module Raw { string getValue() { integer_types(this, result) } } + private Element getImmediateChildOfIntegerType(IntegerType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3392,6 +6034,8 @@ module Raw { Type getObjectType() { l_value_types(this, result) } } + private Element getImmediateChildOfLValueType(LValueType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3404,6 +6048,8 @@ module Raw { ModuleDecl getModule() { module_types(this, result) } } + private Element getImmediateChildOfModuleType(ModuleType e, int index) { none() } + /** * INTERNAL: Do not use. * A type of PackElementExpr, see PackElementExpr for more information. @@ -3417,6 +6063,8 @@ module Raw { Type getPackType() { pack_element_types(this, result) } } + private Element getImmediateChildOfPackElementType(PackElementType e, int index) { none() } + /** * INTERNAL: Do not use. * A type of PackExpansionExpr, see PackExpansionExpr for more information. @@ -3435,6 +6083,8 @@ module Raw { Type getCountType() { pack_expansion_types(this, _, result) } } + private Element getImmediateChildOfPackExpansionType(PackExpansionType e, int index) { none() } + /** * INTERNAL: Do not use. * An actual type of a pack expression at the instatiation point. @@ -3455,8 +6105,15 @@ module Raw { * Gets the `index`th element of this pack type (0-based). */ Type getElement(int index) { pack_type_elements(this, index, result) } + + /** + * Gets the number of elements of this pack type. + */ + int getNumberOfElements() { result = count(int i | pack_type_elements(this, i, _)) } } + private Element getImmediateChildOfPackType(PackType e, int index) { none() } + /** * INTERNAL: Do not use. * A sugar type of the form `P` with `P` a protocol. @@ -3475,6 +6132,17 @@ module Raw { * Gets the `index`th argument of this parameterized protocol type (0-based). */ Type getArg(int index) { parameterized_protocol_type_args(this, index, result) } + + /** + * Gets the number of arguments of this parameterized protocol type. + */ + int getNumberOfArgs() { result = count(int i | parameterized_protocol_type_args(this, i, _)) } + } + + private Element getImmediateChildOfParameterizedProtocolType( + ParameterizedProtocolType e, int index + ) { + none() } /** @@ -3487,6 +6155,17 @@ module Raw { * Gets the `index`th member of this protocol composition type (0-based). */ Type getMember(int index) { protocol_composition_type_members(this, index, result) } + + /** + * Gets the number of members of this protocol composition type. + */ + int getNumberOfMembers() { + result = count(int i | protocol_composition_type_members(this, i, _)) + } + } + + private Element getImmediateChildOfProtocolCompositionType(ProtocolCompositionType e, int index) { + none() } /** @@ -3520,12 +6199,24 @@ module Raw { */ Type getType(int index) { tuple_type_types(this, index, result) } + /** + * Gets the number of types of this tuple type. + */ + int getNumberOfTypes() { result = count(int i | tuple_type_types(this, i, _)) } + /** * Gets the `index`th name of this tuple type (0-based), if it exists. */ string getName(int index) { tuple_type_names(this, index, result) } + + /** + * Gets the number of names of this tuple type. + */ + int getNumberOfNames() { result = count(int i | tuple_type_names(this, i, _)) } } + private Element getImmediateChildOfTupleType(TupleType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3533,6 +6224,8 @@ module Raw { override string toString() { result = "UnresolvedType" } } + private Element getImmediateChildOfUnresolvedType(UnresolvedType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3556,6 +6249,11 @@ module Raw { * Gets the `index`th protocol of this archetype type (0-based). */ ProtocolDecl getProtocol(int index) { archetype_type_protocols(this, index, result) } + + /** + * Gets the number of protocols of this archetype type. + */ + int getNumberOfProtocols() { result = count(int i | archetype_type_protocols(this, i, _)) } } /** @@ -3565,6 +6263,10 @@ module Raw { override string toString() { result = "BuiltinBridgeObjectType" } } + private Element getImmediateChildOfBuiltinBridgeObjectType(BuiltinBridgeObjectType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3572,6 +6274,12 @@ module Raw { override string toString() { result = "BuiltinDefaultActorStorageType" } } + private Element getImmediateChildOfBuiltinDefaultActorStorageType( + BuiltinDefaultActorStorageType e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3579,6 +6287,10 @@ module Raw { override string toString() { result = "BuiltinExecutorType" } } + private Element getImmediateChildOfBuiltinExecutorType(BuiltinExecutorType e, int index) { + none() + } + /** * INTERNAL: Do not use. * A builtin type representing N values stored contiguously. @@ -3587,6 +6299,10 @@ module Raw { override string toString() { result = "BuiltinFixedArrayType" } } + private Element getImmediateChildOfBuiltinFixedArrayType(BuiltinFixedArrayType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3594,6 +6310,8 @@ module Raw { override string toString() { result = "BuiltinFloatType" } } + private Element getImmediateChildOfBuiltinFloatType(BuiltinFloatType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3601,6 +6319,8 @@ module Raw { override string toString() { result = "BuiltinJobType" } } + private Element getImmediateChildOfBuiltinJobType(BuiltinJobType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3608,6 +6328,10 @@ module Raw { override string toString() { result = "BuiltinNativeObjectType" } } + private Element getImmediateChildOfBuiltinNativeObjectType(BuiltinNativeObjectType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3615,6 +6339,10 @@ module Raw { override string toString() { result = "BuiltinRawPointerType" } } + private Element getImmediateChildOfBuiltinRawPointerType(BuiltinRawPointerType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3622,6 +6350,12 @@ module Raw { override string toString() { result = "BuiltinRawUnsafeContinuationType" } } + private Element getImmediateChildOfBuiltinRawUnsafeContinuationType( + BuiltinRawUnsafeContinuationType e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3629,6 +6363,12 @@ module Raw { override string toString() { result = "BuiltinUnsafeValueBufferType" } } + private Element getImmediateChildOfBuiltinUnsafeValueBufferType( + BuiltinUnsafeValueBufferType e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3636,6 +6376,8 @@ module Raw { override string toString() { result = "BuiltinVectorType" } } + private Element getImmediateChildOfBuiltinVectorType(BuiltinVectorType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3643,6 +6385,10 @@ module Raw { override string toString() { result = "ExistentialMetatypeType" } } + private Element getImmediateChildOfExistentialMetatypeType(ExistentialMetatypeType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3650,6 +6396,8 @@ module Raw { override string toString() { result = "FunctionType" } } + private Element getImmediateChildOfFunctionType(FunctionType e, int index) { none() } + /** * INTERNAL: Do not use. * The type of a generic function with type parameters @@ -3663,6 +6411,17 @@ module Raw { GenericTypeParamType getGenericParam(int index) { generic_function_type_generic_params(this, index, result) } + + /** + * Gets the number of type parameters of this generic type. + */ + int getNumberOfGenericParams() { + result = count(int i | generic_function_type_generic_params(this, i, _)) + } + } + + private Element getImmediateChildOfGenericFunctionType(GenericFunctionType e, int index) { + none() } /** @@ -3672,6 +6431,10 @@ module Raw { override string toString() { result = "GenericTypeParamType" } } + private Element getImmediateChildOfGenericTypeParamType(GenericTypeParamType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3679,6 +6442,8 @@ module Raw { override string toString() { result = "MetatypeType" } } + private Element getImmediateChildOfMetatypeType(MetatypeType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3698,6 +6463,8 @@ module Raw { Type getType() { paren_types(this, result) } } + private Element getImmediateChildOfParenType(ParenType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3715,6 +6482,8 @@ module Raw { TypeAliasDecl getDecl() { type_alias_types(this, result) } } + private Element getImmediateChildOfTypeAliasType(TypeAliasType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3722,6 +6491,8 @@ module Raw { override string toString() { result = "UnboundGenericType" } } + private Element getImmediateChildOfUnboundGenericType(UnboundGenericType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3729,6 +6500,10 @@ module Raw { override string toString() { result = "UnmanagedStorageType" } } + private Element getImmediateChildOfUnmanagedStorageType(UnmanagedStorageType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3736,6 +6511,8 @@ module Raw { override string toString() { result = "UnownedStorageType" } } + private Element getImmediateChildOfUnownedStorageType(UnownedStorageType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3743,6 +6520,8 @@ module Raw { override string toString() { result = "WeakStorageType" } } + private Element getImmediateChildOfWeakStorageType(WeakStorageType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3751,6 +6530,11 @@ module Raw { * Gets the `index`th argument type of this bound generic type (0-based). */ Type getArgType(int index) { bound_generic_type_arg_types(this, index, result) } + + /** + * Gets the number of argument types of this bound generic type. + */ + int getNumberOfArgTypes() { result = count(int i | bound_generic_type_arg_types(this, i, _)) } } /** @@ -3760,6 +6544,12 @@ module Raw { override string toString() { result = "BuiltinIntegerLiteralType" } } + private Element getImmediateChildOfBuiltinIntegerLiteralType( + BuiltinIntegerLiteralType e, int index + ) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3772,6 +6562,8 @@ module Raw { int getWidth() { builtin_integer_type_widths(this, result) } } + private Element getImmediateChildOfBuiltinIntegerType(BuiltinIntegerType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3789,6 +6581,8 @@ module Raw { Type getValueType() { dictionary_types(this, _, result) } } + private Element getImmediateChildOfDictionaryType(DictionaryType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3806,6 +6600,8 @@ module Raw { Type getElementType() { inline_array_types(this, _, result) } } + private Element getImmediateChildOfInlineArrayType(InlineArrayType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3831,6 +6627,10 @@ module Raw { OpaqueTypeDecl getDeclaration() { opaque_type_archetype_types(this, result) } } + private Element getImmediateChildOfOpaqueTypeArchetypeType(OpaqueTypeArchetypeType e, int index) { + none() + } + /** * INTERNAL: Do not use. * An archetype type of PackType. @@ -3839,6 +6639,8 @@ module Raw { override string toString() { result = "PackArchetypeType" } } + private Element getImmediateChildOfPackArchetypeType(PackArchetypeType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3846,6 +6648,10 @@ module Raw { override string toString() { result = "PrimaryArchetypeType" } } + private Element getImmediateChildOfPrimaryArchetypeType(PrimaryArchetypeType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3863,6 +6669,8 @@ module Raw { override string toString() { result = "ArraySliceType" } } + private Element getImmediateChildOfArraySliceType(ArraySliceType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3870,6 +6678,10 @@ module Raw { override string toString() { result = "BoundGenericClassType" } } + private Element getImmediateChildOfBoundGenericClassType(BoundGenericClassType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3877,6 +6689,10 @@ module Raw { override string toString() { result = "BoundGenericEnumType" } } + private Element getImmediateChildOfBoundGenericEnumType(BoundGenericEnumType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3884,6 +6700,10 @@ module Raw { override string toString() { result = "BoundGenericStructType" } } + private Element getImmediateChildOfBoundGenericStructType(BoundGenericStructType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3891,6 +6711,8 @@ module Raw { override string toString() { result = "ClassType" } } + private Element getImmediateChildOfClassType(ClassType e, int index) { none() } + /** * INTERNAL: Do not use. * An archetype type of PackElementType. @@ -3899,6 +6721,10 @@ module Raw { override string toString() { result = "ElementArchetypeType" } } + private Element getImmediateChildOfElementArchetypeType(ElementArchetypeType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3906,6 +6732,8 @@ module Raw { override string toString() { result = "EnumType" } } + private Element getImmediateChildOfEnumType(EnumType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3913,6 +6741,10 @@ module Raw { override string toString() { result = "ExistentialArchetypeType" } } + private Element getImmediateChildOfExistentialArchetypeType(ExistentialArchetypeType e, int index) { + none() + } + /** * INTERNAL: Do not use. */ @@ -3920,6 +6752,8 @@ module Raw { override string toString() { result = "OptionalType" } } + private Element getImmediateChildOfOptionalType(OptionalType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3927,6 +6761,8 @@ module Raw { override string toString() { result = "ProtocolType" } } + private Element getImmediateChildOfProtocolType(ProtocolType e, int index) { none() } + /** * INTERNAL: Do not use. */ @@ -3934,10 +6770,534 @@ module Raw { override string toString() { result = "StructType" } } + private Element getImmediateChildOfStructType(StructType e, int index) { none() } + /** * INTERNAL: Do not use. */ class VariadicSequenceType extends @variadic_sequence_type, UnarySyntaxSugarType { override string toString() { result = "VariadicSequenceType" } } + + private Element getImmediateChildOfVariadicSequenceType(VariadicSequenceType e, int index) { + none() + } + + /** + * Gets the immediate child indexed at `index`. Indexes are not guaranteed to be contiguous, but are guaranteed to be distinct. + */ + pragma[nomagic] + Element getImmediateChild(Element e, int index) { + // why does this look more complicated than it should? + // * none() simplifies generation, as we can append `or ...` without a special case for the first item + none() + or + result = getImmediateChildOfComment(e, index) + or + result = getImmediateChildOfDbFile(e, index) + or + result = getImmediateChildOfDbLocation(e, index) + or + result = getImmediateChildOfDiagnostics(e, index) + or + result = getImmediateChildOfAvailabilityInfo(e, index) + or + result = getImmediateChildOfAvailabilitySpec(e, index) + or + result = getImmediateChildOfKeyPathComponent(e, index) + or + result = getImmediateChildOfMacroRole(e, index) + or + result = getImmediateChildOfUnspecifiedElement(e, index) + or + result = getImmediateChildOfCapturedDecl(e, index) + or + result = getImmediateChildOfEnumCaseDecl(e, index) + or + result = getImmediateChildOfExtensionDecl(e, index) + or + result = getImmediateChildOfIfConfigDecl(e, index) + or + result = getImmediateChildOfImportDecl(e, index) + or + result = getImmediateChildOfMissingMemberDecl(e, index) + or + result = getImmediateChildOfPatternBindingDecl(e, index) + or + result = getImmediateChildOfPoundDiagnosticDecl(e, index) + or + result = getImmediateChildOfPrecedenceGroupDecl(e, index) + or + result = getImmediateChildOfTopLevelCodeDecl(e, index) + or + result = getImmediateChildOfUsingDecl(e, index) + or + result = getImmediateChildOfEnumElementDecl(e, index) + or + result = getImmediateChildOfInfixOperatorDecl(e, index) + or + result = getImmediateChildOfMacroDecl(e, index) + or + result = getImmediateChildOfPostfixOperatorDecl(e, index) + or + result = getImmediateChildOfPrefixOperatorDecl(e, index) + or + result = getImmediateChildOfDeinitializer(e, index) + or + result = getImmediateChildOfInitializer(e, index) + or + result = getImmediateChildOfModuleDecl(e, index) + or + result = getImmediateChildOfSubscriptDecl(e, index) + or + result = getImmediateChildOfAccessor(e, index) + or + result = getImmediateChildOfAssociatedTypeDecl(e, index) + or + result = getImmediateChildOfConcreteVarDecl(e, index) + or + result = getImmediateChildOfGenericTypeParamDecl(e, index) + or + result = getImmediateChildOfNamedFunction(e, index) + or + result = getImmediateChildOfOpaqueTypeDecl(e, index) + or + result = getImmediateChildOfParamDecl(e, index) + or + result = getImmediateChildOfTypeAliasDecl(e, index) + or + result = getImmediateChildOfClassDecl(e, index) + or + result = getImmediateChildOfEnumDecl(e, index) + or + result = getImmediateChildOfProtocolDecl(e, index) + or + result = getImmediateChildOfStructDecl(e, index) + or + result = getImmediateChildOfArgument(e, index) + or + result = getImmediateChildOfAppliedPropertyWrapperExpr(e, index) + or + result = getImmediateChildOfAssignExpr(e, index) + or + result = getImmediateChildOfBindOptionalExpr(e, index) + or + result = getImmediateChildOfCaptureListExpr(e, index) + or + result = getImmediateChildOfConsumeExpr(e, index) + or + result = getImmediateChildOfCopyExpr(e, index) + or + result = getImmediateChildOfCurrentContextIsolationExpr(e, index) + or + result = getImmediateChildOfDeclRefExpr(e, index) + or + result = getImmediateChildOfDefaultArgumentExpr(e, index) + or + result = getImmediateChildOfDiscardAssignmentExpr(e, index) + or + result = getImmediateChildOfDotSyntaxBaseIgnoredExpr(e, index) + or + result = getImmediateChildOfDynamicTypeExpr(e, index) + or + result = getImmediateChildOfEnumIsCaseExpr(e, index) + or + result = getImmediateChildOfErrorExpr(e, index) + or + result = getImmediateChildOfExtractFunctionIsolationExpr(e, index) + or + result = getImmediateChildOfForceValueExpr(e, index) + or + result = getImmediateChildOfIfExpr(e, index) + or + result = getImmediateChildOfInOutExpr(e, index) + or + result = getImmediateChildOfKeyPathApplicationExpr(e, index) + or + result = getImmediateChildOfKeyPathDotExpr(e, index) + or + result = getImmediateChildOfKeyPathExpr(e, index) + or + result = getImmediateChildOfLazyInitializationExpr(e, index) + or + result = getImmediateChildOfMakeTemporarilyEscapableExpr(e, index) + or + result = getImmediateChildOfMaterializePackExpr(e, index) + or + result = getImmediateChildOfObjCSelectorExpr(e, index) + or + result = getImmediateChildOfOneWayExpr(e, index) + or + result = getImmediateChildOfOpaqueValueExpr(e, index) + or + result = getImmediateChildOfOpenExistentialExpr(e, index) + or + result = getImmediateChildOfOptionalEvaluationExpr(e, index) + or + result = getImmediateChildOfOtherInitializerRefExpr(e, index) + or + result = getImmediateChildOfOverloadedDeclRefExpr(e, index) + or + result = getImmediateChildOfPackElementExpr(e, index) + or + result = getImmediateChildOfPackExpansionExpr(e, index) + or + result = getImmediateChildOfPropertyWrapperValuePlaceholderExpr(e, index) + or + result = getImmediateChildOfRebindSelfInInitializerExpr(e, index) + or + result = getImmediateChildOfSequenceExpr(e, index) + or + result = getImmediateChildOfSingleValueStmtExpr(e, index) + or + result = getImmediateChildOfSuperRefExpr(e, index) + or + result = getImmediateChildOfTapExpr(e, index) + or + result = getImmediateChildOfTupleElementExpr(e, index) + or + result = getImmediateChildOfTupleExpr(e, index) + or + result = getImmediateChildOfTypeExpr(e, index) + or + result = getImmediateChildOfTypeValueExpr(e, index) + or + result = getImmediateChildOfUnresolvedDeclRefExpr(e, index) + or + result = getImmediateChildOfUnresolvedDotExpr(e, index) + or + result = getImmediateChildOfUnresolvedMemberExpr(e, index) + or + result = getImmediateChildOfUnresolvedPatternExpr(e, index) + or + result = getImmediateChildOfUnresolvedSpecializeExpr(e, index) + or + result = getImmediateChildOfVarargExpansionExpr(e, index) + or + result = getImmediateChildOfAbiSafeConversionExpr(e, index) + or + result = getImmediateChildOfActorIsolationErasureExpr(e, index) + or + result = getImmediateChildOfAnyHashableErasureExpr(e, index) + or + result = getImmediateChildOfArchetypeToSuperExpr(e, index) + or + result = getImmediateChildOfArrayExpr(e, index) + or + result = getImmediateChildOfArrayToPointerExpr(e, index) + or + result = getImmediateChildOfAutoClosureExpr(e, index) + or + result = getImmediateChildOfAwaitExpr(e, index) + or + result = getImmediateChildOfBinaryExpr(e, index) + or + result = getImmediateChildOfBorrowExpr(e, index) + or + result = getImmediateChildOfBridgeFromObjCExpr(e, index) + or + result = getImmediateChildOfBridgeToObjCExpr(e, index) + or + result = getImmediateChildOfCallExpr(e, index) + or + result = getImmediateChildOfClassMetatypeToObjectExpr(e, index) + or + result = getImmediateChildOfCoerceExpr(e, index) + or + result = getImmediateChildOfCollectionUpcastConversionExpr(e, index) + or + result = getImmediateChildOfConditionalBridgeFromObjCExpr(e, index) + or + result = getImmediateChildOfCovariantFunctionConversionExpr(e, index) + or + result = getImmediateChildOfCovariantReturnConversionExpr(e, index) + or + result = getImmediateChildOfDerivedToBaseExpr(e, index) + or + result = getImmediateChildOfDestructureTupleExpr(e, index) + or + result = getImmediateChildOfDictionaryExpr(e, index) + or + result = getImmediateChildOfDifferentiableFunctionExpr(e, index) + or + result = getImmediateChildOfDifferentiableFunctionExtractOriginalExpr(e, index) + or + result = getImmediateChildOfDotSelfExpr(e, index) + or + result = getImmediateChildOfErasureExpr(e, index) + or + result = getImmediateChildOfExistentialMetatypeToObjectExpr(e, index) + or + result = getImmediateChildOfExplicitClosureExpr(e, index) + or + result = getImmediateChildOfForceTryExpr(e, index) + or + result = getImmediateChildOfForeignObjectConversionExpr(e, index) + or + result = getImmediateChildOfFunctionConversionExpr(e, index) + or + result = getImmediateChildOfInOutToPointerExpr(e, index) + or + result = getImmediateChildOfInjectIntoOptionalExpr(e, index) + or + result = getImmediateChildOfInterpolatedStringLiteralExpr(e, index) + or + result = getImmediateChildOfLinearFunctionExpr(e, index) + or + result = getImmediateChildOfLinearFunctionExtractOriginalExpr(e, index) + or + result = getImmediateChildOfLinearToDifferentiableFunctionExpr(e, index) + or + result = getImmediateChildOfLoadExpr(e, index) + or + result = getImmediateChildOfMemberRefExpr(e, index) + or + result = getImmediateChildOfMetatypeConversionExpr(e, index) + or + result = getImmediateChildOfNilLiteralExpr(e, index) + or + result = getImmediateChildOfObjectLiteralExpr(e, index) + or + result = getImmediateChildOfOptionalTryExpr(e, index) + or + result = getImmediateChildOfParenExpr(e, index) + or + result = getImmediateChildOfPointerToPointerExpr(e, index) + or + result = getImmediateChildOfPostfixUnaryExpr(e, index) + or + result = getImmediateChildOfPrefixUnaryExpr(e, index) + or + result = getImmediateChildOfProtocolMetatypeToObjectExpr(e, index) + or + result = getImmediateChildOfRegexLiteralExpr(e, index) + or + result = getImmediateChildOfStringToPointerExpr(e, index) + or + result = getImmediateChildOfSubscriptExpr(e, index) + or + result = getImmediateChildOfTryExpr(e, index) + or + result = getImmediateChildOfUnderlyingToOpaqueExpr(e, index) + or + result = getImmediateChildOfUnevaluatedInstanceExpr(e, index) + or + result = getImmediateChildOfUnreachableExpr(e, index) + or + result = getImmediateChildOfUnresolvedMemberChainResultExpr(e, index) + or + result = getImmediateChildOfUnresolvedTypeConversionExpr(e, index) + or + result = getImmediateChildOfUnsafeCastExpr(e, index) + or + result = getImmediateChildOfUnsafeExpr(e, index) + or + result = getImmediateChildOfBooleanLiteralExpr(e, index) + or + result = getImmediateChildOfConditionalCheckedCastExpr(e, index) + or + result = getImmediateChildOfDotSyntaxCallExpr(e, index) + or + result = getImmediateChildOfDynamicMemberRefExpr(e, index) + or + result = getImmediateChildOfDynamicSubscriptExpr(e, index) + or + result = getImmediateChildOfForcedCheckedCastExpr(e, index) + or + result = getImmediateChildOfInitializerRefCallExpr(e, index) + or + result = getImmediateChildOfIsExpr(e, index) + or + result = getImmediateChildOfMagicIdentifierLiteralExpr(e, index) + or + result = getImmediateChildOfStringLiteralExpr(e, index) + or + result = getImmediateChildOfFloatLiteralExpr(e, index) + or + result = getImmediateChildOfIntegerLiteralExpr(e, index) + or + result = getImmediateChildOfAnyPattern(e, index) + or + result = getImmediateChildOfBindingPattern(e, index) + or + result = getImmediateChildOfBoolPattern(e, index) + or + result = getImmediateChildOfEnumElementPattern(e, index) + or + result = getImmediateChildOfExprPattern(e, index) + or + result = getImmediateChildOfIsPattern(e, index) + or + result = getImmediateChildOfNamedPattern(e, index) + or + result = getImmediateChildOfOptionalSomePattern(e, index) + or + result = getImmediateChildOfParenPattern(e, index) + or + result = getImmediateChildOfTuplePattern(e, index) + or + result = getImmediateChildOfTypedPattern(e, index) + or + result = getImmediateChildOfCaseLabelItem(e, index) + or + result = getImmediateChildOfConditionElement(e, index) + or + result = getImmediateChildOfStmtCondition(e, index) + or + result = getImmediateChildOfBraceStmt(e, index) + or + result = getImmediateChildOfBreakStmt(e, index) + or + result = getImmediateChildOfCaseStmt(e, index) + or + result = getImmediateChildOfContinueStmt(e, index) + or + result = getImmediateChildOfDeferStmt(e, index) + or + result = getImmediateChildOfDiscardStmt(e, index) + or + result = getImmediateChildOfFailStmt(e, index) + or + result = getImmediateChildOfFallthroughStmt(e, index) + or + result = getImmediateChildOfPoundAssertStmt(e, index) + or + result = getImmediateChildOfReturnStmt(e, index) + or + result = getImmediateChildOfThenStmt(e, index) + or + result = getImmediateChildOfThrowStmt(e, index) + or + result = getImmediateChildOfYieldStmt(e, index) + or + result = getImmediateChildOfDoCatchStmt(e, index) + or + result = getImmediateChildOfDoStmt(e, index) + or + result = getImmediateChildOfForEachStmt(e, index) + or + result = getImmediateChildOfRepeatWhileStmt(e, index) + or + result = getImmediateChildOfSwitchStmt(e, index) + or + result = getImmediateChildOfGuardStmt(e, index) + or + result = getImmediateChildOfIfStmt(e, index) + or + result = getImmediateChildOfWhileStmt(e, index) + or + result = getImmediateChildOfTypeRepr(e, index) + or + result = getImmediateChildOfDependentMemberType(e, index) + or + result = getImmediateChildOfDynamicSelfType(e, index) + or + result = getImmediateChildOfErrorType(e, index) + or + result = getImmediateChildOfExistentialType(e, index) + or + result = getImmediateChildOfInOutType(e, index) + or + result = getImmediateChildOfIntegerType(e, index) + or + result = getImmediateChildOfLValueType(e, index) + or + result = getImmediateChildOfModuleType(e, index) + or + result = getImmediateChildOfPackElementType(e, index) + or + result = getImmediateChildOfPackExpansionType(e, index) + or + result = getImmediateChildOfPackType(e, index) + or + result = getImmediateChildOfParameterizedProtocolType(e, index) + or + result = getImmediateChildOfProtocolCompositionType(e, index) + or + result = getImmediateChildOfTupleType(e, index) + or + result = getImmediateChildOfUnresolvedType(e, index) + or + result = getImmediateChildOfBuiltinBridgeObjectType(e, index) + or + result = getImmediateChildOfBuiltinDefaultActorStorageType(e, index) + or + result = getImmediateChildOfBuiltinExecutorType(e, index) + or + result = getImmediateChildOfBuiltinFixedArrayType(e, index) + or + result = getImmediateChildOfBuiltinFloatType(e, index) + or + result = getImmediateChildOfBuiltinJobType(e, index) + or + result = getImmediateChildOfBuiltinNativeObjectType(e, index) + or + result = getImmediateChildOfBuiltinRawPointerType(e, index) + or + result = getImmediateChildOfBuiltinRawUnsafeContinuationType(e, index) + or + result = getImmediateChildOfBuiltinUnsafeValueBufferType(e, index) + or + result = getImmediateChildOfBuiltinVectorType(e, index) + or + result = getImmediateChildOfExistentialMetatypeType(e, index) + or + result = getImmediateChildOfFunctionType(e, index) + or + result = getImmediateChildOfGenericFunctionType(e, index) + or + result = getImmediateChildOfGenericTypeParamType(e, index) + or + result = getImmediateChildOfMetatypeType(e, index) + or + result = getImmediateChildOfParenType(e, index) + or + result = getImmediateChildOfTypeAliasType(e, index) + or + result = getImmediateChildOfUnboundGenericType(e, index) + or + result = getImmediateChildOfUnmanagedStorageType(e, index) + or + result = getImmediateChildOfUnownedStorageType(e, index) + or + result = getImmediateChildOfWeakStorageType(e, index) + or + result = getImmediateChildOfBuiltinIntegerLiteralType(e, index) + or + result = getImmediateChildOfBuiltinIntegerType(e, index) + or + result = getImmediateChildOfDictionaryType(e, index) + or + result = getImmediateChildOfInlineArrayType(e, index) + or + result = getImmediateChildOfOpaqueTypeArchetypeType(e, index) + or + result = getImmediateChildOfPackArchetypeType(e, index) + or + result = getImmediateChildOfPrimaryArchetypeType(e, index) + or + result = getImmediateChildOfArraySliceType(e, index) + or + result = getImmediateChildOfBoundGenericClassType(e, index) + or + result = getImmediateChildOfBoundGenericEnumType(e, index) + or + result = getImmediateChildOfBoundGenericStructType(e, index) + or + result = getImmediateChildOfClassType(e, index) + or + result = getImmediateChildOfElementArchetypeType(e, index) + or + result = getImmediateChildOfEnumType(e, index) + or + result = getImmediateChildOfExistentialArchetypeType(e, index) + or + result = getImmediateChildOfOptionalType(e, index) + or + result = getImmediateChildOfProtocolType(e, index) + or + result = getImmediateChildOfStructType(e, index) + or + result = getImmediateChildOfVariadicSequenceType(e, index) + } } diff --git a/swift/ql/lib/codeql/swift/generated/Synth.qll b/swift/ql/lib/codeql/swift/generated/Synth.qll index 886fb855047..27508df94e9 100644 --- a/swift/ql/lib/codeql/swift/generated/Synth.qll +++ b/swift/ql/lib/codeql/swift/generated/Synth.qll @@ -1453,66 +1453,84 @@ module Synth { /** * INTERNAL: Do not use. + * + * Gets the parent of synthetic element `e`. + */ + Raw::Element getSynthParent(TElement e) { none() } + + /** + * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAvailabilityInfo`, if possible. */ TAvailabilityInfo convertAvailabilityInfoFromRaw(Raw::Element e) { result = TAvailabilityInfo(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAvailabilitySpec`, if possible. */ TAvailabilitySpec convertAvailabilitySpecFromRaw(Raw::Element e) { result = TAvailabilitySpec(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TComment`, if possible. */ TComment convertCommentFromRaw(Raw::Element e) { result = TComment(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDbFile`, if possible. */ TDbFile convertDbFileFromRaw(Raw::Element e) { result = TDbFile(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDbLocation`, if possible. */ TDbLocation convertDbLocationFromRaw(Raw::Element e) { result = TDbLocation(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDiagnostics`, if possible. */ TDiagnostics convertDiagnosticsFromRaw(Raw::Element e) { result = TDiagnostics(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TKeyPathComponent`, if possible. */ TKeyPathComponent convertKeyPathComponentFromRaw(Raw::Element e) { result = TKeyPathComponent(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMacroRole`, if possible. */ TMacroRole convertMacroRoleFromRaw(Raw::Element e) { result = TMacroRole(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnknownFile`, if possible. */ TUnknownFile convertUnknownFileFromRaw(Raw::Element e) { none() } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnknownLocation`, if possible. */ TUnknownLocation convertUnknownLocationFromRaw(Raw::Element e) { none() } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnspecifiedElement`, if possible. */ TUnspecifiedElement convertUnspecifiedElementFromRaw(Raw::Element e) { @@ -1521,12 +1539,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAccessor`, if possible. */ TAccessor convertAccessorFromRaw(Raw::Element e) { result = TAccessor(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAssociatedTypeDecl`, if possible. */ TAssociatedTypeDecl convertAssociatedTypeDeclFromRaw(Raw::Element e) { @@ -1535,54 +1555,63 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCapturedDecl`, if possible. */ TCapturedDecl convertCapturedDeclFromRaw(Raw::Element e) { result = TCapturedDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TClassDecl`, if possible. */ TClassDecl convertClassDeclFromRaw(Raw::Element e) { result = TClassDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TConcreteVarDecl`, if possible. */ TConcreteVarDecl convertConcreteVarDeclFromRaw(Raw::Element e) { result = TConcreteVarDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDeinitializer`, if possible. */ TDeinitializer convertDeinitializerFromRaw(Raw::Element e) { result = TDeinitializer(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumCaseDecl`, if possible. */ TEnumCaseDecl convertEnumCaseDeclFromRaw(Raw::Element e) { result = TEnumCaseDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumDecl`, if possible. */ TEnumDecl convertEnumDeclFromRaw(Raw::Element e) { result = TEnumDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumElementDecl`, if possible. */ TEnumElementDecl convertEnumElementDeclFromRaw(Raw::Element e) { result = TEnumElementDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExtensionDecl`, if possible. */ TExtensionDecl convertExtensionDeclFromRaw(Raw::Element e) { result = TExtensionDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TGenericTypeParamDecl`, if possible. */ TGenericTypeParamDecl convertGenericTypeParamDeclFromRaw(Raw::Element e) { @@ -1591,18 +1620,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIfConfigDecl`, if possible. */ TIfConfigDecl convertIfConfigDeclFromRaw(Raw::Element e) { result = TIfConfigDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TImportDecl`, if possible. */ TImportDecl convertImportDeclFromRaw(Raw::Element e) { result = TImportDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInfixOperatorDecl`, if possible. */ TInfixOperatorDecl convertInfixOperatorDeclFromRaw(Raw::Element e) { @@ -1611,18 +1643,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInitializer`, if possible. */ TInitializer convertInitializerFromRaw(Raw::Element e) { result = TInitializer(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMacroDecl`, if possible. */ TMacroDecl convertMacroDeclFromRaw(Raw::Element e) { result = TMacroDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMissingMemberDecl`, if possible. */ TMissingMemberDecl convertMissingMemberDeclFromRaw(Raw::Element e) { @@ -1631,30 +1666,35 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TModuleDecl`, if possible. */ TModuleDecl convertModuleDeclFromRaw(Raw::Element e) { result = TModuleDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TNamedFunction`, if possible. */ TNamedFunction convertNamedFunctionFromRaw(Raw::Element e) { result = TNamedFunction(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOpaqueTypeDecl`, if possible. */ TOpaqueTypeDecl convertOpaqueTypeDeclFromRaw(Raw::Element e) { result = TOpaqueTypeDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TParamDecl`, if possible. */ TParamDecl convertParamDeclFromRaw(Raw::Element e) { result = TParamDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPatternBindingDecl`, if possible. */ TPatternBindingDecl convertPatternBindingDeclFromRaw(Raw::Element e) { @@ -1663,6 +1703,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPostfixOperatorDecl`, if possible. */ TPostfixOperatorDecl convertPostfixOperatorDeclFromRaw(Raw::Element e) { @@ -1671,6 +1712,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPoundDiagnosticDecl`, if possible. */ TPoundDiagnosticDecl convertPoundDiagnosticDeclFromRaw(Raw::Element e) { @@ -1679,6 +1721,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPrecedenceGroupDecl`, if possible. */ TPrecedenceGroupDecl convertPrecedenceGroupDeclFromRaw(Raw::Element e) { @@ -1687,6 +1730,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPrefixOperatorDecl`, if possible. */ TPrefixOperatorDecl convertPrefixOperatorDeclFromRaw(Raw::Element e) { @@ -1695,42 +1739,49 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TProtocolDecl`, if possible. */ TProtocolDecl convertProtocolDeclFromRaw(Raw::Element e) { result = TProtocolDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TStructDecl`, if possible. */ TStructDecl convertStructDeclFromRaw(Raw::Element e) { result = TStructDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSubscriptDecl`, if possible. */ TSubscriptDecl convertSubscriptDeclFromRaw(Raw::Element e) { result = TSubscriptDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTopLevelCodeDecl`, if possible. */ TTopLevelCodeDecl convertTopLevelCodeDeclFromRaw(Raw::Element e) { result = TTopLevelCodeDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypeAliasDecl`, if possible. */ TTypeAliasDecl convertTypeAliasDeclFromRaw(Raw::Element e) { result = TTypeAliasDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUsingDecl`, if possible. */ TUsingDecl convertUsingDeclFromRaw(Raw::Element e) { result = TUsingDecl(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAbiSafeConversionExpr`, if possible. */ TAbiSafeConversionExpr convertAbiSafeConversionExprFromRaw(Raw::Element e) { @@ -1739,6 +1790,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TActorIsolationErasureExpr`, if possible. */ TActorIsolationErasureExpr convertActorIsolationErasureExprFromRaw(Raw::Element e) { @@ -1747,6 +1799,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAnyHashableErasureExpr`, if possible. */ TAnyHashableErasureExpr convertAnyHashableErasureExprFromRaw(Raw::Element e) { @@ -1755,6 +1808,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAppliedPropertyWrapperExpr`, if possible. */ TAppliedPropertyWrapperExpr convertAppliedPropertyWrapperExprFromRaw(Raw::Element e) { @@ -1763,6 +1817,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TArchetypeToSuperExpr`, if possible. */ TArchetypeToSuperExpr convertArchetypeToSuperExprFromRaw(Raw::Element e) { @@ -1771,18 +1826,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TArgument`, if possible. */ TArgument convertArgumentFromRaw(Raw::Element e) { result = TArgument(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TArrayExpr`, if possible. */ TArrayExpr convertArrayExprFromRaw(Raw::Element e) { result = TArrayExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TArrayToPointerExpr`, if possible. */ TArrayToPointerExpr convertArrayToPointerExprFromRaw(Raw::Element e) { @@ -1791,36 +1849,42 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAssignExpr`, if possible. */ TAssignExpr convertAssignExprFromRaw(Raw::Element e) { result = TAssignExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAutoClosureExpr`, if possible. */ TAutoClosureExpr convertAutoClosureExprFromRaw(Raw::Element e) { result = TAutoClosureExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAwaitExpr`, if possible. */ TAwaitExpr convertAwaitExprFromRaw(Raw::Element e) { result = TAwaitExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBinaryExpr`, if possible. */ TBinaryExpr convertBinaryExprFromRaw(Raw::Element e) { result = TBinaryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBindOptionalExpr`, if possible. */ TBindOptionalExpr convertBindOptionalExprFromRaw(Raw::Element e) { result = TBindOptionalExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBooleanLiteralExpr`, if possible. */ TBooleanLiteralExpr convertBooleanLiteralExprFromRaw(Raw::Element e) { @@ -1829,12 +1893,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBorrowExpr`, if possible. */ TBorrowExpr convertBorrowExprFromRaw(Raw::Element e) { result = TBorrowExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBridgeFromObjCExpr`, if possible. */ TBridgeFromObjCExpr convertBridgeFromObjCExprFromRaw(Raw::Element e) { @@ -1843,24 +1909,28 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBridgeToObjCExpr`, if possible. */ TBridgeToObjCExpr convertBridgeToObjCExprFromRaw(Raw::Element e) { result = TBridgeToObjCExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCallExpr`, if possible. */ TCallExpr convertCallExprFromRaw(Raw::Element e) { result = TCallExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCaptureListExpr`, if possible. */ TCaptureListExpr convertCaptureListExprFromRaw(Raw::Element e) { result = TCaptureListExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TClassMetatypeToObjectExpr`, if possible. */ TClassMetatypeToObjectExpr convertClassMetatypeToObjectExprFromRaw(Raw::Element e) { @@ -1869,12 +1939,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCoerceExpr`, if possible. */ TCoerceExpr convertCoerceExprFromRaw(Raw::Element e) { result = TCoerceExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCollectionUpcastConversionExpr`, if possible. */ TCollectionUpcastConversionExpr convertCollectionUpcastConversionExprFromRaw(Raw::Element e) { @@ -1883,6 +1955,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TConditionalBridgeFromObjCExpr`, if possible. */ TConditionalBridgeFromObjCExpr convertConditionalBridgeFromObjCExprFromRaw(Raw::Element e) { @@ -1891,6 +1964,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TConditionalCheckedCastExpr`, if possible. */ TConditionalCheckedCastExpr convertConditionalCheckedCastExprFromRaw(Raw::Element e) { @@ -1899,18 +1973,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TConsumeExpr`, if possible. */ TConsumeExpr convertConsumeExprFromRaw(Raw::Element e) { result = TConsumeExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCopyExpr`, if possible. */ TCopyExpr convertCopyExprFromRaw(Raw::Element e) { result = TCopyExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCovariantFunctionConversionExpr`, if possible. */ TCovariantFunctionConversionExpr convertCovariantFunctionConversionExprFromRaw(Raw::Element e) { @@ -1919,6 +1996,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCovariantReturnConversionExpr`, if possible. */ TCovariantReturnConversionExpr convertCovariantReturnConversionExprFromRaw(Raw::Element e) { @@ -1927,6 +2005,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCurrentContextIsolationExpr`, if possible. */ TCurrentContextIsolationExpr convertCurrentContextIsolationExprFromRaw(Raw::Element e) { @@ -1935,12 +2014,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDeclRefExpr`, if possible. */ TDeclRefExpr convertDeclRefExprFromRaw(Raw::Element e) { result = TDeclRefExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDefaultArgumentExpr`, if possible. */ TDefaultArgumentExpr convertDefaultArgumentExprFromRaw(Raw::Element e) { @@ -1949,6 +2030,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDerivedToBaseExpr`, if possible. */ TDerivedToBaseExpr convertDerivedToBaseExprFromRaw(Raw::Element e) { @@ -1957,6 +2039,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDestructureTupleExpr`, if possible. */ TDestructureTupleExpr convertDestructureTupleExprFromRaw(Raw::Element e) { @@ -1965,12 +2048,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDictionaryExpr`, if possible. */ TDictionaryExpr convertDictionaryExprFromRaw(Raw::Element e) { result = TDictionaryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDifferentiableFunctionExpr`, if possible. */ TDifferentiableFunctionExpr convertDifferentiableFunctionExprFromRaw(Raw::Element e) { @@ -1979,6 +2064,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDifferentiableFunctionExtractOriginalExpr`, if possible. */ TDifferentiableFunctionExtractOriginalExpr convertDifferentiableFunctionExtractOriginalExprFromRaw( @@ -1989,6 +2075,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDiscardAssignmentExpr`, if possible. */ TDiscardAssignmentExpr convertDiscardAssignmentExprFromRaw(Raw::Element e) { @@ -1997,12 +2084,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDotSelfExpr`, if possible. */ TDotSelfExpr convertDotSelfExprFromRaw(Raw::Element e) { result = TDotSelfExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDotSyntaxBaseIgnoredExpr`, if possible. */ TDotSyntaxBaseIgnoredExpr convertDotSyntaxBaseIgnoredExprFromRaw(Raw::Element e) { @@ -2011,6 +2100,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDotSyntaxCallExpr`, if possible. */ TDotSyntaxCallExpr convertDotSyntaxCallExprFromRaw(Raw::Element e) { @@ -2019,6 +2109,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDynamicMemberRefExpr`, if possible. */ TDynamicMemberRefExpr convertDynamicMemberRefExprFromRaw(Raw::Element e) { @@ -2027,6 +2118,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDynamicSubscriptExpr`, if possible. */ TDynamicSubscriptExpr convertDynamicSubscriptExprFromRaw(Raw::Element e) { @@ -2035,30 +2127,35 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDynamicTypeExpr`, if possible. */ TDynamicTypeExpr convertDynamicTypeExprFromRaw(Raw::Element e) { result = TDynamicTypeExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumIsCaseExpr`, if possible. */ TEnumIsCaseExpr convertEnumIsCaseExprFromRaw(Raw::Element e) { result = TEnumIsCaseExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TErasureExpr`, if possible. */ TErasureExpr convertErasureExprFromRaw(Raw::Element e) { result = TErasureExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TErrorExpr`, if possible. */ TErrorExpr convertErrorExprFromRaw(Raw::Element e) { result = TErrorExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExistentialMetatypeToObjectExpr`, if possible. */ TExistentialMetatypeToObjectExpr convertExistentialMetatypeToObjectExprFromRaw(Raw::Element e) { @@ -2067,6 +2164,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExplicitClosureExpr`, if possible. */ TExplicitClosureExpr convertExplicitClosureExprFromRaw(Raw::Element e) { @@ -2075,6 +2173,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExtractFunctionIsolationExpr`, if possible. */ TExtractFunctionIsolationExpr convertExtractFunctionIsolationExprFromRaw(Raw::Element e) { @@ -2083,24 +2182,28 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TFloatLiteralExpr`, if possible. */ TFloatLiteralExpr convertFloatLiteralExprFromRaw(Raw::Element e) { result = TFloatLiteralExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TForceTryExpr`, if possible. */ TForceTryExpr convertForceTryExprFromRaw(Raw::Element e) { result = TForceTryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TForceValueExpr`, if possible. */ TForceValueExpr convertForceValueExprFromRaw(Raw::Element e) { result = TForceValueExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TForcedCheckedCastExpr`, if possible. */ TForcedCheckedCastExpr convertForcedCheckedCastExprFromRaw(Raw::Element e) { @@ -2109,6 +2212,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TForeignObjectConversionExpr`, if possible. */ TForeignObjectConversionExpr convertForeignObjectConversionExprFromRaw(Raw::Element e) { @@ -2117,6 +2221,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TFunctionConversionExpr`, if possible. */ TFunctionConversionExpr convertFunctionConversionExprFromRaw(Raw::Element e) { @@ -2125,18 +2230,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIfExpr`, if possible. */ TIfExpr convertIfExprFromRaw(Raw::Element e) { result = TIfExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInOutExpr`, if possible. */ TInOutExpr convertInOutExprFromRaw(Raw::Element e) { result = TInOutExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInOutToPointerExpr`, if possible. */ TInOutToPointerExpr convertInOutToPointerExprFromRaw(Raw::Element e) { @@ -2145,6 +2253,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInitializerRefCallExpr`, if possible. */ TInitializerRefCallExpr convertInitializerRefCallExprFromRaw(Raw::Element e) { @@ -2153,6 +2262,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInjectIntoOptionalExpr`, if possible. */ TInjectIntoOptionalExpr convertInjectIntoOptionalExprFromRaw(Raw::Element e) { @@ -2161,6 +2271,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIntegerLiteralExpr`, if possible. */ TIntegerLiteralExpr convertIntegerLiteralExprFromRaw(Raw::Element e) { @@ -2169,6 +2280,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInterpolatedStringLiteralExpr`, if possible. */ TInterpolatedStringLiteralExpr convertInterpolatedStringLiteralExprFromRaw(Raw::Element e) { @@ -2177,12 +2289,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIsExpr`, if possible. */ TIsExpr convertIsExprFromRaw(Raw::Element e) { result = TIsExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TKeyPathApplicationExpr`, if possible. */ TKeyPathApplicationExpr convertKeyPathApplicationExprFromRaw(Raw::Element e) { @@ -2191,18 +2305,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TKeyPathDotExpr`, if possible. */ TKeyPathDotExpr convertKeyPathDotExprFromRaw(Raw::Element e) { result = TKeyPathDotExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TKeyPathExpr`, if possible. */ TKeyPathExpr convertKeyPathExprFromRaw(Raw::Element e) { result = TKeyPathExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLazyInitializationExpr`, if possible. */ TLazyInitializationExpr convertLazyInitializationExprFromRaw(Raw::Element e) { @@ -2211,6 +2328,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLinearFunctionExpr`, if possible. */ TLinearFunctionExpr convertLinearFunctionExprFromRaw(Raw::Element e) { @@ -2219,6 +2337,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLinearFunctionExtractOriginalExpr`, if possible. */ TLinearFunctionExtractOriginalExpr convertLinearFunctionExtractOriginalExprFromRaw(Raw::Element e) { @@ -2227,6 +2346,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLinearToDifferentiableFunctionExpr`, if possible. */ TLinearToDifferentiableFunctionExpr convertLinearToDifferentiableFunctionExprFromRaw( @@ -2237,12 +2357,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLoadExpr`, if possible. */ TLoadExpr convertLoadExprFromRaw(Raw::Element e) { result = TLoadExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMagicIdentifierLiteralExpr`, if possible. */ TMagicIdentifierLiteralExpr convertMagicIdentifierLiteralExprFromRaw(Raw::Element e) { @@ -2251,6 +2373,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMakeTemporarilyEscapableExpr`, if possible. */ TMakeTemporarilyEscapableExpr convertMakeTemporarilyEscapableExprFromRaw(Raw::Element e) { @@ -2259,6 +2382,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMaterializePackExpr`, if possible. */ TMaterializePackExpr convertMaterializePackExprFromRaw(Raw::Element e) { @@ -2267,12 +2391,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMemberRefExpr`, if possible. */ TMemberRefExpr convertMemberRefExprFromRaw(Raw::Element e) { result = TMemberRefExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMetatypeConversionExpr`, if possible. */ TMetatypeConversionExpr convertMetatypeConversionExprFromRaw(Raw::Element e) { @@ -2281,24 +2407,28 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMethodLookupExpr`, if possible. */ TMethodLookupExpr convertMethodLookupExprFromRaw(Raw::Element e) { result = TMethodLookupExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TNilLiteralExpr`, if possible. */ TNilLiteralExpr convertNilLiteralExprFromRaw(Raw::Element e) { result = TNilLiteralExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TObjCSelectorExpr`, if possible. */ TObjCSelectorExpr convertObjCSelectorExprFromRaw(Raw::Element e) { result = TObjCSelectorExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TObjectLiteralExpr`, if possible. */ TObjectLiteralExpr convertObjectLiteralExprFromRaw(Raw::Element e) { @@ -2307,18 +2437,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOneWayExpr`, if possible. */ TOneWayExpr convertOneWayExprFromRaw(Raw::Element e) { result = TOneWayExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOpaqueValueExpr`, if possible. */ TOpaqueValueExpr convertOpaqueValueExprFromRaw(Raw::Element e) { result = TOpaqueValueExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOpenExistentialExpr`, if possible. */ TOpenExistentialExpr convertOpenExistentialExprFromRaw(Raw::Element e) { @@ -2327,6 +2460,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOptionalEvaluationExpr`, if possible. */ TOptionalEvaluationExpr convertOptionalEvaluationExprFromRaw(Raw::Element e) { @@ -2335,12 +2469,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOptionalTryExpr`, if possible. */ TOptionalTryExpr convertOptionalTryExprFromRaw(Raw::Element e) { result = TOptionalTryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOtherInitializerRefExpr`, if possible. */ TOtherInitializerRefExpr convertOtherInitializerRefExprFromRaw(Raw::Element e) { @@ -2349,6 +2485,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOverloadedDeclRefExpr`, if possible. */ TOverloadedDeclRefExpr convertOverloadedDeclRefExprFromRaw(Raw::Element e) { @@ -2357,12 +2494,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackElementExpr`, if possible. */ TPackElementExpr convertPackElementExprFromRaw(Raw::Element e) { result = TPackElementExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackExpansionExpr`, if possible. */ TPackExpansionExpr convertPackExpansionExprFromRaw(Raw::Element e) { @@ -2371,12 +2510,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TParenExpr`, if possible. */ TParenExpr convertParenExprFromRaw(Raw::Element e) { result = TParenExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPointerToPointerExpr`, if possible. */ TPointerToPointerExpr convertPointerToPointerExprFromRaw(Raw::Element e) { @@ -2385,18 +2526,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPostfixUnaryExpr`, if possible. */ TPostfixUnaryExpr convertPostfixUnaryExprFromRaw(Raw::Element e) { result = TPostfixUnaryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPrefixUnaryExpr`, if possible. */ TPrefixUnaryExpr convertPrefixUnaryExprFromRaw(Raw::Element e) { result = TPrefixUnaryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPropertyWrapperValuePlaceholderExpr`, if possible. */ TPropertyWrapperValuePlaceholderExpr convertPropertyWrapperValuePlaceholderExprFromRaw( @@ -2407,6 +2551,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TProtocolMetatypeToObjectExpr`, if possible. */ TProtocolMetatypeToObjectExpr convertProtocolMetatypeToObjectExprFromRaw(Raw::Element e) { @@ -2415,6 +2560,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TRebindSelfInInitializerExpr`, if possible. */ TRebindSelfInInitializerExpr convertRebindSelfInInitializerExprFromRaw(Raw::Element e) { @@ -2423,18 +2569,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TRegexLiteralExpr`, if possible. */ TRegexLiteralExpr convertRegexLiteralExprFromRaw(Raw::Element e) { result = TRegexLiteralExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSequenceExpr`, if possible. */ TSequenceExpr convertSequenceExprFromRaw(Raw::Element e) { result = TSequenceExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSingleValueStmtExpr`, if possible. */ TSingleValueStmtExpr convertSingleValueStmtExprFromRaw(Raw::Element e) { @@ -2443,6 +2592,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TStringLiteralExpr`, if possible. */ TStringLiteralExpr convertStringLiteralExprFromRaw(Raw::Element e) { @@ -2451,6 +2601,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TStringToPointerExpr`, if possible. */ TStringToPointerExpr convertStringToPointerExprFromRaw(Raw::Element e) { @@ -2459,54 +2610,63 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSubscriptExpr`, if possible. */ TSubscriptExpr convertSubscriptExprFromRaw(Raw::Element e) { result = TSubscriptExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSuperRefExpr`, if possible. */ TSuperRefExpr convertSuperRefExprFromRaw(Raw::Element e) { result = TSuperRefExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTapExpr`, if possible. */ TTapExpr convertTapExprFromRaw(Raw::Element e) { result = TTapExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTryExpr`, if possible. */ TTryExpr convertTryExprFromRaw(Raw::Element e) { result = TTryExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTupleElementExpr`, if possible. */ TTupleElementExpr convertTupleElementExprFromRaw(Raw::Element e) { result = TTupleElementExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTupleExpr`, if possible. */ TTupleExpr convertTupleExprFromRaw(Raw::Element e) { result = TTupleExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypeExpr`, if possible. */ TTypeExpr convertTypeExprFromRaw(Raw::Element e) { result = TTypeExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypeValueExpr`, if possible. */ TTypeValueExpr convertTypeValueExprFromRaw(Raw::Element e) { result = TTypeValueExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnderlyingToOpaqueExpr`, if possible. */ TUnderlyingToOpaqueExpr convertUnderlyingToOpaqueExprFromRaw(Raw::Element e) { @@ -2515,6 +2675,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnevaluatedInstanceExpr`, if possible. */ TUnevaluatedInstanceExpr convertUnevaluatedInstanceExprFromRaw(Raw::Element e) { @@ -2523,12 +2684,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnreachableExpr`, if possible. */ TUnreachableExpr convertUnreachableExprFromRaw(Raw::Element e) { result = TUnreachableExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedDeclRefExpr`, if possible. */ TUnresolvedDeclRefExpr convertUnresolvedDeclRefExprFromRaw(Raw::Element e) { @@ -2537,6 +2700,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedDotExpr`, if possible. */ TUnresolvedDotExpr convertUnresolvedDotExprFromRaw(Raw::Element e) { @@ -2545,6 +2709,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedMemberChainResultExpr`, if possible. */ TUnresolvedMemberChainResultExpr convertUnresolvedMemberChainResultExprFromRaw(Raw::Element e) { @@ -2553,6 +2718,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedMemberExpr`, if possible. */ TUnresolvedMemberExpr convertUnresolvedMemberExprFromRaw(Raw::Element e) { @@ -2561,6 +2727,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedPatternExpr`, if possible. */ TUnresolvedPatternExpr convertUnresolvedPatternExprFromRaw(Raw::Element e) { @@ -2569,6 +2736,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedSpecializeExpr`, if possible. */ TUnresolvedSpecializeExpr convertUnresolvedSpecializeExprFromRaw(Raw::Element e) { @@ -2577,6 +2745,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedTypeConversionExpr`, if possible. */ TUnresolvedTypeConversionExpr convertUnresolvedTypeConversionExprFromRaw(Raw::Element e) { @@ -2585,18 +2754,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnsafeCastExpr`, if possible. */ TUnsafeCastExpr convertUnsafeCastExprFromRaw(Raw::Element e) { result = TUnsafeCastExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnsafeExpr`, if possible. */ TUnsafeExpr convertUnsafeExprFromRaw(Raw::Element e) { result = TUnsafeExpr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TVarargExpansionExpr`, if possible. */ TVarargExpansionExpr convertVarargExpansionExprFromRaw(Raw::Element e) { @@ -2605,24 +2777,28 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TAnyPattern`, if possible. */ TAnyPattern convertAnyPatternFromRaw(Raw::Element e) { result = TAnyPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBindingPattern`, if possible. */ TBindingPattern convertBindingPatternFromRaw(Raw::Element e) { result = TBindingPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBoolPattern`, if possible. */ TBoolPattern convertBoolPatternFromRaw(Raw::Element e) { result = TBoolPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumElementPattern`, if possible. */ TEnumElementPattern convertEnumElementPatternFromRaw(Raw::Element e) { @@ -2631,24 +2807,28 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExprPattern`, if possible. */ TExprPattern convertExprPatternFromRaw(Raw::Element e) { result = TExprPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIsPattern`, if possible. */ TIsPattern convertIsPatternFromRaw(Raw::Element e) { result = TIsPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TNamedPattern`, if possible. */ TNamedPattern convertNamedPatternFromRaw(Raw::Element e) { result = TNamedPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOptionalSomePattern`, if possible. */ TOptionalSomePattern convertOptionalSomePatternFromRaw(Raw::Element e) { @@ -2657,174 +2837,203 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TParenPattern`, if possible. */ TParenPattern convertParenPatternFromRaw(Raw::Element e) { result = TParenPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTuplePattern`, if possible. */ TTuplePattern convertTuplePatternFromRaw(Raw::Element e) { result = TTuplePattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypedPattern`, if possible. */ TTypedPattern convertTypedPatternFromRaw(Raw::Element e) { result = TTypedPattern(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBraceStmt`, if possible. */ TBraceStmt convertBraceStmtFromRaw(Raw::Element e) { result = TBraceStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBreakStmt`, if possible. */ TBreakStmt convertBreakStmtFromRaw(Raw::Element e) { result = TBreakStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCaseLabelItem`, if possible. */ TCaseLabelItem convertCaseLabelItemFromRaw(Raw::Element e) { result = TCaseLabelItem(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TCaseStmt`, if possible. */ TCaseStmt convertCaseStmtFromRaw(Raw::Element e) { result = TCaseStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TConditionElement`, if possible. */ TConditionElement convertConditionElementFromRaw(Raw::Element e) { result = TConditionElement(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TContinueStmt`, if possible. */ TContinueStmt convertContinueStmtFromRaw(Raw::Element e) { result = TContinueStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDeferStmt`, if possible. */ TDeferStmt convertDeferStmtFromRaw(Raw::Element e) { result = TDeferStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDiscardStmt`, if possible. */ TDiscardStmt convertDiscardStmtFromRaw(Raw::Element e) { result = TDiscardStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDoCatchStmt`, if possible. */ TDoCatchStmt convertDoCatchStmtFromRaw(Raw::Element e) { result = TDoCatchStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDoStmt`, if possible. */ TDoStmt convertDoStmtFromRaw(Raw::Element e) { result = TDoStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TFailStmt`, if possible. */ TFailStmt convertFailStmtFromRaw(Raw::Element e) { result = TFailStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TFallthroughStmt`, if possible. */ TFallthroughStmt convertFallthroughStmtFromRaw(Raw::Element e) { result = TFallthroughStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TForEachStmt`, if possible. */ TForEachStmt convertForEachStmtFromRaw(Raw::Element e) { result = TForEachStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TGuardStmt`, if possible. */ TGuardStmt convertGuardStmtFromRaw(Raw::Element e) { result = TGuardStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIfStmt`, if possible. */ TIfStmt convertIfStmtFromRaw(Raw::Element e) { result = TIfStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPoundAssertStmt`, if possible. */ TPoundAssertStmt convertPoundAssertStmtFromRaw(Raw::Element e) { result = TPoundAssertStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TRepeatWhileStmt`, if possible. */ TRepeatWhileStmt convertRepeatWhileStmtFromRaw(Raw::Element e) { result = TRepeatWhileStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TReturnStmt`, if possible. */ TReturnStmt convertReturnStmtFromRaw(Raw::Element e) { result = TReturnStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TStmtCondition`, if possible. */ TStmtCondition convertStmtConditionFromRaw(Raw::Element e) { result = TStmtCondition(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TSwitchStmt`, if possible. */ TSwitchStmt convertSwitchStmtFromRaw(Raw::Element e) { result = TSwitchStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TThenStmt`, if possible. */ TThenStmt convertThenStmtFromRaw(Raw::Element e) { result = TThenStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TThrowStmt`, if possible. */ TThrowStmt convertThrowStmtFromRaw(Raw::Element e) { result = TThrowStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TWhileStmt`, if possible. */ TWhileStmt convertWhileStmtFromRaw(Raw::Element e) { result = TWhileStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TYieldStmt`, if possible. */ TYieldStmt convertYieldStmtFromRaw(Raw::Element e) { result = TYieldStmt(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TArraySliceType`, if possible. */ TArraySliceType convertArraySliceTypeFromRaw(Raw::Element e) { result = TArraySliceType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBoundGenericClassType`, if possible. */ TBoundGenericClassType convertBoundGenericClassTypeFromRaw(Raw::Element e) { @@ -2833,6 +3042,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBoundGenericEnumType`, if possible. */ TBoundGenericEnumType convertBoundGenericEnumTypeFromRaw(Raw::Element e) { @@ -2841,6 +3051,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBoundGenericStructType`, if possible. */ TBoundGenericStructType convertBoundGenericStructTypeFromRaw(Raw::Element e) { @@ -2849,6 +3060,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinBridgeObjectType`, if possible. */ TBuiltinBridgeObjectType convertBuiltinBridgeObjectTypeFromRaw(Raw::Element e) { @@ -2857,6 +3069,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinDefaultActorStorageType`, if possible. */ TBuiltinDefaultActorStorageType convertBuiltinDefaultActorStorageTypeFromRaw(Raw::Element e) { @@ -2865,6 +3078,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinExecutorType`, if possible. */ TBuiltinExecutorType convertBuiltinExecutorTypeFromRaw(Raw::Element e) { @@ -2873,6 +3087,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinFixedArrayType`, if possible. */ TBuiltinFixedArrayType convertBuiltinFixedArrayTypeFromRaw(Raw::Element e) { @@ -2881,12 +3096,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinFloatType`, if possible. */ TBuiltinFloatType convertBuiltinFloatTypeFromRaw(Raw::Element e) { result = TBuiltinFloatType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinIntegerLiteralType`, if possible. */ TBuiltinIntegerLiteralType convertBuiltinIntegerLiteralTypeFromRaw(Raw::Element e) { @@ -2895,6 +3112,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinIntegerType`, if possible. */ TBuiltinIntegerType convertBuiltinIntegerTypeFromRaw(Raw::Element e) { @@ -2903,12 +3121,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinJobType`, if possible. */ TBuiltinJobType convertBuiltinJobTypeFromRaw(Raw::Element e) { result = TBuiltinJobType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinNativeObjectType`, if possible. */ TBuiltinNativeObjectType convertBuiltinNativeObjectTypeFromRaw(Raw::Element e) { @@ -2917,6 +3137,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinRawPointerType`, if possible. */ TBuiltinRawPointerType convertBuiltinRawPointerTypeFromRaw(Raw::Element e) { @@ -2925,6 +3146,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinRawUnsafeContinuationType`, if possible. */ TBuiltinRawUnsafeContinuationType convertBuiltinRawUnsafeContinuationTypeFromRaw(Raw::Element e) { @@ -2933,6 +3155,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinUnsafeValueBufferType`, if possible. */ TBuiltinUnsafeValueBufferType convertBuiltinUnsafeValueBufferTypeFromRaw(Raw::Element e) { @@ -2941,6 +3164,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TBuiltinVectorType`, if possible. */ TBuiltinVectorType convertBuiltinVectorTypeFromRaw(Raw::Element e) { @@ -2949,12 +3173,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TClassType`, if possible. */ TClassType convertClassTypeFromRaw(Raw::Element e) { result = TClassType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDependentMemberType`, if possible. */ TDependentMemberType convertDependentMemberTypeFromRaw(Raw::Element e) { @@ -2963,18 +3189,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDictionaryType`, if possible. */ TDictionaryType convertDictionaryTypeFromRaw(Raw::Element e) { result = TDictionaryType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TDynamicSelfType`, if possible. */ TDynamicSelfType convertDynamicSelfTypeFromRaw(Raw::Element e) { result = TDynamicSelfType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TElementArchetypeType`, if possible. */ TElementArchetypeType convertElementArchetypeTypeFromRaw(Raw::Element e) { @@ -2983,18 +3212,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TEnumType`, if possible. */ TEnumType convertEnumTypeFromRaw(Raw::Element e) { result = TEnumType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TErrorType`, if possible. */ TErrorType convertErrorTypeFromRaw(Raw::Element e) { result = TErrorType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExistentialArchetypeType`, if possible. */ TExistentialArchetypeType convertExistentialArchetypeTypeFromRaw(Raw::Element e) { @@ -3003,6 +3235,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExistentialMetatypeType`, if possible. */ TExistentialMetatypeType convertExistentialMetatypeTypeFromRaw(Raw::Element e) { @@ -3011,18 +3244,21 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TExistentialType`, if possible. */ TExistentialType convertExistentialTypeFromRaw(Raw::Element e) { result = TExistentialType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TFunctionType`, if possible. */ TFunctionType convertFunctionTypeFromRaw(Raw::Element e) { result = TFunctionType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TGenericFunctionType`, if possible. */ TGenericFunctionType convertGenericFunctionTypeFromRaw(Raw::Element e) { @@ -3031,6 +3267,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TGenericTypeParamType`, if possible. */ TGenericTypeParamType convertGenericTypeParamTypeFromRaw(Raw::Element e) { @@ -3039,42 +3276,49 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInOutType`, if possible. */ TInOutType convertInOutTypeFromRaw(Raw::Element e) { result = TInOutType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TInlineArrayType`, if possible. */ TInlineArrayType convertInlineArrayTypeFromRaw(Raw::Element e) { result = TInlineArrayType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TIntegerType`, if possible. */ TIntegerType convertIntegerTypeFromRaw(Raw::Element e) { result = TIntegerType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TLValueType`, if possible. */ TLValueType convertLValueTypeFromRaw(Raw::Element e) { result = TLValueType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TMetatypeType`, if possible. */ TMetatypeType convertMetatypeTypeFromRaw(Raw::Element e) { result = TMetatypeType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TModuleType`, if possible. */ TModuleType convertModuleTypeFromRaw(Raw::Element e) { result = TModuleType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOpaqueTypeArchetypeType`, if possible. */ TOpaqueTypeArchetypeType convertOpaqueTypeArchetypeTypeFromRaw(Raw::Element e) { @@ -3083,12 +3327,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TOptionalType`, if possible. */ TOptionalType convertOptionalTypeFromRaw(Raw::Element e) { result = TOptionalType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackArchetypeType`, if possible. */ TPackArchetypeType convertPackArchetypeTypeFromRaw(Raw::Element e) { @@ -3097,12 +3343,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackElementType`, if possible. */ TPackElementType convertPackElementTypeFromRaw(Raw::Element e) { result = TPackElementType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackExpansionType`, if possible. */ TPackExpansionType convertPackExpansionTypeFromRaw(Raw::Element e) { @@ -3111,12 +3359,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPackType`, if possible. */ TPackType convertPackTypeFromRaw(Raw::Element e) { result = TPackType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TParameterizedProtocolType`, if possible. */ TParameterizedProtocolType convertParameterizedProtocolTypeFromRaw(Raw::Element e) { @@ -3125,12 +3375,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TParenType`, if possible. */ TParenType convertParenTypeFromRaw(Raw::Element e) { result = TParenType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TPrimaryArchetypeType`, if possible. */ TPrimaryArchetypeType convertPrimaryArchetypeTypeFromRaw(Raw::Element e) { @@ -3139,6 +3391,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TProtocolCompositionType`, if possible. */ TProtocolCompositionType convertProtocolCompositionTypeFromRaw(Raw::Element e) { @@ -3147,36 +3400,42 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TProtocolType`, if possible. */ TProtocolType convertProtocolTypeFromRaw(Raw::Element e) { result = TProtocolType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TStructType`, if possible. */ TStructType convertStructTypeFromRaw(Raw::Element e) { result = TStructType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTupleType`, if possible. */ TTupleType convertTupleTypeFromRaw(Raw::Element e) { result = TTupleType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypeAliasType`, if possible. */ TTypeAliasType convertTypeAliasTypeFromRaw(Raw::Element e) { result = TTypeAliasType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TTypeRepr`, if possible. */ TTypeRepr convertTypeReprFromRaw(Raw::Element e) { result = TTypeRepr(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnboundGenericType`, if possible. */ TUnboundGenericType convertUnboundGenericTypeFromRaw(Raw::Element e) { @@ -3185,6 +3444,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnmanagedStorageType`, if possible. */ TUnmanagedStorageType convertUnmanagedStorageTypeFromRaw(Raw::Element e) { @@ -3193,6 +3453,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnownedStorageType`, if possible. */ TUnownedStorageType convertUnownedStorageTypeFromRaw(Raw::Element e) { @@ -3201,12 +3462,14 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TUnresolvedType`, if possible. */ TUnresolvedType convertUnresolvedTypeFromRaw(Raw::Element e) { result = TUnresolvedType(e) } /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TVariadicSequenceType`, if possible. */ TVariadicSequenceType convertVariadicSequenceTypeFromRaw(Raw::Element e) { @@ -3215,6 +3478,7 @@ module Synth { /** * INTERNAL: Do not use. + * * Converts a raw element to a synthesized `TWeakStorageType`, if possible. */ TWeakStorageType convertWeakStorageTypeFromRaw(Raw::Element e) { result = TWeakStorageType(e) }