Skip to content

Commit f3ebb6e

Browse files
committed
Swift: MethodLookupExpr.getMethodRef() [codegen'd]
This refactors SelfApplyExpr.getFunction() as MethodLookupExpr().getMethodRef(). This is simpler, because we are not hiding DeclRefExprs or reinventing hidden AST resolution.
1 parent 4900e40 commit f3ebb6e

File tree

10 files changed

+302
-44
lines changed

10 files changed

+302
-44
lines changed

swift/ql/.generated.list

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ ql/lib/codeql/swift/elements/expr/CovariantFunctionConversionExpr.qll 687065e862
100100
ql/lib/codeql/swift/elements/expr/CovariantFunctionConversionExprConstructor.qll eac12524819e9fe29074f90ea89fea866023b5ed4a5494345f2b9d8eec531620 71a6eb320630f42403e1e67bb37c39a1bae1c9f6cc38c0f1688a31f3f206d83f
101101
ql/lib/codeql/swift/elements/expr/CovariantReturnConversionExpr.qll e6a7a3ce538c068bd7ab0974b4615acbf00038d3b01dc594372152114559fa44 720fb172ebcb800c70810539c7a80dbdf61acb970277f2b6a54b9159ab4e016e
102102
ql/lib/codeql/swift/elements/expr/CovariantReturnConversionExprConstructor.qll b32a9b3c067d09bd6350efe57215e3b3b9ae598631756878da4a1e474876fc3f bcc963ee556fdd5e1563c305d1bfc6a89e8953243f5dfa1b92144d280ccb3b1a
103+
ql/lib/codeql/swift/elements/expr/DeclRefExprConstructor.qll 1efd7b7de80bdff9c179cdb01777a85369497c5fd02cbdcf41dd9724a663a60b 63dd1e7049091e3e2158fb00498e7b3e82b38abbf5deee56abd00959527ba352
103104
ql/lib/codeql/swift/elements/expr/DefaultArgumentExprConstructor.qll 013827d95e2a9d65830b748093fd8a02da6b6cae78729875f624bf71cc28a4fe 900879fd1c26cfbcea0cd0c3b8f95425644458a8a1dd6628a8bd4bc61bc45809
104105
ql/lib/codeql/swift/elements/expr/DerivedToBaseExpr.qll 782d47d73634aea8ee4ea991acde27180b77535d8e5112d40df77262d9e9a19e e12acd24f48b7b59009615af6a43e061ffc595f1edc55bfe01c1524f30d7be7c
105106
ql/lib/codeql/swift/elements/expr/DerivedToBaseExprConstructor.qll ca74471f6ac2500145de98bb75880450c9185f697f5ce25905271358182a29b3 797b9eaa9d3d56a963d584ba560a67ec94e1a1b10916f0d03f4ad4777e4984f9
@@ -173,6 +174,7 @@ ql/lib/codeql/swift/elements/expr/OpenExistentialExprConstructor.qll c56e5e6f7ae
173174
ql/lib/codeql/swift/elements/expr/OptionalEvaluationExpr.qll 2f46c15d17a50b14e91552be8ac5b72dbdc9f39b8fac9fa068e519ae5c8aa99b 559902efedbf4c5ef24697267c7b48162129b4ab463b41d89bdfb8b94742fa9f
174175
ql/lib/codeql/swift/elements/expr/OptionalEvaluationExprConstructor.qll 4ba0af8f8b4b7920bc1106d069455eb754b7404d9a4bfc361d2ea22e8763f4fe 6d07e7838339290d1a2aec88addd511f01224d7e1d485b08ef4793e01f4b4421
175176
ql/lib/codeql/swift/elements/expr/OptionalTryExprConstructor.qll 60d2f88e2c6fc843353cc52ce1e1c9f7b80978750d0e780361f817b1b2fea895 4eabd9f03dc5c1f956e50e2a7af0535292484acc69692d7c7f771e213609fd04
177+
ql/lib/codeql/swift/elements/expr/OtherConstructorDeclRefExprConstructor.qll cf726ed7ed830e17aaedf1acddf1edc4efc7d72ab9f9580bc89cc8eefbd54d8a 4ef3010dc5500bd503db8aa531d5455a9c80bc30172fb005abc6459b6f66ea00
176178
ql/lib/codeql/swift/elements/expr/OverloadedDeclRefExpr.qll adb49e25cdd87d2e6259399a7ce3a1fbe6eb345f9b8f4e34eb23cb39eb3555da 47b1c6df5397de490f62e96edc0656b1f97c0be73c6b99ecd78b62d46106ce61
177179
ql/lib/codeql/swift/elements/expr/OverloadedDeclRefExprConstructor.qll 2cf79b483f942fbf8aaf9956429b92bf9536e212bb7f7940c2bc1d30e8e8dfd5 f4c16a90e3ab944dded491887779f960e3077f0a8823f17f50f82cf5b9803737
178180
ql/lib/codeql/swift/elements/expr/ParenExprConstructor.qll 6baaa592db57870f5ecd9be632bd3f653c44d72581efd41e8a837916e1590f9e 6f28988d04b2cb69ddcb63fba9ae3166b527803a61c250f97e48ff39a28379f6
@@ -373,7 +375,7 @@ ql/lib/codeql/swift/generated/ErrorElement.qll 4b032abe8ffb71376a29c63e470a52943
373375
ql/lib/codeql/swift/generated/File.qll 61454459f5f1ae378bd4970ad1da4f39f3e696bac8a5eebdd162f131995c5316 3e6805f8858cd55dd0e0d0e5aeab923d6a55292dbf98b0029db1ae0208efe684
374376
ql/lib/codeql/swift/generated/Locatable.qll bdc98b9fb7788f44a4bf7e487ee5bd329473409950a8e9f116d61995615ad849 0b36b4fe45e2aa195e4bb70c50ea95f32f141b8e01e5f23466c6427dd9ab88fb
375377
ql/lib/codeql/swift/generated/Location.qll 851766e474cdfdfa67da42e0031fc42dd60196ff5edd39d82f08d3e32deb84c1 b29b2c37672f5acff15f1d3c5727d902f193e51122327b31bd27ec5f877bca3b
376-
ql/lib/codeql/swift/generated/ParentChild.qll 0cf944fbfc0b7421b474cf3b4591802292008cb2017f72a42d3a58aacafae226 5989b6d3ef54b5977185cc988e6cab4b796485d8cbe089c8714bcebfbdb11f3a
378+
ql/lib/codeql/swift/generated/ParentChild.qll f095bf6545c9408f47e630af4d3df9f6ede7c4167951476729e22b1e4f54b79b 80e186d0ee76757a0f86cdb77703c66a7e6e5c4f3602f5bbb75912865004ca46
377379
ql/lib/codeql/swift/generated/PureSynthConstructors.qll 173c0dd59396a1de26fe870e3bc2766c46de689da2a4d8807cb62023bbce1a98 173c0dd59396a1de26fe870e3bc2766c46de689da2a4d8807cb62023bbce1a98
378380
ql/lib/codeql/swift/generated/Raw.qll 6c68d4d8b51f42a19994476cdf8129bf55b6908dbbc643383506d002bbadb6ba f312416ea50d751501a666c9dc070521055caa5ecc72e460b16ac4fe827a4b6a
379381
ql/lib/codeql/swift/generated/Synth.qll 6a9e6edcc43732b6cf947d88b9562a591a54c651aa8e4f94b8b6139ff3f84b63 a1f37bb361fed57104f8277c8f8b1962a0a54b1f80c2d676e71c40a91d3af529
@@ -505,7 +507,7 @@ ql/lib/codeql/swift/generated/expr/MagicIdentifierLiteralExpr.qll 16f0050128caf9
505507
ql/lib/codeql/swift/generated/expr/MakeTemporarilyEscapableExpr.qll d23bd9ea3b13869d7a7f7eef3c3d1c3c156d384b72c65867a0b955bc517da775 f2fd167ac40f01c092b2b443af1557c92dac32074506f2195d32f60b0e0547d8
506508
ql/lib/codeql/swift/generated/expr/MemberRefExpr.qll 0ece9ffbfd4b15722aa3870014a46afdbf1b1382972fb366d741fafb5473e3de fcb57bd65a94ed4214730339c4ed2b167ec22a3dc9017399596f9b26bdeb95cd
507509
ql/lib/codeql/swift/generated/expr/MetatypeConversionExpr.qll 714ecbc8ac51fdaaa4075388f20fe5063ead9264ca20c4ab8864c48364ef4b42 714ecbc8ac51fdaaa4075388f20fe5063ead9264ca20c4ab8864c48364ef4b42
508-
ql/lib/codeql/swift/generated/expr/MethodLookupExpr.qll 321d45064facd2917fd99a181b1288ec3cec09cf2b8f548d517423228351f414 321d45064facd2917fd99a181b1288ec3cec09cf2b8f548d517423228351f414
510+
ql/lib/codeql/swift/generated/expr/MethodLookupExpr.qll 357bc9ab24830ab60c1456c836e8449ce30ee67fe04e2f2e9437b3211b3b9757 687a3b3e6aeab2d4185f59fc001b3a69e83d96023b0589330a13eeefe3502a80
509511
ql/lib/codeql/swift/generated/expr/NilLiteralExpr.qll 6f44106bc5396c87681676fc3e1239fe052d1a481d0a854afa8b66369668b058 6f44106bc5396c87681676fc3e1239fe052d1a481d0a854afa8b66369668b058
510512
ql/lib/codeql/swift/generated/expr/NumberLiteralExpr.qll 8acc7df8fe83b7d36d66b2feed0b8859bfde873c6a88dd676c9ebed32f39bd04 4bbafc8996b2e95522d8167417668b536b2651817f732554de3083c4857af96a
511513
ql/lib/codeql/swift/generated/expr/ObjCSelectorExpr.qll 8b4f7a9668d1cae4058ba460673b3e0b79f05f2fe871fd992ca1b7ea85f7c09d 629a3057c0ff3ede3a18ea8ea1aa29b24bc780d0dc60b51f99793a6001432a4e
@@ -773,7 +775,7 @@ ql/test/extractor-tests/generated/expr/LazyInitializerExpr/MISSING_SOURCE.txt 7e
773775
ql/test/extractor-tests/generated/expr/MagicIdentifierLiteralExpr/MISSING_SOURCE.txt 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd
774776
ql/test/extractor-tests/generated/expr/MakeTemporarilyEscapableExpr/MISSING_SOURCE.txt 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd
775777
ql/test/extractor-tests/generated/expr/MemberRefExpr/MISSING_SOURCE.txt 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd
776-
ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr.ql 70598fab2dd87c26fedc9100d73aef9d8b4f60172a2b34c0fd943ab6cf374aa7 83dccc366bd761c01b27ce7e8f52be47743eb45462158997536643d236472d83
778+
ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr.ql c0c60154b070a8a7ad333544a30f216adf063ae26cac466d60d46b26154eccde 360c9a3ddd9d02a82d0c9de81b8742137d76dba74942f09c9172459565cae19d
777779
ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getMember.ql 859ce0b1f54980e6383ff87d7970eb8a7886d9e1fbe12a8a0a35d216850c6775 24faafdb4a88b0019073c06a1cda8e037154b232a364aa47ae151e95df8a868a
778780
ql/test/extractor-tests/generated/expr/MethodLookupExpr/MethodLookupExpr_getType.ql 3e749535dbf7ae2cd671b3e35b43ca4f6a5bc68c92f89a09a0a9193cd3200b9a 176102d8d9d5a7bf14ac654d98556048996f2311be0bfe67d16229fd22362ba7
779781
ql/test/extractor-tests/generated/expr/NilLiteralExpr/MISSING_SOURCE.txt 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd 7e714762ffb48c436102027d560fb5addc1f7dc6dd6936b06e0d3cca031d67fd

swift/ql/lib/codeql/swift/generated/ParentChild.qll

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2569,15 +2569,18 @@ private module Impl {
25692569
private Element getImmediateChildOfMethodLookupExpr(
25702570
MethodLookupExpr e, int index, string partialPredicateCall
25712571
) {
2572-
exists(int b, int bLookupExpr, int n |
2572+
exists(int b, int bLookupExpr, int n, int nMethodRef |
25732573
b = 0 and
25742574
bLookupExpr =
25752575
b + 1 + max(int i | i = -1 or exists(getImmediateChildOfLookupExpr(e, i, _)) | i) and
25762576
n = bLookupExpr and
2577+
nMethodRef = n + 1 and
25772578
(
25782579
none()
25792580
or
25802581
result = getImmediateChildOfLookupExpr(e, index - b, partialPredicateCall)
2582+
or
2583+
index = n and result = e.getImmediateMethodRef() and partialPredicateCall = "MethodRef()"
25812584
)
25822585
)
25832586
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
// generated by codegen/codegen.py
22
private import codeql.swift.generated.Synth
33
private import codeql.swift.generated.Raw
4+
import codeql.swift.elements.expr.Expr
45
import codeql.swift.elements.expr.LookupExpr
56

67
module Generated {
78
class MethodLookupExpr extends Synth::TMethodLookupExpr, LookupExpr {
89
override string getAPrimaryQlClass() { result = "MethodLookupExpr" }
10+
11+
/**
12+
* Gets the the underlying method declaration reference expression.
13+
*
14+
* This includes nodes from the "hidden" AST. It can be overridden in subclasses to change the
15+
* behavior of both the `Immediate` and non-`Immediate` versions.
16+
*/
17+
Expr getImmediateMethodRef() { none() }
18+
19+
/**
20+
* Gets the the underlying method declaration reference expression.
21+
*/
22+
final Expr getMethodRef() { result = getImmediateMethodRef().resolve() }
923
}
1024
}

swift/ql/test/extractor-tests/expressions/all.expected

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
| expressions.swift:7:18:7:18 | $interpolation | DeclRefExpr |
1616
| expressions.swift:7:18:7:18 | &... | InOutExpr |
1717
| expressions.swift:7:18:7:18 | .appendInterpolation(_:) | MethodLookupExpr |
18+
| expressions.swift:7:18:7:18 | appendInterpolation(_:) | DeclRefExpr |
1819
| expressions.swift:7:18:7:20 | call to appendInterpolation(_:) | CallExpr |
1920
| expressions.swift:7:19:7:19 | a | DeclRefExpr |
2021
| expressions.swift:7:21:7:21 | | StringLiteralExpr |
@@ -25,12 +26,14 @@
2526
| expressions.swift:8:15:8:15 | nil | NilLiteralExpr |
2627
| expressions.swift:15:9:15:9 | x | DeclRefExpr |
2728
| expressions.swift:15:9:15:14 | ... .!=(_:_:) ... | BinaryExpr |
29+
| expressions.swift:15:11:15:11 | !=(_:_:) | DeclRefExpr |
2830
| expressions.swift:15:11:15:11 | .!=(_:_:) | MethodLookupExpr |
2931
| expressions.swift:15:11:15:11 | Int.Type | TypeExpr |
3032
| expressions.swift:15:14:15:14 | 0 | IntegerLiteralExpr |
3133
| expressions.swift:16:11:16:11 | AnError.Type | TypeExpr |
3234
| expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr |
3335
| expressions.swift:16:11:16:19 | .failed | MethodLookupExpr |
36+
| expressions.swift:16:19:16:19 | failed | DeclRefExpr |
3437
| expressions.swift:20:1:20:16 | try! ... | ForceTryExpr |
3538
| expressions.swift:20:6:20:6 | failure(_:) | DeclRefExpr |
3639
| expressions.swift:20:6:20:16 | call to failure(_:) | CallExpr |
@@ -41,6 +44,7 @@
4144
| expressions.swift:21:6:21:16 | call to failure(_:) | CallExpr |
4245
| expressions.swift:21:14:21:14 | 11 | IntegerLiteralExpr |
4346
| expressions.swift:27:13:27:13 | Klass.Type | TypeExpr |
47+
| expressions.swift:27:13:27:13 | Klass.init() | DeclRefExpr |
4448
| expressions.swift:27:13:27:13 | Klass.init() | MethodLookupExpr |
4549
| expressions.swift:27:13:27:19 | call to Klass.init() | CallExpr |
4650
| expressions.swift:29:9:29:19 | [...] | DictionaryExpr |
@@ -85,6 +89,7 @@
8589
| expressions.swift:41:10:43:1 | { ... } | ClosureExpr |
8690
| expressions.swift:42:12:42:12 | x | DeclRefExpr |
8791
| expressions.swift:42:12:42:16 | ... .+(_:_:) ... | BinaryExpr |
92+
| expressions.swift:42:14:42:14 | +(_:_:) | DeclRefExpr |
8893
| expressions.swift:42:14:42:14 | .+(_:_:) | MethodLookupExpr |
8994
| expressions.swift:42:14:42:14 | Int.Type | TypeExpr |
9095
| expressions.swift:42:16:42:16 | y | DeclRefExpr |
@@ -93,6 +98,7 @@
9398
| expressions.swift:44:10:46:1 | { ... } | ClosureExpr |
9499
| expressions.swift:45:12:45:12 | x | DeclRefExpr |
95100
| expressions.swift:45:12:45:16 | ... .+(_:_:) ... | BinaryExpr |
101+
| expressions.swift:45:14:45:14 | +(_:_:) | DeclRefExpr |
96102
| expressions.swift:45:14:45:14 | .+(_:_:) | MethodLookupExpr |
97103
| expressions.swift:45:14:45:14 | Int.Type | TypeExpr |
98104
| expressions.swift:45:16:45:16 | y | DeclRefExpr |
@@ -101,6 +107,7 @@
101107
| expressions.swift:47:10:47:27 | { ... } | ClosureExpr |
102108
| expressions.swift:47:19:47:19 | $0 | DeclRefExpr |
103109
| expressions.swift:47:19:47:24 | ... .+(_:_:) ... | BinaryExpr |
110+
| expressions.swift:47:22:47:22 | +(_:_:) | DeclRefExpr |
104111
| expressions.swift:47:22:47:22 | .+(_:_:) | MethodLookupExpr |
105112
| expressions.swift:47:22:47:22 | Int.Type | TypeExpr |
106113
| expressions.swift:47:24:47:24 | $1 | DeclRefExpr |
@@ -109,6 +116,7 @@
109116
| expressions.swift:48:10:48:20 | { ... } | ClosureExpr |
110117
| expressions.swift:48:12:48:12 | $0 | DeclRefExpr |
111118
| expressions.swift:48:12:48:17 | ... .+(_:_:) ... | BinaryExpr |
119+
| expressions.swift:48:15:48:15 | +(_:_:) | DeclRefExpr |
112120
| expressions.swift:48:15:48:15 | .+(_:_:) | MethodLookupExpr |
113121
| expressions.swift:48:15:48:15 | Int.Type | TypeExpr |
114122
| expressions.swift:48:17:48:17 | $1 | DeclRefExpr |
@@ -133,6 +141,7 @@
133141
| expressions.swift:64:8:64:8 | x | DeclRefExpr |
134142
| expressions.swift:64:8:64:12 | ... .<(_:_:) ... | BinaryExpr |
135143
| expressions.swift:64:10:64:10 | .<(_:_:) | MethodLookupExpr |
144+
| expressions.swift:64:10:64:10 | <(_:_:) | DeclRefExpr |
136145
| expressions.swift:64:10:64:10 | Int.Type | TypeExpr |
137146
| expressions.swift:64:12:64:12 | 0 | IntegerLiteralExpr |
138147
| expressions.swift:73:5:73:5 | .xx | MemberRefExpr |
@@ -150,8 +159,10 @@
150159
| expressions.swift:79:5:79:11 | Base.init(x:) | MethodLookupExpr |
151160
| expressions.swift:79:5:79:21 | call to Base.init(x:) | CallExpr |
152161
| expressions.swift:79:5:79:21 | self = ... | RebindSelfInConstructorExpr |
162+
| expressions.swift:79:11:79:11 | Base.init(x:) | OtherConstructorDeclRefExpr |
153163
| expressions.swift:79:19:79:19 | 22 | IntegerLiteralExpr |
154164
| expressions.swift:83:15:83:15 | Derived.Type | TypeExpr |
165+
| expressions.swift:83:15:83:15 | Derived.init() | DeclRefExpr |
155166
| expressions.swift:83:15:83:15 | Derived.init() | MethodLookupExpr |
156167
| expressions.swift:83:15:83:23 | call to Derived.init() | CallExpr |
157168
| expressions.swift:84:1:84:1 | _ | DiscardAssignmentExpr |
@@ -170,12 +181,16 @@
170181
| expressions.swift:92:14:92:44 | call to passRetained(_:) | CallExpr |
171182
| expressions.swift:92:14:92:46 | .toOpaque() | MethodLookupExpr |
172183
| expressions.swift:92:14:92:55 | call to toOpaque() | CallExpr |
184+
| expressions.swift:92:24:92:24 | passRetained(_:) | DeclRefExpr |
173185
| expressions.swift:92:37:92:37 | ToPtr.Type | TypeExpr |
186+
| expressions.swift:92:37:92:37 | ToPtr.init() | DeclRefExpr |
174187
| expressions.swift:92:37:92:37 | ToPtr.init() | MethodLookupExpr |
175188
| expressions.swift:92:37:92:43 | call to ToPtr.init() | CallExpr |
189+
| expressions.swift:92:46:92:46 | toOpaque() | DeclRefExpr |
176190
| expressions.swift:93:1:93:16 | Unmanaged<ToPtr>.Type | TypeExpr |
177191
| expressions.swift:93:1:93:18 | .fromOpaque(_:) | MethodLookupExpr |
178192
| expressions.swift:93:1:93:35 | call to fromOpaque(_:) | CallExpr |
193+
| expressions.swift:93:18:93:18 | fromOpaque(_:) | DeclRefExpr |
179194
| expressions.swift:93:29:93:29 | (UnsafeRawPointer) ... | PointerToPointerExpr |
180195
| expressions.swift:93:29:93:29 | opaque | DeclRefExpr |
181196
| expressions.swift:99:14:99:14 | 0 | IntegerLiteralExpr |
@@ -229,12 +244,14 @@
229244
| expressions.swift:158:3:158:8 | ... = ... | AssignExpr |
230245
| expressions.swift:158:7:158:7 | .~(_:) | MethodLookupExpr |
231246
| expressions.swift:158:7:158:7 | Int.Type | TypeExpr |
247+
| expressions.swift:158:7:158:7 | ~(_:) | DeclRefExpr |
232248
| expressions.swift:158:7:158:8 | call to ~(_:) | PrefixUnaryExpr |
233249
| expressions.swift:158:8:158:8 | 1 | IntegerLiteralExpr |
234250
| expressions.swift:159:3:159:3 | _ | DiscardAssignmentExpr |
235251
| expressions.swift:159:3:159:11 | ... = ... | AssignExpr |
236252
| expressions.swift:159:7:159:7 | 1 | IntegerLiteralExpr |
237253
| expressions.swift:159:7:159:11 | ... .&(_:_:) ... | BinaryExpr |
254+
| expressions.swift:159:9:159:9 | &(_:_:) | DeclRefExpr |
238255
| expressions.swift:159:9:159:9 | .&(_:_:) | MethodLookupExpr |
239256
| expressions.swift:159:9:159:9 | Int.Type | TypeExpr |
240257
| expressions.swift:159:11:159:11 | 2 | IntegerLiteralExpr |
@@ -244,25 +261,29 @@
244261
| expressions.swift:160:7:160:11 | ... .\|(_:_:) ... | BinaryExpr |
245262
| expressions.swift:160:9:160:9 | .\|(_:_:) | MethodLookupExpr |
246263
| expressions.swift:160:9:160:9 | Int.Type | TypeExpr |
264+
| expressions.swift:160:9:160:9 | \|(_:_:) | DeclRefExpr |
247265
| expressions.swift:160:11:160:11 | 2 | IntegerLiteralExpr |
248266
| expressions.swift:161:3:161:3 | _ | DiscardAssignmentExpr |
249267
| expressions.swift:161:3:161:11 | ... = ... | AssignExpr |
250268
| expressions.swift:161:7:161:7 | 1 | IntegerLiteralExpr |
251269
| expressions.swift:161:7:161:11 | ... .^(_:_:) ... | BinaryExpr |
252270
| expressions.swift:161:9:161:9 | .^(_:_:) | MethodLookupExpr |
253271
| expressions.swift:161:9:161:9 | Int.Type | TypeExpr |
272+
| expressions.swift:161:9:161:9 | ^(_:_:) | DeclRefExpr |
254273
| expressions.swift:161:11:161:11 | 2 | IntegerLiteralExpr |
255274
| expressions.swift:162:3:162:3 | _ | DiscardAssignmentExpr |
256275
| expressions.swift:162:3:162:12 | ... = ... | AssignExpr |
257276
| expressions.swift:162:7:162:7 | 1 | IntegerLiteralExpr |
258277
| expressions.swift:162:7:162:12 | ... .<<(_:_:) ... | BinaryExpr |
259278
| expressions.swift:162:9:162:9 | .<<(_:_:) | MethodLookupExpr |
279+
| expressions.swift:162:9:162:9 | <<(_:_:) | DeclRefExpr |
260280
| expressions.swift:162:9:162:9 | Int.Type | TypeExpr |
261281
| expressions.swift:162:12:162:12 | 0 | IntegerLiteralExpr |
262282
| expressions.swift:163:3:163:3 | _ | DiscardAssignmentExpr |
263283
| expressions.swift:163:3:163:12 | ... = ... | AssignExpr |
264284
| expressions.swift:163:7:163:7 | 1 | IntegerLiteralExpr |
265285
| expressions.swift:163:7:163:12 | ... .>>(_:_:) ... | BinaryExpr |
266286
| expressions.swift:163:9:163:9 | .>>(_:_:) | MethodLookupExpr |
287+
| expressions.swift:163:9:163:9 | >>(_:_:) | DeclRefExpr |
267288
| expressions.swift:163:9:163:9 | Int.Type | TypeExpr |
268289
| expressions.swift:163:12:163:12 | 0 | IntegerLiteralExpr |

0 commit comments

Comments
 (0)