Skip to content

Commit 742cf0a

Browse files
committed
Swift: hide orphaned DeclRefExpr nodes
1 parent 8f09485 commit 742cf0a

File tree

5 files changed

+5
-51
lines changed

5 files changed

+5
-51
lines changed
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
// generated by codegen/codegen.py, remove this comment if you wish to edit this file
21
private import codeql.swift.generated.Raw
32

4-
predicate constructDeclRefExpr(Raw::DeclRefExpr id) { any() }
3+
predicate constructDeclRefExpr(Raw::DeclRefExpr id) {
4+
// exclude an argument that will be part of a DotSyntaxCallExpr
5+
// that will be transformed into a MethodRefCallExpr
6+
not exists(Raw::DotSyntaxCallExpr c | id = c.getFunction())
7+
}

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

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
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(_:) | MethodRefExpr |
18-
| expressions.swift:7:18:7:18 | appendInterpolation(_:) | DeclRefExpr |
1918
| expressions.swift:7:18:7:20 | call to appendInterpolation(_:) | CallExpr |
2019
| expressions.swift:7:19:7:19 | a | DeclRefExpr |
2120
| expressions.swift:7:21:7:21 | | StringLiteralExpr |
@@ -26,14 +25,12 @@
2625
| expressions.swift:8:15:8:15 | nil | NilLiteralExpr |
2726
| expressions.swift:15:9:15:9 | x | DeclRefExpr |
2827
| expressions.swift:15:9:15:14 | ... .!=(_:_:) ... | BinaryExpr |
29-
| expressions.swift:15:11:15:11 | !=(_:_:) | DeclRefExpr |
3028
| expressions.swift:15:11:15:11 | .!=(_:_:) | MethodRefExpr |
3129
| expressions.swift:15:11:15:11 | Int.Type | TypeExpr |
3230
| expressions.swift:15:14:15:14 | 0 | IntegerLiteralExpr |
3331
| expressions.swift:16:11:16:11 | AnError.Type | TypeExpr |
3432
| expressions.swift:16:11:16:19 | (Error) ... | ErasureExpr |
3533
| expressions.swift:16:11:16:19 | .failed | MethodRefExpr |
36-
| expressions.swift:16:19:16:19 | failed | DeclRefExpr |
3734
| expressions.swift:20:1:20:16 | try! ... | ForceTryExpr |
3835
| expressions.swift:20:6:20:6 | failure(_:) | DeclRefExpr |
3936
| expressions.swift:20:6:20:16 | call to failure(_:) | CallExpr |
@@ -89,7 +86,6 @@
8986
| expressions.swift:41:10:43:1 | { ... } | ClosureExpr |
9087
| expressions.swift:42:12:42:12 | x | DeclRefExpr |
9188
| expressions.swift:42:12:42:16 | ... .+(_:_:) ... | BinaryExpr |
92-
| expressions.swift:42:14:42:14 | +(_:_:) | DeclRefExpr |
9389
| expressions.swift:42:14:42:14 | .+(_:_:) | MethodRefExpr |
9490
| expressions.swift:42:14:42:14 | Int.Type | TypeExpr |
9591
| expressions.swift:42:16:42:16 | y | DeclRefExpr |
@@ -98,7 +94,6 @@
9894
| expressions.swift:44:10:46:1 | { ... } | ClosureExpr |
9995
| expressions.swift:45:12:45:12 | x | DeclRefExpr |
10096
| expressions.swift:45:12:45:16 | ... .+(_:_:) ... | BinaryExpr |
101-
| expressions.swift:45:14:45:14 | +(_:_:) | DeclRefExpr |
10297
| expressions.swift:45:14:45:14 | .+(_:_:) | MethodRefExpr |
10398
| expressions.swift:45:14:45:14 | Int.Type | TypeExpr |
10499
| expressions.swift:45:16:45:16 | y | DeclRefExpr |
@@ -107,7 +102,6 @@
107102
| expressions.swift:47:10:47:27 | { ... } | ClosureExpr |
108103
| expressions.swift:47:19:47:19 | $0 | DeclRefExpr |
109104
| expressions.swift:47:19:47:24 | ... .+(_:_:) ... | BinaryExpr |
110-
| expressions.swift:47:22:47:22 | +(_:_:) | DeclRefExpr |
111105
| expressions.swift:47:22:47:22 | .+(_:_:) | MethodRefExpr |
112106
| expressions.swift:47:22:47:22 | Int.Type | TypeExpr |
113107
| expressions.swift:47:24:47:24 | $1 | DeclRefExpr |
@@ -116,7 +110,6 @@
116110
| expressions.swift:48:10:48:20 | { ... } | ClosureExpr |
117111
| expressions.swift:48:12:48:12 | $0 | DeclRefExpr |
118112
| expressions.swift:48:12:48:17 | ... .+(_:_:) ... | BinaryExpr |
119-
| expressions.swift:48:15:48:15 | +(_:_:) | DeclRefExpr |
120113
| expressions.swift:48:15:48:15 | .+(_:_:) | MethodRefExpr |
121114
| expressions.swift:48:15:48:15 | Int.Type | TypeExpr |
122115
| expressions.swift:48:17:48:17 | $1 | DeclRefExpr |
@@ -141,7 +134,6 @@
141134
| expressions.swift:64:8:64:8 | x | DeclRefExpr |
142135
| expressions.swift:64:8:64:12 | ... .<(_:_:) ... | BinaryExpr |
143136
| expressions.swift:64:10:64:10 | .<(_:_:) | MethodRefExpr |
144-
| expressions.swift:64:10:64:10 | <(_:_:) | DeclRefExpr |
145137
| expressions.swift:64:10:64:10 | Int.Type | TypeExpr |
146138
| expressions.swift:64:12:64:12 | 0 | IntegerLiteralExpr |
147139
| expressions.swift:73:5:73:5 | .xx | MemberRefExpr |
@@ -181,16 +173,13 @@
181173
| expressions.swift:92:14:92:44 | call to passRetained(_:) | CallExpr |
182174
| expressions.swift:92:14:92:46 | .toOpaque() | MethodRefExpr |
183175
| expressions.swift:92:14:92:55 | call to toOpaque() | CallExpr |
184-
| expressions.swift:92:24:92:24 | passRetained(_:) | DeclRefExpr |
185176
| expressions.swift:92:37:92:37 | ToPtr.Type | TypeExpr |
186177
| expressions.swift:92:37:92:37 | call to init() | ConstructorRefCallExpr |
187178
| expressions.swift:92:37:92:37 | init() | DeclRefExpr |
188179
| expressions.swift:92:37:92:43 | call to init() | CallExpr |
189-
| expressions.swift:92:46:92:46 | toOpaque() | DeclRefExpr |
190180
| expressions.swift:93:1:93:16 | Unmanaged<ToPtr>.Type | TypeExpr |
191181
| expressions.swift:93:1:93:18 | .fromOpaque(_:) | MethodRefExpr |
192182
| expressions.swift:93:1:93:35 | call to fromOpaque(_:) | CallExpr |
193-
| expressions.swift:93:18:93:18 | fromOpaque(_:) | DeclRefExpr |
194183
| expressions.swift:93:29:93:29 | (UnsafeRawPointer) ... | PointerToPointerExpr |
195184
| expressions.swift:93:29:93:29 | opaque | DeclRefExpr |
196185
| expressions.swift:99:14:99:14 | 0 | IntegerLiteralExpr |

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

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
| expressions.swift:7:11:7:11 | $interpolation | OrdinarySemantics |
22
| expressions.swift:7:18:7:18 | $interpolation | OrdinarySemantics |
3-
| expressions.swift:7:18:7:18 | appendInterpolation(_:) | OrdinarySemantics |
43
| expressions.swift:7:19:7:19 | a | OrdinarySemantics |
54
| expressions.swift:7:21:7:21 | $interpolation | OrdinarySemantics |
65
| expressions.swift:15:9:15:9 | x | OrdinarySemantics |
7-
| expressions.swift:15:11:15:11 | !=(_:_:) | OrdinarySemantics |
8-
| expressions.swift:16:19:16:19 | failed | OrdinarySemantics |
96
| expressions.swift:20:6:20:6 | failure(_:) | OrdinarySemantics |
107
| expressions.swift:21:6:21:6 | failure(_:) | OrdinarySemantics |
118
| expressions.swift:27:13:27:13 | init() | OrdinarySemantics |
@@ -15,19 +12,15 @@
1512
| expressions.swift:38:3:38:3 | closure | OrdinarySemantics |
1613
| expressions.swift:41:1:41:1 | closured(closure:) | OrdinarySemantics |
1714
| expressions.swift:42:12:42:12 | x | OrdinarySemantics |
18-
| expressions.swift:42:14:42:14 | +(_:_:) | OrdinarySemantics |
1915
| expressions.swift:42:16:42:16 | y | OrdinarySemantics |
2016
| expressions.swift:44:1:44:1 | closured(closure:) | OrdinarySemantics |
2117
| expressions.swift:45:12:45:12 | x | OrdinarySemantics |
22-
| expressions.swift:45:14:45:14 | +(_:_:) | OrdinarySemantics |
2318
| expressions.swift:45:16:45:16 | y | OrdinarySemantics |
2419
| expressions.swift:47:1:47:1 | closured(closure:) | OrdinarySemantics |
2520
| expressions.swift:47:19:47:19 | $0 | OrdinarySemantics |
26-
| expressions.swift:47:22:47:22 | +(_:_:) | OrdinarySemantics |
2721
| expressions.swift:47:24:47:24 | $1 | OrdinarySemantics |
2822
| expressions.swift:48:1:48:1 | closured(closure:) | OrdinarySemantics |
2923
| expressions.swift:48:12:48:12 | $0 | OrdinarySemantics |
30-
| expressions.swift:48:15:48:15 | +(_:_:) | OrdinarySemantics |
3124
| expressions.swift:48:17:48:17 | $1 | OrdinarySemantics |
3225
| expressions.swift:59:1:59:1 | unsafeFunction(pointer:) | OrdinarySemantics |
3326
| expressions.swift:59:26:59:26 | myNumber | OrdinarySemantics |
@@ -36,7 +29,6 @@
3629
| expressions.swift:60:35:60:35 | unsafeFunction(pointer:) | OrdinarySemantics |
3730
| expressions.swift:60:59:60:59 | $0 | OrdinarySemantics |
3831
| expressions.swift:64:8:64:8 | x | OrdinarySemantics |
39-
| expressions.swift:64:10:64:10 | <(_:_:) | OrdinarySemantics |
4032
| expressions.swift:73:5:73:5 | .xx | DirectToStorage |
4133
| expressions.swift:73:5:73:5 | self | OrdinarySemantics |
4234
| expressions.swift:73:10:73:10 | x | OrdinarySemantics |
@@ -47,10 +39,7 @@
4739
| expressions.swift:87:1:87:1 | opt | OrdinarySemantics |
4840
| expressions.swift:88:1:88:1 | d | OrdinarySemantics |
4941
| expressions.swift:88:1:88:6 | ...[...] | OrdinarySemantics |
50-
| expressions.swift:92:24:92:24 | passRetained(_:) | OrdinarySemantics |
5142
| expressions.swift:92:37:92:37 | init() | OrdinarySemantics |
52-
| expressions.swift:92:46:92:46 | toOpaque() | OrdinarySemantics |
53-
| expressions.swift:93:18:93:18 | fromOpaque(_:) | OrdinarySemantics |
5443
| expressions.swift:93:29:93:29 | opaque | OrdinarySemantics |
5544
| expressions.swift:131:3:131:3 | hp | OrdinarySemantics |
5645
| expressions.swift:131:3:131:6 | .settableField | OrdinarySemantics |

swift/ql/test/extractor-tests/types/Types.expected

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
| types.swift:3:7:3:11 | ... .+(_:_:) ... | Int |
99
| types.swift:3:7:3:11 | [...] | Any... |
1010
| types.swift:3:7:3:11 | [...] | Any... |
11-
| types.swift:3:9:3:9 | +(_:_:) | (Int.Type) -> (Int, Int) -> Int |
1211
| types.swift:3:9:3:9 | .+(_:_:) | (Int, Int) -> Int |
1312
| types.swift:3:9:3:9 | Int.Type | Int.Type |
1413
| types.swift:3:11:3:11 | 10 | Int |
@@ -26,7 +25,6 @@
2625
| types.swift:14:24:14:24 | init() | (C.Nested.Type) -> () -> C.Nested |
2726
| types.swift:17:10:17:10 | x | Int |
2827
| types.swift:17:10:17:14 | ... .+(_:_:) ... | Int |
29-
| types.swift:17:12:17:12 | +(_:_:) | (Int.Type) -> (Int, Int) -> Int |
3028
| types.swift:17:12:17:12 | .+(_:_:) | (Int, Int) -> Int |
3129
| types.swift:17:12:17:12 | Int.Type | Int.Type |
3230
| types.swift:17:14:17:14 | y | Int |

swift/ql/test/library-tests/ast/PrintAst.expected

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ declarations.swift:
6464
# 1| getMember(5): [ConstructorDecl] init(x:)
6565
# 1| getSelfParam(): [ParamDecl] self
6666
# 1| getParam(0): [ParamDecl] x
67-
# 4| [DeclRefExpr] +(_:_:)
68-
# 5| [DeclRefExpr] -(_:_:)
6967
# 9| [ClassDecl] Bar
7068
# 9| getMember(0): [PatternBindingDecl] var ... = ...
7169
# 9| getInit(0): [FloatLiteralExpr] 1.3
@@ -454,7 +452,6 @@ declarations.swift:
454452
# 144| getElement(0): [CallExpr] call to id()
455453
# 144| getFunction(): [MethodRefExpr] .id()
456454
# 144| getBase(): [IntegerLiteralExpr] 42
457-
# 144| [DeclRefExpr] id()
458455
expressions.swift:
459456
# 1| [TopLevelCodeDecl] { ... }
460457
# 1| getBody(): [BraceStmt] { ... }
@@ -519,7 +516,6 @@ expressions.swift:
519516
# 7| getExpr(): [StringLiteralExpr]
520517
# 7| getPattern(0): [NamedPattern] s1
521518
# 7| [ConcreteVarDecl] s1
522-
# 7| [DeclRefExpr] appendInterpolation(_:)
523519
# 8| [TopLevelCodeDecl] { ... }
524520
# 8| getBody(): [BraceStmt] { ... }
525521
# 8| getElement(0): [PatternBindingDecl] var ... = ...
@@ -550,8 +546,6 @@ expressions.swift:
550546
# 16| getSubExpr(): [MethodRefExpr] .failed
551547
# 16| getBase(): [TypeExpr] AnError.Type
552548
# 16| getTypeRepr(): [TypeRepr] AnError
553-
# 15| [DeclRefExpr] !=(_:_:)
554-
# 16| [DeclRefExpr] failed
555549
# 20| [TopLevelCodeDecl] { ... }
556550
# 20| getBody(): [BraceStmt] { ... }
557551
# 20| getElement(0): [ForceTryExpr] try! ...
@@ -661,7 +655,6 @@ expressions.swift:
661655
# 42| getExpr(): [DeclRefExpr] x
662656
# 42| getArgument(1): [Argument] : y
663657
# 42| getExpr(): [DeclRefExpr] y
664-
# 42| [DeclRefExpr] +(_:_:)
665658
# 44| [TopLevelCodeDecl] { ... }
666659
# 44| getBody(): [BraceStmt] { ... }
667660
# 44| getElement(0): [CallExpr] call to closured(closure:)
@@ -680,7 +673,6 @@ expressions.swift:
680673
# 45| getExpr(): [DeclRefExpr] x
681674
# 45| getArgument(1): [Argument] : y
682675
# 45| getExpr(): [DeclRefExpr] y
683-
# 45| [DeclRefExpr] +(_:_:)
684676
# 47| [TopLevelCodeDecl] { ... }
685677
# 47| getBody(): [BraceStmt] { ... }
686678
# 47| getElement(0): [CallExpr] call to closured(closure:)
@@ -699,7 +691,6 @@ expressions.swift:
699691
# 47| getExpr(): [DeclRefExpr] $0
700692
# 47| getArgument(1): [Argument] : $1
701693
# 47| getExpr(): [DeclRefExpr] $1
702-
# 47| [DeclRefExpr] +(_:_:)
703694
# 48| [TopLevelCodeDecl] { ... }
704695
# 48| getBody(): [BraceStmt] { ... }
705696
# 48| getElement(0): [CallExpr] call to closured(closure:)
@@ -718,7 +709,6 @@ expressions.swift:
718709
# 48| getExpr(): [DeclRefExpr] $0
719710
# 48| getArgument(1): [Argument] : $1
720711
# 48| getExpr(): [DeclRefExpr] $1
721-
# 48| [DeclRefExpr] +(_:_:)
722712
# 50| [StructDecl] S
723713
# 51| getMember(0): [PatternBindingDecl] var ... = ...
724714
# 51| getPattern(0): [TypedPattern] ... as ...
@@ -790,7 +780,6 @@ expressions.swift:
790780
# 62| getMember(1): [DestructorDecl] deinit()
791781
# 62| getSelfParam(): [ParamDecl] self
792782
# 62| getBody(): [BraceStmt] { ... }
793-
# 64| [DeclRefExpr] <(_:_:)
794783
# 70| [ClassDecl] Base
795784
# 71| getMember(0): [PatternBindingDecl] var ... = ...
796785
# 71| getPattern(0): [TypedPattern] ... as ...
@@ -903,8 +892,6 @@ expressions.swift:
903892
# 92| getTypeRepr(): [TypeRepr] ToPtr
904893
# 92| getPattern(0): [NamedPattern] opaque
905894
# 92| [ConcreteVarDecl] opaque
906-
# 92| [DeclRefExpr] passRetained(_:)
907-
# 92| [DeclRefExpr] toOpaque()
908895
# 93| [TopLevelCodeDecl] { ... }
909896
# 93| getBody(): [BraceStmt] { ... }
910897
# 93| getElement(0): [CallExpr] call to fromOpaque(_:)
@@ -913,7 +900,6 @@ expressions.swift:
913900
# 93| getTypeRepr(): [TypeRepr] Unmanaged<ToPtr>
914901
# 93| getArgument(0): [Argument] : opaque
915902
# 93| getExpr(): [DeclRefExpr] opaque
916-
# 93| [DeclRefExpr] fromOpaque(_:)
917903
# 95| [StructDecl] HasProperty
918904
# 96| getMember(0): [PatternBindingDecl] var ... = ...
919905
# 96| getPattern(0): [TypedPattern] ... as ...
@@ -1310,7 +1296,6 @@ patterns.swift:
13101296
# 50| getPattern(): [BoolPattern] false
13111297
# 12| [ConcreteVarDecl] xx
13121298
# 12| [ConcreteVarDecl] yy
1313-
# 24| [DeclRefExpr] bar
13141299
# 28| [ConcreteVarDecl] i
13151300
# 28| [ConcreteVarDecl] s
13161301
# 34| [ConcreteVarDecl] n
@@ -1453,12 +1438,6 @@ statements.swift:
14531438
# 29| getPattern(): [BindingPattern] let ...
14541439
# 29| getSubPattern(): [NamedPattern] error
14551440
# 2| [ConcreteVarDecl] i
1456-
# 2| [DeclRefExpr] ...(_:_:)
1457-
# 3| [DeclRefExpr] ==(_:_:)
1458-
# 10| [DeclRefExpr] <(_:_:)
1459-
# 11| [DeclRefExpr] +(_:_:)
1460-
# 16| [DeclRefExpr] +(_:_:)
1461-
# 17| [DeclRefExpr] <(_:_:)
14621441
# 21| [ConcreteVarDecl] error
14631442
# 29| [ConcreteVarDecl] error
14641443
# 34| [EnumDecl] AnError
@@ -1483,8 +1462,6 @@ statements.swift:
14831462
# 40| getSubExpr(): [MethodRefExpr] .failed
14841463
# 40| getBase(): [TypeExpr] AnError.Type
14851464
# 40| getTypeRepr(): [TypeRepr] AnError
1486-
# 39| [DeclRefExpr] !=(_:_:)
1487-
# 40| [DeclRefExpr] failed
14881465
# 44| [TopLevelCodeDecl] { ... }
14891466
# 44| getBody(): [BraceStmt] { ... }
14901467
# 44| getElement(0): [DeferStmt] defer { ... }
@@ -1630,8 +1607,6 @@ statements.swift:
16301607
# 71| getExpr(): [IntegerLiteralExpr] 0
16311608
# 71| getBody(): [BraceStmt] { ... }
16321609
# 71| [ConcreteVarDecl] number
1633-
# 71| [DeclRefExpr] %(_:_:)
1634-
# 71| [DeclRefExpr] ==(_:_:)
16351610
# 74| [StructDecl] HasModifyAccessorDecl
16361611
# 75| getMember(0): [PatternBindingDecl] var ... = ...
16371612
# 75| getPattern(0): [TypedPattern] ... as ...

0 commit comments

Comments
 (0)