Skip to content

Commit 21b0392

Browse files
committed
Swift: Add failing tests.
1 parent f4b79ea commit 21b0392

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

swift/ql/test/library-tests/dataflow/dataflow/LocalFlow.expected

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,3 +601,34 @@
601601
| test.swift:560:7:560:7 | n | test.swift:560:7:560:7 | SSA def(n) |
602602
| test.swift:560:11:560:11 | 0 | test.swift:560:7:560:7 | n |
603603
| test.swift:561:36:561:36 | n | test.swift:561:35:561:36 | &... |
604+
| test.swift:565:7:565:7 | self | test.swift:565:7:565:7 | SSA def(self) |
605+
| test.swift:567:3:567:3 | SSA def(self) | test.swift:568:5:568:5 | self |
606+
| test.swift:567:3:567:3 | self | test.swift:567:3:567:3 | SSA def(self) |
607+
| test.swift:567:8:567:11 | SSA def(x) | test.swift:568:14:568:14 | x |
608+
| test.swift:567:8:567:11 | x | test.swift:567:8:567:11 | SSA def(x) |
609+
| test.swift:568:5:568:5 | [post] self | test.swift:567:3:569:3 | self[return] |
610+
| test.swift:568:5:568:5 | self | test.swift:567:3:569:3 | self[return] |
611+
| test.swift:573:7:573:7 | SSA def(s) | test.swift:575:13:575:13 | s |
612+
| test.swift:573:7:573:7 | s | test.swift:573:7:573:7 | SSA def(s) |
613+
| test.swift:573:11:573:24 | call to S.init(x:) | test.swift:573:7:573:7 | s |
614+
| test.swift:574:7:574:7 | SSA def(f) | test.swift:575:24:575:24 | f |
615+
| test.swift:574:7:574:7 | f | test.swift:574:7:574:7 | SSA def(f) |
616+
| test.swift:574:11:574:14 | #keyPath(...) | test.swift:574:7:574:7 | f |
617+
| test.swift:574:11:574:14 | #keyPath(...) | test.swift:574:7:574:7 | f |
618+
| test.swift:579:7:579:7 | self | test.swift:579:7:579:7 | SSA def(self) |
619+
| test.swift:581:3:581:3 | SSA def(self) | test.swift:582:5:582:5 | self |
620+
| test.swift:581:3:581:3 | self | test.swift:581:3:581:3 | SSA def(self) |
621+
| test.swift:581:8:581:11 | SSA def(s) | test.swift:582:14:582:14 | s |
622+
| test.swift:581:8:581:11 | s | test.swift:581:8:581:11 | SSA def(s) |
623+
| test.swift:582:5:582:5 | [post] self | test.swift:581:3:583:3 | self[return] |
624+
| test.swift:582:5:582:5 | self | test.swift:581:3:583:3 | self[return] |
625+
| test.swift:587:7:587:7 | SSA def(s) | test.swift:588:18:588:18 | s |
626+
| test.swift:587:7:587:7 | s | test.swift:587:7:587:7 | SSA def(s) |
627+
| test.swift:587:11:587:24 | call to S.init(x:) | test.swift:587:7:587:7 | s |
628+
| test.swift:588:7:588:7 | SSA def(s2) | test.swift:590:13:590:13 | s2 |
629+
| test.swift:588:7:588:7 | s2 | test.swift:588:7:588:7 | SSA def(s2) |
630+
| test.swift:588:12:588:19 | call to S2.init(s:) | test.swift:588:7:588:7 | s2 |
631+
| test.swift:589:7:589:7 | SSA def(f) | test.swift:590:25:590:25 | f |
632+
| test.swift:589:7:589:7 | f | test.swift:589:7:589:7 | SSA def(f) |
633+
| test.swift:589:11:589:17 | #keyPath(...) | test.swift:589:7:589:7 | f |
634+
| test.swift:589:11:589:17 | #keyPath(...) | test.swift:589:7:589:7 | f |

swift/ql/test/library-tests/dataflow/dataflow/test.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,3 +560,32 @@ func inoutConstructor() {
560560
var n = 0
561561
sink(arg: InoutConstructorClass(&n))
562562
}
563+
564+
struct S {
565+
let x: Int
566+
567+
init(x: Int) {
568+
self.x = x
569+
}
570+
}
571+
572+
func testKeyPath() {
573+
let s = S(x: source())
574+
let f = \S.x
575+
sink(arg: s[keyPath: f]) // $ MISSING: flow=573
576+
}
577+
578+
struct S2 {
579+
let s: S
580+
581+
init(s: S) {
582+
self.s = s
583+
}
584+
}
585+
586+
func testNestedKeyPath() {
587+
let s = S(x: source())
588+
let s2 = S2(s: s)
589+
let f = \S2.s.x
590+
sink(arg: s2[keyPath: f]) // $ MISSING: flow=587
591+
}

0 commit comments

Comments
 (0)